Commit 604527dc authored by Andrew Heather's avatar Andrew Heather
Browse files

Merge branch 'molecularDynamics' of...

Merge branch 'molecularDynamics' of ssh://noisy/home/noisy2/OpenFOAM/OpenFOAM-dev into molecularDynamics
parents ebcfba84 d3cf5a5f
......@@ -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;
}
// }
}
......
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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
(
);
// ************************************************************************* //
/*--------------------------------*- 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;
}
)
// ************************************************************************* //
This diff is collapsed.
This diff is collapsed.
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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;
// ************************************************************************* //
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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;
}
// ************************************************************************* //
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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;
}
// ************************************************************************* //
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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;
// ************************************************************************* //
\ No newline at end of file
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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);
}
// ************************************************************************* //
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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;