From e478718282921894289b83df5a549cf21280ea1a Mon Sep 17 00:00:00 2001 From: graham Date: Mon, 6 Jul 2009 15:49:48 +0100 Subject: [PATCH 1/2] Modification to MD tuts. --- .../molecularDynamics/mdEquilibrationFoam/Allrun | 10 +++++----- .../periodicCubeArgon/system/mdEquilibrationDict | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/Allrun b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/Allrun index 0d8c6de9d1..59649516d9 100755 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/Allrun +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/Allrun @@ -5,11 +5,11 @@ application="mdEquilibrationFoam" -# cd periodicCubeArgon -# runApplication blockMesh -# runApplication mdInitialise -# runApplication $application -# cd .. +cd periodicCubeArgon + runApplication blockMesh + runApplication mdInitialise + runApplication $application +cd .. cd periodicCubeWater runApplication blockMesh diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict index e044b83785..bbdbb899ec 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/system/mdEquilibrationDict @@ -14,6 +14,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -equilibrationTargetTemperature 300.0; +targetTemperature 300.0; + +// ************************************************************************* // -// ************************************************************************* // \ No newline at end of file From 9fb1dac1cc4a482895320267d19b6a39538a5cd5 Mon Sep 17 00:00:00 2001 From: graham Date: Tue, 7 Jul 2009 10:50:37 +0100 Subject: [PATCH 2/2] Adding check for density < VSMALL to avoid FPE. Modifying nanoNozzle tutorial to shorten the run and increase the density. --- .../molecule/moleculeCloud/moleculeCloud.C | 27 ++++++++++++++++--- .../mdFoam/nanoNozzle/system/controlDict | 2 +- .../mdFoam/nanoNozzle/system/mdInitialiseDict | 6 ++--- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C index b747373e3a..113fb82942 100644 --- a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C +++ b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C @@ -507,7 +507,7 @@ void Foam::moleculeCloud::initialiseMolecules else { const dictionary& zoneDict = - mdInitialiseDict.subDict(zone.name()); + mdInitialiseDict.subDict(zone.name()); const scalar temperature ( @@ -530,7 +530,7 @@ void Foam::moleculeCloud::initialiseMolecules { FatalErrorIn("Foam::moleculeCloud::initialiseMolecules") << "latticeIds and latticePositions must be the same " - << " size." << nl + << " size." << nl << abort(FatalError); } @@ -548,6 +548,15 @@ void Foam::moleculeCloud::initialiseMolecules zoneDict.lookup("numberDensity") ); + if (numberDensity < VSMALL) + { + WarningIn("moleculeCloud::initialiseMolecules") + << "numberDensity too small, not filling zone " + << zone.name() << endl; + + continue; + } + latticeCellScale = pow ( latticeIds.size()/(det(latticeCellShape)*numberDensity), @@ -572,9 +581,19 @@ void Foam::moleculeCloud::initialiseMolecules zoneDict.lookup("massDensity") ); + if (massDensity < VSMALL) + { + WarningIn("moleculeCloud::initialiseMolecules") + << "massDensity too small, not filling zone " + << zone.name() << endl; + + continue; + } + + latticeCellScale = pow ( - unitCellMass /(det(latticeCellShape)*massDensity), + unitCellMass/(det(latticeCellShape)*massDensity), (1.0/3.0) ); } @@ -906,7 +925,7 @@ void Foam::moleculeCloud::initialiseMolecules ) { WarningIn("Foam::moleculeCloud::initialiseMolecules()") - << "A whole layer of unit cells was placed " + << "A whole layer of unit cells was placed " << "outside the bounds of the mesh, but no " << "molecules have been placed in zone '" << zone.name() diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict index 8a3ba00616..51a42ecc0e 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/controlDict @@ -20,7 +20,7 @@ startTime 0; stopAt endTime; -endTime 1e-10; +endTime 5e-12; deltaT 1e-15; diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict index ac85160f5c..0d91d5a08b 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/system/mdInitialiseDict @@ -27,7 +27,7 @@ FoamFile sectionA { - massDensity 980; + massDensity 1004; temperature 298; bulkVelocity (0.0 0.0 0.0); latticeIds @@ -46,7 +46,7 @@ sectionA sectionB { - massDensity 980; + massDensity 1004; temperature 298; bulkVelocity (0.0 0.0 0.0); latticeIds @@ -65,7 +65,7 @@ sectionB sectionC { - massDensity 980; + massDensity 1004; temperature 298; bulkVelocity (0.0 0.0 0.0); latticeIds