Adding check for density < VSMALL to avoid FPE.

Modifying nanoNozzle tutorial to shorten the run and increase the density.
This commit is contained in:
graham
2009-07-07 10:50:37 +01:00
parent e478718282
commit 9fb1dac1cc
3 changed files with 27 additions and 8 deletions

View File

@ -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()