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