mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
changed timestep control in molecule::move to tEnd > (SMALL*SMALL)) to allow for short timesteps (1e-14) for MD. Problem only occuring in parallel. Added tutorials for gnemdFoam: constrictedChannel and nanoNozzle
removed constantidList from constrictedChannel removed idList from constrictedChannel
This commit is contained in:
@ -54,7 +54,7 @@ bool molecule::move(molecule::trackData& td)
|
||||
U_ += 0.5*deltaT*A_;
|
||||
}
|
||||
|
||||
while (td.keepParticle && !td.switchProcessor && tEnd > SMALL)
|
||||
while (td.keepParticle && !td.switchProcessor && tEnd > (SMALL*SMALL))
|
||||
{
|
||||
// set the lagrangian time-step
|
||||
scalar dt = min(dtMax, tEnd);
|
||||
@ -178,6 +178,7 @@ void molecule::hitWallPatch
|
||||
{
|
||||
U_ -= 2*Un*nw;
|
||||
}
|
||||
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
172
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/blockMeshDict
Executable file
172
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/blockMeshDict
Executable file
@ -0,0 +1,172 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 0.25e-9;
|
||||
|
||||
vertices
|
||||
(
|
||||
(0 0 0) //0
|
||||
(15 0 0)
|
||||
(15 3 0)
|
||||
(0 3 0)
|
||||
(0 0 12)
|
||||
(15 0 12)
|
||||
(15 3 12)
|
||||
(0 3 12) //7
|
||||
(22 0 0)
|
||||
(22 3 0)
|
||||
(22 0 12)
|
||||
(22 3 12) //11
|
||||
(31 0 0)
|
||||
(31 3 0)
|
||||
(31 0 12)
|
||||
(31 3 12) //15
|
||||
(20 9 0)
|
||||
(17 9 0)
|
||||
(20 9 12)
|
||||
(17 9 12) //19
|
||||
(0 9 0)
|
||||
(0 9 12) //21
|
||||
(31 9 0)
|
||||
(31 9 12) //23
|
||||
(17 18 0)
|
||||
(0 18 0)
|
||||
(17 18 12)
|
||||
(0 18 12) //27
|
||||
(31 18 0)
|
||||
(20 18 0)
|
||||
(31 18 12)
|
||||
(20 18 12) //31
|
||||
(17 21 0)
|
||||
(0 21 0)
|
||||
(17 21 12)
|
||||
(0 21 12) //35
|
||||
(31 21 0)
|
||||
(20 21 0)
|
||||
(31 21 12)
|
||||
(20 21 12) //39
|
||||
(17 25 0)
|
||||
(0 25 0)
|
||||
(17 25 12)
|
||||
(0 25 12) // 43
|
||||
(31 25 0)
|
||||
(20 25 0)
|
||||
(31 25 12)
|
||||
(20 25 12) // 47
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) bottomWall (15 3 6) simpleGrading (1 1 1) //1
|
||||
hex (1 8 9 2 5 10 11 6) bottomWall (3 3 6) simpleGrading (1 1 1) //2
|
||||
hex (2 9 16 17 6 11 18 19) bottomWall (3 6 6) simpleGrading (1 1 1) //3
|
||||
hex (8 12 13 9 10 14 15 11) bottomWall (9 3 6) simpleGrading (1 1 1) //4
|
||||
hex (3 2 17 20 7 6 19 21) liquid (15 6 6) simpleGrading (1 1 1) //5
|
||||
hex (20 17 24 25 21 19 26 27) liquid (15 9 6) simpleGrading (1 1 1) //6
|
||||
hex (25 24 32 33 27 26 34 35) liquid (15 3 6) simpleGrading (1 1 1) //6A
|
||||
hex (17 16 29 24 19 18 31 26) liquid (3 9 6) simpleGrading (1 1 1) //7
|
||||
hex (16 22 28 29 18 23 30 31) liquid (9 9 6) simpleGrading (1 1 1) //8
|
||||
hex (29 28 36 37 31 30 38 39) liquid (9 3 6) simpleGrading (1 1 1) //8A
|
||||
hex (9 13 22 16 11 15 23 18) liquid (9 6 6) simpleGrading (1 1 1) //9
|
||||
hex (33 32 40 41 35 34 42 43) topWall (15 3 6) simpleGrading (1 1 1) //10
|
||||
hex (32 37 45 40 34 39 47 42) topWall (3 3 6) simpleGrading (1 1 1) //11
|
||||
hex (24 29 37 32 26 31 39 34) topWall (3 3 6) simpleGrading (1 1 1) //12
|
||||
hex (37 36 44 45 39 38 46 47) topWall (9 3 6) simpleGrading (1 1 1) //13
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
cyclic
|
||||
periodicX
|
||||
(
|
||||
(0 4 7 3)
|
||||
(3 7 21 20)
|
||||
(20 21 27 25)
|
||||
(25 27 35 33)
|
||||
(33 35 43 41)
|
||||
(12 13 15 14)
|
||||
(13 22 23 15)
|
||||
(22 28 30 23)
|
||||
(28 36 38 30)
|
||||
(36 44 46 38)
|
||||
)
|
||||
|
||||
cyclic
|
||||
periodicZ
|
||||
(
|
||||
(0 3 2 1)
|
||||
(1 2 9 8)
|
||||
(8 9 13 12)
|
||||
(2 17 16 9)
|
||||
(2 3 20 17)
|
||||
(9 16 22 13)
|
||||
(17 20 25 24)
|
||||
(16 29 28 22)
|
||||
(16 17 24 29)
|
||||
(24 25 33 32)
|
||||
(28 29 37 36)
|
||||
(32 33 41 40)
|
||||
(36 37 45 44)
|
||||
(32 40 45 37)
|
||||
(24 32 37 29)
|
||||
(4 5 6 7)
|
||||
(5 10 11 6)
|
||||
(10 14 15 11)
|
||||
(6 11 18 19)
|
||||
(7 6 19 21)
|
||||
(11 15 23 18)
|
||||
(19 26 27 21)
|
||||
(18 23 30 31)
|
||||
(18 31 26 19)
|
||||
(26 34 35 27)
|
||||
(30 38 39 31)
|
||||
(34 42 43 35)
|
||||
(38 46 47 39)
|
||||
(34 39 47 42)
|
||||
(26 31 39 34)
|
||||
)
|
||||
|
||||
wall
|
||||
outerBoundaryBottom
|
||||
(
|
||||
(0 1 5 4)
|
||||
(1 8 10 5)
|
||||
(8 12 14 10)
|
||||
)
|
||||
|
||||
wall
|
||||
outerBoundaryTop
|
||||
(
|
||||
(40 41 43 42)
|
||||
(44 45 47 46)
|
||||
(40 42 47 45)
|
||||
)
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,48 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class polyBoundaryMesh;
|
||||
location "constant/polyMesh";
|
||||
object boundary;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
4
|
||||
(
|
||||
periodicX
|
||||
{
|
||||
type cyclic;
|
||||
nFaces 288;
|
||||
startFace 10710;
|
||||
featureCos 0.9;
|
||||
}
|
||||
periodicZ
|
||||
{
|
||||
type cyclic;
|
||||
nFaces 1296;
|
||||
startFace 10998;
|
||||
featureCos 0.9;
|
||||
}
|
||||
outerBoundaryBottom
|
||||
{
|
||||
type wall;
|
||||
nFaces 162;
|
||||
startFace 12294;
|
||||
}
|
||||
outerBoundaryTop
|
||||
{
|
||||
type wall;
|
||||
nFaces 162;
|
||||
startFace 12456;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
3939
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/cellZones
Normal file
3939
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/cellZones
Normal file
File diff suppressed because it is too large
Load Diff
12642
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/faces
Normal file
12642
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/faces
Normal file
File diff suppressed because it is too large
Load Diff
10735
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/neighbour
Normal file
10735
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/neighbour
Normal file
File diff suppressed because it is too large
Load Diff
12643
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/owner
Normal file
12643
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/owner
Normal file
File diff suppressed because it is too large
Load Diff
4924
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/points
Normal file
4924
tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/points
Normal file
File diff suppressed because it is too large
Load Diff
55
tutorials/gnemdFoam/constrictedChannel/system/controlDict
Executable file
55
tutorials/gnemdFoam/constrictedChannel/system/controlDict
Executable file
@ -0,0 +1,55 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 8e-11;
|
||||
|
||||
deltaT 1e-14;
|
||||
|
||||
writeControl runTime;
|
||||
|
||||
writeInterval 2e-12;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 12;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
// ************************************************************************* //
|
||||
67
tutorials/gnemdFoam/constrictedChannel/system/fvSchemes
Executable file
67
tutorials/gnemdFoam/constrictedChannel/system/fvSchemes
Executable file
@ -0,0 +1,67 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
grad(p) Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,U) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default none;
|
||||
laplacian(nu,U) Gauss linear corrected;
|
||||
laplacian(1|A(U),p) Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
interpolate(HbyA) linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
40
tutorials/gnemdFoam/constrictedChannel/system/fvSolution
Executable file
40
tutorials/gnemdFoam/constrictedChannel/system/fvSolution
Executable file
@ -0,0 +1,40 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p ICCG 1e-06 0;
|
||||
U BICCG 1e-05 0;
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
29
tutorials/gnemdFoam/constrictedChannel/system/mdSolution
Executable file
29
tutorials/gnemdFoam/constrictedChannel/system/mdSolution
Executable file
@ -0,0 +1,29 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object mdSolution;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
integrationMethod verletLeapfrog;
|
||||
|
||||
potentialEnergyLimit 5.256e-20;
|
||||
|
||||
// ************************************************************************* //
|
||||
74
tutorials/gnemdFoam/constrictedChannel/system/molConfigDict
Executable file
74
tutorials/gnemdFoam/constrictedChannel/system/molConfigDict
Executable file
@ -0,0 +1,74 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object molConfigDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Subdictionaries specifying the contents of zones
|
||||
|
||||
// Euler angles, expressed in degrees as phi, theta, psi, see http://mathworld.wolfram.com/EulerAngles.html
|
||||
|
||||
bottomWall
|
||||
{
|
||||
massDensity 1220.0;
|
||||
temperature 300.0;
|
||||
velocityDistribution maxwellian;
|
||||
bulkVelocity (0.0 0.0 0.0);
|
||||
id Ar;
|
||||
mass 6.63352033e-26;
|
||||
latticeStructure FCC;
|
||||
anchor (1.05e-9 3.18e-9 2.87e-9);
|
||||
anchorSpecifies molecule;
|
||||
tethered yes;
|
||||
orientationAngles (30 0 0);
|
||||
}
|
||||
|
||||
liquid
|
||||
{
|
||||
massDensity 1100.0;
|
||||
temperature 250.0;
|
||||
velocityDistribution maxwellian;
|
||||
bulkVelocity (245.0 0.0 0.0);
|
||||
id Ne;
|
||||
mass 3.350996347e-26;
|
||||
latticeStructure SC;
|
||||
anchor (1.05e-9 3.18e-9 2.87e-9);
|
||||
anchorSpecifies molecule;
|
||||
tethered no;
|
||||
orientationAngles (45 0 0);
|
||||
}
|
||||
|
||||
topWall
|
||||
{
|
||||
massDensity 1220.0;
|
||||
temperature 200.0;
|
||||
velocityDistribution maxwellian;
|
||||
bulkVelocity (0.0 0.0 0.0);
|
||||
id Ar;
|
||||
mass 6.63352033e-26;
|
||||
latticeStructure BCC;
|
||||
anchor (1.05e-9 3.18e-9 2.87e-9);
|
||||
anchorSpecifies corner;
|
||||
tethered yes;
|
||||
orientationAngles (0 0 0);
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
148
tutorials/gnemdFoam/constrictedChannel/system/potentialDict
Executable file
148
tutorials/gnemdFoam/constrictedChannel/system/potentialDict
Executable file
@ -0,0 +1,148 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object potentials;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Subdictionaries specifying types of intermolecular potential.
|
||||
// Sub-sub dictionaries specify the potentials themselves.
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Removal order
|
||||
|
||||
// This is the order in which to remove overlapping pairs if more than one
|
||||
// type of molecule is present. The most valuable molecule type is at the
|
||||
// right hand end, the molecule that will be removed 1st is 1st on the list.
|
||||
// Not all types need to be present, a molecule that is not present is
|
||||
// automatically less valuable than any on the list. For molecules of the
|
||||
// same type there is no control over which is removed.
|
||||
|
||||
removalOrder 1 (Ar);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Pair potentials
|
||||
|
||||
// If there are r different type of molecules, and a pair force is required
|
||||
// between all combinations, then there are C = r(r+1)/2 combinations,
|
||||
// i.e. for r = {1,2,3,4}, C = {1,3,6,10} (sum of triangular numbers).
|
||||
|
||||
// Pair potentials are specified by the combinaition of their ids,
|
||||
// for MOLA and MOLB, "MOLA-MOLB" OR "MOLB-MOLA" is acceptable
|
||||
// (strictly OR, both or neither will thrown an error)
|
||||
|
||||
pair
|
||||
{
|
||||
Ar-Ar
|
||||
{
|
||||
pairPotential maitlandSmith;
|
||||
rCut 1.0e-9;
|
||||
rMin 0.15e-9;
|
||||
dr 5e-14;
|
||||
maitlandSmithCoeffs
|
||||
{
|
||||
m 13.0;
|
||||
gamma 7.5;
|
||||
rm 0.3756e-9;
|
||||
epsilon 1.990108438e-21;
|
||||
}
|
||||
energyScalingFunction doubleSigmoid;
|
||||
doubleSigmoidCoeffs
|
||||
{
|
||||
shift1 0.9e-9;
|
||||
scale1 0.3e11;
|
||||
shift2 0.97e-9;
|
||||
scale2 1.2e11;
|
||||
}
|
||||
writeTables yes;
|
||||
}
|
||||
|
||||
Ar-Ne
|
||||
{
|
||||
pairPotential maitlandSmith;
|
||||
rCut 0.9e-9;
|
||||
rMin 0.1e-9;
|
||||
dr 5e-14;
|
||||
maitlandSmithCoeffs
|
||||
{
|
||||
m 13.0;
|
||||
gamma 4;
|
||||
rm 0.348e-9;
|
||||
epsilon 8.765026657e-22;
|
||||
}
|
||||
energyScalingFunction shiftedForce;
|
||||
writeTables yes;
|
||||
}
|
||||
|
||||
Ne-Ne
|
||||
{
|
||||
pairPotential maitlandSmith;
|
||||
rCut 0.8e-9;
|
||||
rMin 0.1e-9;
|
||||
dr 5e-14;
|
||||
maitlandSmithCoeffs
|
||||
{
|
||||
m 13.0;
|
||||
gamma 5;
|
||||
rm 0.30739e-9;
|
||||
epsilon 5.813260729e-22;
|
||||
}
|
||||
energyScalingFunction shiftedForce;
|
||||
writeTables yes;
|
||||
}
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Tethering Potentials
|
||||
|
||||
tether
|
||||
{
|
||||
Ar
|
||||
{
|
||||
tetherPotential restrainedHarmonicSpring;
|
||||
restrainedHarmonicSpringCoeffs
|
||||
{
|
||||
springConstant 0.0277;
|
||||
rR 1.2e-9;
|
||||
}
|
||||
}
|
||||
|
||||
Ne
|
||||
{
|
||||
tetherPotential harmonicSpring;
|
||||
harmonicSpringCoeffs
|
||||
{
|
||||
springConstant 0.0277;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// External Forces
|
||||
|
||||
// Bulk external forces (namely gravity) will be specified as forces rather
|
||||
// than potentials to allow their direction to be controlled.
|
||||
|
||||
external
|
||||
{
|
||||
gravity (0 0 0);
|
||||
}
|
||||
155
tutorials/gnemdFoam/nanoNozzle/constant/polyMesh/blockMeshDict
Executable file
155
tutorials/gnemdFoam/nanoNozzle/constant/polyMesh/blockMeshDict
Executable file
@ -0,0 +1,155 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 3e-9;
|
||||
|
||||
vertices
|
||||
(
|
||||
(0 0 0)
|
||||
(3.5 0 0)
|
||||
(3.5 3 0)
|
||||
(0 3 0)
|
||||
(0 0 3)
|
||||
(3.5 0 3)
|
||||
(3.5 3 3)
|
||||
(0 3 3)
|
||||
(7.5 1 0.5)
|
||||
(7.5 2 0.5)
|
||||
(7.5 1 2.5)
|
||||
(7.5 2 2.5)
|
||||
(10 1 0.5)
|
||||
(10 2 0.5)
|
||||
(10 1 2.5)
|
||||
(10 2 2.5)
|
||||
(11.5 0.5 -0.5)
|
||||
(11.5 2.5 -0.5)
|
||||
(11.5 0.5 3.5)
|
||||
(11.5 2.5 3.5)
|
||||
(16 0.5 -0.5)
|
||||
(16 2.5 -0.5)
|
||||
(16 0.5 3.5)
|
||||
(16 2.5 3.5)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) sectionA (16 15 15) simpleGrading (1 1 1)
|
||||
hex (1 8 9 2 5 10 11 6) sectionA (16 15 15) simpleGrading (0.4 1 1)
|
||||
hex (8 12 13 9 10 14 15 11) sectionB (16 15 15) simpleGrading (1 1 1)
|
||||
hex (12 16 17 13 14 18 19 15) sectionC (11 15 15) simpleGrading (2.8 1 1)
|
||||
hex (16 20 21 17 18 22 23 19) sectionC (16 15 15) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
simpleSpline 12 16
|
||||
(
|
||||
(10.375 0.875 0.4)
|
||||
(10.75 0.75 0)
|
||||
(11.125 0.625 -0.4)
|
||||
)
|
||||
|
||||
simpleSpline 14 18
|
||||
(
|
||||
(10.375 0.875 2.6)
|
||||
(10.75 0.75 3)
|
||||
(11.125 0.625 3.4)
|
||||
)
|
||||
|
||||
simpleSpline 15 19
|
||||
(
|
||||
(10.375 2.125 2.6)
|
||||
(10.75 2.25 3)
|
||||
(11.125 2.375 3.4)
|
||||
)
|
||||
|
||||
simpleSpline 13 17
|
||||
(
|
||||
(10.375 2.125 0.4)
|
||||
(10.75 2.25 0)
|
||||
(11.125 2.375 -0.4)
|
||||
)
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
patch
|
||||
sectionAEnd
|
||||
(
|
||||
(0 4 7 3)
|
||||
)
|
||||
|
||||
patch
|
||||
sectionCEnd
|
||||
(
|
||||
(20 21 23 22)
|
||||
)
|
||||
|
||||
wall
|
||||
front
|
||||
(
|
||||
(0 1 5 4)
|
||||
(1 8 10 5)
|
||||
(8 12 14 10)
|
||||
(12 16 18 14)
|
||||
(16 20 22 18)
|
||||
)
|
||||
|
||||
wall
|
||||
back
|
||||
(
|
||||
(2 3 7 6)
|
||||
(2 6 11 9)
|
||||
(9 11 15 13)
|
||||
(13 15 19 17)
|
||||
(17 19 23 21)
|
||||
)
|
||||
|
||||
wall
|
||||
top
|
||||
(
|
||||
(4 5 6 7)
|
||||
(5 10 11 6)
|
||||
(10 14 15 11)
|
||||
(14 18 19 15)
|
||||
(18 22 23 19)
|
||||
)
|
||||
|
||||
wall
|
||||
bottom
|
||||
(
|
||||
(0 3 2 1)
|
||||
(1 2 9 8)
|
||||
(8 9 13 12)
|
||||
(12 13 17 16)
|
||||
(16 17 21 20)
|
||||
)
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
55
tutorials/gnemdFoam/nanoNozzle/system/controlDict
Executable file
55
tutorials/gnemdFoam/nanoNozzle/system/controlDict
Executable file
@ -0,0 +1,55 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 3e-11;
|
||||
|
||||
deltaT 1e-14;
|
||||
|
||||
writeControl runTime;
|
||||
|
||||
writeInterval 1e-12;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 12;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
// ************************************************************************* //
|
||||
10
tutorials/mdEquilibrationFoam/periodicCube/system/decomposeParDict → tutorials/gnemdFoam/nanoNozzle/system/decomposeParDict
Normal file → Executable file
10
tutorials/mdEquilibrationFoam/periodicCube/system/decomposeParDict → tutorials/gnemdFoam/nanoNozzle/system/decomposeParDict
Normal file → Executable file
@ -23,13 +23,13 @@ FoamFile
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
numberOfSubdomains 2;
|
||||
numberOfSubdomains 4;
|
||||
|
||||
method simple;
|
||||
method metis;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n (2 1 1);
|
||||
n (4 1 1);
|
||||
delta 0.001;
|
||||
}
|
||||
|
||||
@ -47,11 +47,7 @@ metisCoeffs
|
||||
1
|
||||
1
|
||||
1
|
||||
4
|
||||
1
|
||||
5
|
||||
1
|
||||
2
|
||||
);
|
||||
}
|
||||
|
||||
67
tutorials/gnemdFoam/nanoNozzle/system/fvSchemes
Executable file
67
tutorials/gnemdFoam/nanoNozzle/system/fvSchemes
Executable file
@ -0,0 +1,67 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
grad(p) Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,U) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default none;
|
||||
laplacian(nu,U) Gauss linear corrected;
|
||||
laplacian(1|A(U),p) Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
interpolate(HbyA) linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
40
tutorials/gnemdFoam/nanoNozzle/system/fvSolution
Executable file
40
tutorials/gnemdFoam/nanoNozzle/system/fvSolution
Executable file
@ -0,0 +1,40 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p ICCG 1e-06 0;
|
||||
U BICCG 1e-05 0;
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 2;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
29
tutorials/gnemdFoam/nanoNozzle/system/mdSolution
Executable file
29
tutorials/gnemdFoam/nanoNozzle/system/mdSolution
Executable file
@ -0,0 +1,29 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object mdSolution;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
integrationMethod verletLeapfrog;
|
||||
|
||||
potentialEnergyLimit 5.256e-20;
|
||||
|
||||
// ************************************************************************* //
|
||||
75
tutorials/gnemdFoam/nanoNozzle/system/molConfigDict
Executable file
75
tutorials/gnemdFoam/nanoNozzle/system/molConfigDict
Executable file
@ -0,0 +1,75 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object molConfigDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Subdictionaries specifying the contents of zones - for the moment have a single species in each block - move to mixed
|
||||
|
||||
// Euler angles, expressed in degrees as phi, theta, psi, see http://mathworld.wolfram.com/EulerAngles.html
|
||||
|
||||
sectionA
|
||||
{
|
||||
massDensity 1220.0;
|
||||
temperature 300.0;
|
||||
velocityDistribution maxwellian;
|
||||
bulkVelocity (-250.0 0.0 0.0);
|
||||
id Ar;
|
||||
mass 6.63352033e-26;
|
||||
latticeStructure SC;
|
||||
anchor (0.0 0.0 0.0);
|
||||
anchorSpecifies molecule;
|
||||
tethered no;
|
||||
orientationAngles (0 0 0);
|
||||
}
|
||||
|
||||
sectionB
|
||||
{
|
||||
massDensity 1220.0;
|
||||
temperature 300.0;
|
||||
velocityDistribution maxwellian;
|
||||
bulkVelocity (-250.0 0.0 0.0);
|
||||
id Ne;
|
||||
mass 3.350917e-26;
|
||||
latticeStructure SC;
|
||||
anchor (0.0 0.0 0.0);
|
||||
anchorSpecifies molecule;
|
||||
tethered no;
|
||||
orientationAngles (0 0 0);
|
||||
}
|
||||
|
||||
sectionC
|
||||
{
|
||||
massDensity 1220.0;
|
||||
temperature 300.0;
|
||||
velocityDistribution maxwellian;
|
||||
bulkVelocity (-250.0 0.0 0.0);
|
||||
id Ar;
|
||||
mass 6.63352033e-26;
|
||||
latticeStructure SC;
|
||||
anchor (0.0 0.0 0.0);
|
||||
anchorSpecifies molecule;
|
||||
tethered no;
|
||||
orientationAngles (0 0 0);
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
113
tutorials/gnemdFoam/nanoNozzle/system/potentialDict
Normal file
113
tutorials/gnemdFoam/nanoNozzle/system/potentialDict
Normal file
@ -0,0 +1,113 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.3 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object potentials;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Subdictionaries specifying types of intermolecular potential.
|
||||
// Sub-sub dictionaries specify the potentials themselves.
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Removal order
|
||||
|
||||
// This is the order in which to remove overlapping pairs if more than one
|
||||
// type of molecule is present. The most valuable molecule type is at the
|
||||
// right hand end, the molecule that will be removed 1st is 1st on the list.
|
||||
// Not all types need to be present, a molecule that is not present is
|
||||
// automatically less valuable than any on the list. For molecules of the
|
||||
// same type there is no control over which is removed.
|
||||
|
||||
removalOrder 1 (Ar);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Pair potentials
|
||||
|
||||
// If there are r different type of molecules, and a pair force is required
|
||||
// between all combinations, then there are C = r(r+1)/2 combinations,
|
||||
// i.e. for r = {1,2,3,4}, C = {1,3,6,10} (sum of triangular numbers).
|
||||
|
||||
// Pair potentials are specified by the combinaition of their ids,
|
||||
// for MOLA and MOLB, "MOLA-MOLB" OR "MOLB-MOLA" is acceptable
|
||||
// (strictly OR, both or neither will thrown an error)
|
||||
|
||||
pair
|
||||
{
|
||||
Ar-Ar
|
||||
{
|
||||
pairPotential maitlandSmith;
|
||||
rCut 1.0e-9;
|
||||
rMin 0.15e-9;
|
||||
dr 5e-14;
|
||||
maitlandSmithCoeffs
|
||||
{
|
||||
m 13.0;
|
||||
gamma 7.5;
|
||||
rm 0.3756e-9;
|
||||
epsilon 1.990108438e-21;
|
||||
}
|
||||
energyScalingFunction doubleSigmoid;
|
||||
doubleSigmoidCoeffs
|
||||
{
|
||||
shift1 0.9e-9;
|
||||
scale1 0.3e11;
|
||||
shift2 0.97e-9;
|
||||
scale2 1.2e11;
|
||||
}
|
||||
writeTables yes;
|
||||
}
|
||||
|
||||
Ar-Ne
|
||||
{
|
||||
pairPotential maitlandSmith;
|
||||
rCut 0.9e-9;
|
||||
rMin 0.1e-9;
|
||||
dr 5e-14;
|
||||
maitlandSmithCoeffs
|
||||
{
|
||||
m 13.0;
|
||||
gamma 4;
|
||||
rm 0.348e-9;
|
||||
epsilon 8.765026657e-22;
|
||||
}
|
||||
energyScalingFunction shiftedForce;
|
||||
writeTables yes;
|
||||
}
|
||||
|
||||
Ne-Ne
|
||||
{
|
||||
pairPotential maitlandSmith;
|
||||
rCut 0.8e-9;
|
||||
rMin 0.1e-9;
|
||||
dr 5e-14;
|
||||
maitlandSmithCoeffs
|
||||
{
|
||||
m 13.0;
|
||||
gamma 5;
|
||||
rm 0.30739e-9;
|
||||
epsilon 5.813260729e-22;
|
||||
}
|
||||
energyScalingFunction shiftedForce;
|
||||
writeTables yes;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
currDir=`pwd`
|
||||
application=`basename $currDir`
|
||||
cases="periodicCube"
|
||||
|
||||
tutorialPath=`dirname $0`/..
|
||||
. $tutorialPath/CleanFunctions
|
||||
|
||||
for case in $cases
|
||||
do
|
||||
cleanCase $case
|
||||
done
|
||||
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
currDir=`pwd`
|
||||
application=`basename $currDir`
|
||||
cases="periodicCube"
|
||||
|
||||
tutorialPath=`dirname $0`/..
|
||||
. $tutorialPath/RunFunctions
|
||||
. $tutorialPath/CleanFunctions
|
||||
|
||||
|
||||
for case in $cases
|
||||
do
|
||||
runApplication blockMesh $case
|
||||
|
||||
runApplication molConfig $case
|
||||
|
||||
runApplication $application $case
|
||||
done
|
||||
@ -34,7 +34,7 @@ deltaT 1e-14;
|
||||
|
||||
writeControl runTime;
|
||||
|
||||
writeInterval 5e-11;
|
||||
writeInterval 5e-12;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user