Add the OpenFOAM source tree

This commit is contained in:
Henry
2014-12-10 22:40:10 +00:00
parent ee487c860d
commit 446e5777f0
13379 changed files with 3983377 additions and 0 deletions

View File

@ -0,0 +1,30 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
(
cd periodicCubeArgon || exit
rm -rf 0/lagrangian 0/uniform
rm -f Ar-Ar
rm -f electrostatic
rm -f constant/idList
rm -rf constant/polyMesh/sets
cleanCase
)
(
cd periodicCubeWater || exit
rm -rf 0/lagrangian 0/uniform
rm -f O-O
rm -f electrostatic
rm -f constant/idList
rm -rf constant/polyMesh/sets
cleanCase
)
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,18 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
for caseName in periodicCubeArgon periodicCubeWater
do
(
cd $caseName || exit
runApplication blockMesh
runApplication mdInitialise
runApplication `getApplication`
)
done
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,51 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 1 -1 0 0 0 0 ];
internalField uniform ( 0 0 0 );
boundaryField
{
periodicX_half0
{
type cyclic;
}
periodicY_half0
{
type cyclic;
}
periodicZ_half0
{
type cyclic;
}
periodicY_half1
{
type cyclic;
}
periodicZ_half1
{
type cyclic;
}
periodicX_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,36 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object moleculeProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Ar
{
siteIds (Ar);
pairPotentialSiteIds (Ar);
siteReferencePositions
(
(0 0 0)
);
siteMasses
(
6.63352033e-26
);
siteCharges
(
0
);
}
// ************************************************************************* //

View File

@ -0,0 +1,87 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 2.462491658e-9;
vertices
(
(-1 -1 -1)
(1 -1 -1)
(1 1 -1)
(-1 1 -1)
(-1 -1 1)
(1 -1 1)
(1 1 1)
(-1 1 1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) liquid (12 12 12) simpleGrading (1 1 1)
);
boundary
(
periodicX_half0
{
type cyclic;
faces ((1 2 6 5));
neighbourPatch periodicX_half1;
}
periodicX_half1
{
type cyclic;
faces ((0 4 7 3));
neighbourPatch periodicX_half0;
}
periodicY_half0
{
type cyclic;
faces ((2 3 7 6));
neighbourPatch periodicY_half1;
}
periodicY_half1
{
type cyclic;
faces ((0 1 5 4));
neighbourPatch periodicY_half0;
}
periodicZ_half0
{
type cyclic;
faces ((4 5 6 7));
neighbourPatch periodicZ_half1;
}
periodicZ_half1
{
type cyclic;
faces ((0 3 2 1));
neighbourPatch periodicZ_half0;
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application mdEquilibrationFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 5e-11;
deltaT 1e-14;
writeControl runTime;
writeInterval 5e-12;
purgeWrite 0;
writeFormat ascii;
writePrecision 12;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep no;
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 2;
method simple;
simpleCoeffs
{
n (2 1 1);
delta 0.001;
}
hierarchicalCoeffs
{
n (1 1 1);
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots
(
);
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default none;
}
gradSchemes
{
default none;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
}
interpolationSchemes
{
default none;
}
snGradSchemes
{
default none;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
}
// ************************************************************************* //

View File

@ -0,0 +1,20 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object mdEquilibrationDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
targetTemperature 300.0;
// ************************************************************************* //

View File

@ -0,0 +1,37 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object molConfigDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Euler angles, expressed in degrees as phi, theta, psi, see
// http://mathworld.wolfram.com/EulerAngles.html
liquid
{
massDensity 1220;
temperature 300;
bulkVelocity (0.0 0.0 0.0);
latticeIds (Ar);
tetherSiteIds ();
latticePositions
(
(0 0 0)
);
anchor (0 0 0);
orientationAngles (0 0 0);
latticeCellShape (1 1 1);
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
n| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
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 ( Ar );
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Potential Energy Limit
// Maximum permissible pair energy allowed at startup. Used to remove
// overlapping molecules created during preprocessing.
potentialEnergyLimit 1e-18;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// 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 is 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;
}
electrostatic
{
pairPotential dampedCoulomb;
rCut 1.0e-9;
rMin 0.1e-9;
dr 2e-12;
dampedCoulombCoeffs
{
alpha 2e9;
}
energyScalingFunction shiftedForce;
writeTables yes;
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Tethering Potentials
tether
{
O
{
tetherPotential restrainedHarmonicSpring;
restrainedHarmonicSpringCoeffs
{
springConstant 0.277;
rR 1.2e-9;
}
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// 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);
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 1 -1 0 0 0 0 ];
internalField uniform ( 0 0 0 );
boundaryField
{
periodicX_half0
{
type cyclic;
}
periodicY_half0
{
type cyclic;
}
periodicZ_half0
{
type cyclic;
}
periodicY_half1
{
type cyclic;
}
periodicZ_half1
{
type cyclic;
}
periodicX_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,72 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object moleculeProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
water
{
siteIds (H H O M);
pairPotentialSiteIds (O);
siteReferencePositions
(
(7.56950327263661e-11 5.85882276618295e-11 0)
(-7.56950327263661e-11 5.85882276618295e-11 0)
(0 0 0)
(0 1.5e-11 0)
);
siteMasses
(
1.67353255e-27
1.67353255e-27
2.6560176e-26
0
);
siteCharges
(
8.3313177324e-20
8.3313177324e-20
0
-1.66626354648e-19
);
}
water2
{
siteIds (H2 H2 O M2);
pairPotentialSiteIds (O);
siteReferencePositions
(
(7.56950327263661e-11 5.85882276618295e-11 0)
(-7.56950327263661e-11 5.85882276618295e-11 0)
(0 0 0)
(0 1.5e-11 0)
);
siteMasses
(
1.67353255e-27
1.67353255e-27
2.6560176e-26
0
);
siteCharges
(
8.3313177324e-20
8.3313177324e-20
0
-1.66626354648e-19
);
}
// ************************************************************************* //

View File

@ -0,0 +1,87 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 2.10840e-9;
vertices
(
(-1 -1 -1)
(1 -1 -1)
(1 1 -1)
(-1 1 -1)
(-1 -1 1)
(1 -1 1)
(1 1 1)
(-1 1 1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) liquid (12 12 11) simpleGrading (1 1 1)
);
boundary
(
periodicX_half0
{
type cyclic;
faces ((1 2 6 5));
neighbourPatch periodicX_half1;
}
periodicX_half1
{
type cyclic;
faces ((0 4 7 3));
neighbourPatch periodicX_half0;
}
periodicY_half0
{
type cyclic;
faces ((2 3 7 6));
neighbourPatch periodicY_half1;
}
periodicY_half1
{
type cyclic;
faces ((0 1 5 4));
neighbourPatch periodicY_half0;
}
periodicZ_half0
{
type cyclic;
faces ((4 5 6 7));
neighbourPatch periodicZ_half1;
}
periodicZ_half1
{
type cyclic;
faces ((0 3 2 1));
neighbourPatch periodicZ_half0;
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application mdEquilibrationFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 5e-12;
deltaT 1e-15;
writeControl runTime;
writeInterval 2e-13;
purgeWrite 0;
writeFormat ascii;
writePrecision 12;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep no;
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method simple;
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
hierarchicalCoeffs
{
n (1 1 1);
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots
(
);
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default none;
}
gradSchemes
{
default none;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
}
interpolationSchemes
{
default none;
}
snGradSchemes
{
default none;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
}
// ************************************************************************* //

View File

@ -0,0 +1,19 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object mdEquilibrationDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
targetTemperature 298;
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object molConfigDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Euler angles, expressed in degrees as phi, theta, psi, see
// http://mathworld.wolfram.com/EulerAngles.html
liquid
{
massDensity 980;
temperature 298;
bulkVelocity (0.0 0.0 0.0);
latticeIds
(
water
water2
water
water2
);
tetherSiteIds ();
latticePositions
(
(0 0 0)
(0 0.5 0.5)
(0.5 0 0.5)
(0.5 0.5 0)
);
anchor (0 0 0);
orientationAngles (0 0 0);
latticeCellShape (1 1 1);
}
// ************************************************************************* //

View File

@ -0,0 +1,118 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
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 ( water );
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Potential Energy Limit
// Maximum permissible pair energy allowed at startup. Used to remove
// overlapping molecules created during preprocessing.
potentialEnergyLimit 1e-18;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Pair potentials
// If a pair are not present here it is assumed that they do not interact.
// Electrostatic pair interactions are not listed here - they are handled
// separately.
// 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 throw an error)
pair
{
O-O
{
pairPotential lennardJones;
rCut 1.0e-9;
rMin 0.1e-9;
dr 1e-13;
lennardJonesCoeffs
{
sigma 3.154e-10;
epsilon 1.07690722e-21;
}
energyScalingFunction noScaling;
writeTables yes;
}
electrostatic
{
pairPotential dampedCoulomb;
rCut 1e-9;
rMin 2e-11;
dr 2e-12;
dampedCoulombCoeffs
{
alpha 2e9;
}
energyScalingFunction shiftedForce;
writeTables yes;
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Tethering Potentials
tether
{
O
{
tetherPotential restrainedHarmonicSpring;
restrainedHarmonicSpringCoeffs
{
springConstant 0.277;
rR 1.2e-9;
}
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// 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);
}
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
sectionAEnd
{
type fixedValue;
value uniform (0 0 0);
}
sectionCEnd
{
type fixedValue;
value uniform (0 0 0);
}
front
{
type fixedValue;
value uniform (0 0 0);
}
back
{
type fixedValue;
value uniform (0 0 0);
}
top
{
type fixedValue;
value uniform (0 0 0);
}
bottom
{
type fixedValue;
value uniform (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -rf constant/polyMesh/sets
rm -rf processor[0-9]
cleanCase
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,19 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application=`getApplication`
runApplication blockMesh
runApplication decomposePar
runParallel mdInitialise 4
runParallel $application 4
runApplication reconstructPar
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object moleculeProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
water
{
siteIds (H H O M);
pairPotentialSiteIds (O);
siteReferencePositions
(
(7.56950327263661e-11 5.85882276618295e-11 0)
(-7.56950327263661e-11 5.85882276618295e-11 0)
(0 0 0)
(0 1.5e-11 0)
);
siteMasses
(
1.67353255e-27
1.67353255e-27
2.6560176e-26
0
);
siteCharges
(
8.3313177324e-20
8.3313177324e-20
0
-1.66626354648e-19
);
}
// ************************************************************************* //

View File

@ -0,0 +1,136 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 3.2e-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 (20 16 16) simpleGrading (1 1 1)
hex (1 8 9 2 5 10 11 6) sectionA (20 16 16) simpleGrading (1 1 1)
hex (8 12 13 9 10 14 15 11) sectionB (29 16 16) simpleGrading (1 1 1)
hex (12 16 17 13 14 18 19 15) sectionC (17 16 16) simpleGrading (1 1 1)
hex (16 20 21 17 18 22 23 19) sectionC (20 16 16) simpleGrading (1 1 1)
);
edges
();
boundary
(
sectionAEnd
{
type patch;
faces
(
(0 4 7 3)
);
}
sectionCEnd
{
type wall;
faces
(
(20 21 23 22)
);
}
front
{
type wall;
faces
(
(0 1 5 4)
(1 8 10 5)
(8 12 14 10)
(12 16 18 14)
(16 20 22 18)
);
}
back
{
type wall;
faces
(
(2 3 7 6)
(2 6 11 9)
(9 11 15 13)
(13 15 19 17)
(17 19 23 21)
);
}
top
{
type wall;
faces
(
(4 5 6 7)
(5 10 11 6)
(10 14 15 11)
(14 18 19 15)
(18 22 23 19)
);
}
bottom
{
type wall;
faces
(
(0 3 2 1)
(1 2 9 8)
(8 9 13 12)
(12 13 17 16)
(16 17 21 20)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application mdFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 2e-13;
deltaT 1e-15;
writeControl runTime;
writeInterval 5e-14;
purgeWrite 0;
writeFormat ascii;
writePrecision 12;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep no;
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method scotch;
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
hierarchicalCoeffs
{
n (1 1 1);
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots
(
);
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default none;
}
gradSchemes
{
default none;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
}
interpolationSchemes
{
default none;
}
snGradSchemes
{
default none;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
}
// ************************************************************************* //

View File

@ -0,0 +1,19 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object mdEquilibrationDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
targetTemperature 298;
// ************************************************************************* //

View File

@ -0,0 +1,78 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object molConfigDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Euler angles, expressed in degrees as phi, theta, psi, see
// http://mathworld.wolfram.com/EulerAngles.html
sectionA
{
massDensity 1004;
temperature 298;
bulkVelocity (0.0 0.0 0.0);
latticeIds
(
water
);
tetherSiteIds ();
latticePositions
(
(0 0 0)
);
anchor (0 0 0);
orientationAngles (0 0 0);
latticeCellShape (1 1 1);
}
sectionB
{
massDensity 1004;
temperature 298;
bulkVelocity (0.0 0.0 0.0);
latticeIds
(
water
);
tetherSiteIds ();
latticePositions
(
(0 0 0)
);
anchor (0 0 0);
orientationAngles (0 0 0);
latticeCellShape (1 1 1);
}
sectionC
{
massDensity 1004;
temperature 298;
bulkVelocity (0.0 0.0 0.0);
latticeIds
(
water
);
tetherSiteIds ();
latticePositions
(
(0 0 0)
);
anchor (0 0 0);
orientationAngles (0 0 0);
latticeCellShape (1 1 1);
}
// ************************************************************************* //

View File

@ -0,0 +1,118 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
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 ( water );
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Potential Energy Limit
// Maximum permissible pair energy allowed at startup. Used to remove
// overlapping molecules created during preprocessing.
potentialEnergyLimit 1e-18;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Pair potentials
// If a pair are not present here it is assumed that they do not interact.
// Electrostatic pair interactions are not listed here - they are handled
// separately.
// 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 throw an error)
pair
{
O-O
{
pairPotential lennardJones;
rCut 1.0e-9;
rMin 0.1e-9;
dr 1e-13;
lennardJonesCoeffs
{
sigma 3.154e-10;
epsilon 1.07690722e-21;
}
energyScalingFunction noScaling;
writeTables yes;
}
electrostatic
{
pairPotential dampedCoulomb;
rCut 1e-9;
rMin 2e-11;
dr 2e-12;
dampedCoulombCoeffs
{
alpha 2e9;
}
energyScalingFunction shiftedForce;
writeTables yes;
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Tethering Potentials
tether
{
O
{
tetherPotential restrainedHarmonicSpring;
restrainedHarmonicSpringCoeffs
{
springConstant 0.277;
rR 1.2e-9;
}
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// 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);
}
// ************************************************************************* //