mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Adding check for density < VSMALL to avoid FPE.
Modifying nanoNozzle tutorial to shorten the run and increase the density.
This commit is contained in:
@ -507,7 +507,7 @@ void Foam::moleculeCloud::initialiseMolecules
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const dictionary& zoneDict =
|
const dictionary& zoneDict =
|
||||||
mdInitialiseDict.subDict(zone.name());
|
mdInitialiseDict.subDict(zone.name());
|
||||||
|
|
||||||
const scalar temperature
|
const scalar temperature
|
||||||
(
|
(
|
||||||
@ -530,7 +530,7 @@ void Foam::moleculeCloud::initialiseMolecules
|
|||||||
{
|
{
|
||||||
FatalErrorIn("Foam::moleculeCloud::initialiseMolecules")
|
FatalErrorIn("Foam::moleculeCloud::initialiseMolecules")
|
||||||
<< "latticeIds and latticePositions must be the same "
|
<< "latticeIds and latticePositions must be the same "
|
||||||
<< " size." << nl
|
<< " size." << nl
|
||||||
<< abort(FatalError);
|
<< abort(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -548,6 +548,15 @@ void Foam::moleculeCloud::initialiseMolecules
|
|||||||
zoneDict.lookup("numberDensity")
|
zoneDict.lookup("numberDensity")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (numberDensity < VSMALL)
|
||||||
|
{
|
||||||
|
WarningIn("moleculeCloud::initialiseMolecules")
|
||||||
|
<< "numberDensity too small, not filling zone "
|
||||||
|
<< zone.name() << endl;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
latticeCellScale = pow
|
latticeCellScale = pow
|
||||||
(
|
(
|
||||||
latticeIds.size()/(det(latticeCellShape)*numberDensity),
|
latticeIds.size()/(det(latticeCellShape)*numberDensity),
|
||||||
@ -572,9 +581,19 @@ void Foam::moleculeCloud::initialiseMolecules
|
|||||||
zoneDict.lookup("massDensity")
|
zoneDict.lookup("massDensity")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (massDensity < VSMALL)
|
||||||
|
{
|
||||||
|
WarningIn("moleculeCloud::initialiseMolecules")
|
||||||
|
<< "massDensity too small, not filling zone "
|
||||||
|
<< zone.name() << endl;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
latticeCellScale = pow
|
latticeCellScale = pow
|
||||||
(
|
(
|
||||||
unitCellMass /(det(latticeCellShape)*massDensity),
|
unitCellMass/(det(latticeCellShape)*massDensity),
|
||||||
(1.0/3.0)
|
(1.0/3.0)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -906,7 +925,7 @@ void Foam::moleculeCloud::initialiseMolecules
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
WarningIn("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 "
|
<< "outside the bounds of the mesh, but no "
|
||||||
<< "molecules have been placed in zone '"
|
<< "molecules have been placed in zone '"
|
||||||
<< zone.name()
|
<< zone.name()
|
||||||
|
|||||||
@ -20,7 +20,7 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 1e-10;
|
endTime 5e-12;
|
||||||
|
|
||||||
deltaT 1e-15;
|
deltaT 1e-15;
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ FoamFile
|
|||||||
|
|
||||||
sectionA
|
sectionA
|
||||||
{
|
{
|
||||||
massDensity 980;
|
massDensity 1004;
|
||||||
temperature 298;
|
temperature 298;
|
||||||
bulkVelocity (0.0 0.0 0.0);
|
bulkVelocity (0.0 0.0 0.0);
|
||||||
latticeIds
|
latticeIds
|
||||||
@ -46,7 +46,7 @@ sectionA
|
|||||||
|
|
||||||
sectionB
|
sectionB
|
||||||
{
|
{
|
||||||
massDensity 980;
|
massDensity 1004;
|
||||||
temperature 298;
|
temperature 298;
|
||||||
bulkVelocity (0.0 0.0 0.0);
|
bulkVelocity (0.0 0.0 0.0);
|
||||||
latticeIds
|
latticeIds
|
||||||
@ -65,7 +65,7 @@ sectionB
|
|||||||
|
|
||||||
sectionC
|
sectionC
|
||||||
{
|
{
|
||||||
massDensity 980;
|
massDensity 1004;
|
||||||
temperature 298;
|
temperature 298;
|
||||||
bulkVelocity (0.0 0.0 0.0);
|
bulkVelocity (0.0 0.0 0.0);
|
||||||
latticeIds
|
latticeIds
|
||||||
|
|||||||
Reference in New Issue
Block a user