diff --git a/applications/solvers/molecularDynamics/gnemdFoam/Make/files b/applications/solvers/molecularDynamics/gnemdFoam/Make/files deleted file mode 100755 index b59e704979..0000000000 --- a/applications/solvers/molecularDynamics/gnemdFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -gnemdFoam.C - -EXE = $(FOAM_APPBIN)/gnemdFoam diff --git a/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options b/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options index 89431d0625..14f2ed2f93 100755 --- a/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options +++ b/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options @@ -1,6 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/molecularDynamics/molecule/lnInclude \ -I$(LIB_SRC)/lagrangian/molecularDynamics/potential/lnInclude \ + -I$(LIB_SRC)/lagrangian/molecularDynamics/molecularMeasurements/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude @@ -10,4 +11,6 @@ EXE_LIBS = \ -lfiniteVolume \ -llagrangian \ -lmolecule \ - -lpotential + -lpotential \ + -lmolecularMeasurements + diff --git a/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C b/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C index 5c7df8aea6..8d61f2ebe7 100644 --- a/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C +++ b/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C @@ -23,7 +23,7 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Application - mdEquilibrationFOAM + mdEquilibrationFoam Description Equilibrates and/or preconditions MD systems @@ -40,9 +40,9 @@ int main(int argc, char *argv[]) # include "createTime.H" # include "createMesh.H" - moleculeCloud molecules(mesh); + potential pot(mesh); - molecules.removeHighEnergyOverlaps(); + moleculeCloud molecules(mesh, pot); # include "temperatureAndPressureVariables.H" @@ -60,7 +60,7 @@ int main(int argc, char *argv[]) Info << "Time = " << runTime.timeName() << endl; - molecules.integrateEquationsOfMotion(); + molecules.evolve(); # include "meanMomentumEnergyAndNMols.H" diff --git a/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H b/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H index b205b5ae31..8289d014b0 100644 --- a/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H +++ b/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H @@ -1,4 +1,4 @@ -Info<< "Reading MD Equilibration Dictionary" << nl << endl; +Info<< nl << "Reading MD Equilibration Dictionary" << nl << endl; IOdictionary mdEquilibrationDict ( diff --git a/applications/solvers/molecularDynamics/mdFoam/Make/files b/applications/solvers/molecularDynamics/mdFoam/Make/files new file mode 100755 index 0000000000..6b867ec0a8 --- /dev/null +++ b/applications/solvers/molecularDynamics/mdFoam/Make/files @@ -0,0 +1,3 @@ +mdFoam.C + +EXE = $(FOAM_APPBIN)/mdFoam diff --git a/applications/solvers/molecularDynamics/gnemdFoam/Make/options b/applications/solvers/molecularDynamics/mdFoam/Make/options similarity index 73% rename from applications/solvers/molecularDynamics/gnemdFoam/Make/options rename to applications/solvers/molecularDynamics/mdFoam/Make/options index 89431d0625..14f2ed2f93 100755 --- a/applications/solvers/molecularDynamics/gnemdFoam/Make/options +++ b/applications/solvers/molecularDynamics/mdFoam/Make/options @@ -1,6 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/molecularDynamics/molecule/lnInclude \ -I$(LIB_SRC)/lagrangian/molecularDynamics/potential/lnInclude \ + -I$(LIB_SRC)/lagrangian/molecularDynamics/molecularMeasurements/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude @@ -10,4 +11,6 @@ EXE_LIBS = \ -lfiniteVolume \ -llagrangian \ -lmolecule \ - -lpotential + -lpotential \ + -lmolecularMeasurements + diff --git a/applications/solvers/molecularDynamics/gnemdFoam/gnemdFoam.C b/applications/solvers/molecularDynamics/mdFoam/mdFoam.C similarity index 85% rename from applications/solvers/molecularDynamics/gnemdFoam/gnemdFoam.C rename to applications/solvers/molecularDynamics/mdFoam/mdFoam.C index a48bf589ee..a1c13246e3 100644 --- a/applications/solvers/molecularDynamics/gnemdFoam/gnemdFoam.C +++ b/applications/solvers/molecularDynamics/mdFoam/mdFoam.C @@ -23,10 +23,10 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Application - gnemdFOAM + mdFoam Description - MD for Fluid Mechanics and hybridising with a continuum solver. + molecular dynamics solver for fluid dynamics \*---------------------------------------------------------------------------*/ @@ -40,11 +40,9 @@ int main(int argc, char *argv[]) # include "createTime.H" # include "createMesh.H" - moleculeCloud molecules(mesh); + potential pot(mesh); -# include "createMDFields.H" - - molecules.removeHighEnergyOverlaps(); + moleculeCloud molecules(mesh, pot); # include "temperatureAndPressureVariables.H" @@ -60,20 +58,14 @@ int main(int argc, char *argv[]) Info << "Time = " << runTime.timeName() << endl; - molecules.integrateEquationsOfMotion(); + molecules.evolve(); # include "meanMomentumEnergyAndNMols.H" # include "temperatureAndPressure.H" -# include "calculateMDFields.H" - -# include "averageMDFields.H" - runTime.write(); -# include "resetMDFields.H" - if (runTime.outputTime()) { nAveragingSteps = 0; diff --git a/applications/utilities/preProcessing/mdInitialise/Make/files b/applications/utilities/preProcessing/mdInitialise/Make/files new file mode 100755 index 0000000000..dc06cf6bcd --- /dev/null +++ b/applications/utilities/preProcessing/mdInitialise/Make/files @@ -0,0 +1,3 @@ +mdInitialise.C + +EXE = $(FOAM_APPBIN)/mdInitialise diff --git a/applications/utilities/preProcessing/mdInitialise/Make/options b/applications/utilities/preProcessing/mdInitialise/Make/options new file mode 100755 index 0000000000..289c0990a2 --- /dev/null +++ b/applications/utilities/preProcessing/mdInitialise/Make/options @@ -0,0 +1,18 @@ +EXE_INC = \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/dynamicMesh/lnInclude \ + -I$(LIB_SRC)/lagrangian/molecularDynamics/molecule/lnInclude \ + -I$(LIB_SRC)/lagrangian/molecularDynamics/potential/lnInclude \ + -I$(LIB_SRC)/lagrangian/molecularDynamics/molecularMeasurements/lnInclude \ + -I$(LIB_SRC)/lagrangian/basic/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude + +EXE_LIBS = \ + -lmeshTools \ + -ldynamicMesh \ + -lfiniteVolume \ + -llagrangian \ + -lmolecule \ + -lpotential \ + -lmolecularMeasurements + diff --git a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C new file mode 100644 index 0000000000..754f078b30 --- /dev/null +++ b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C @@ -0,0 +1,95 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*---------------------------------------------------------------------------*/ + +#include "md.H" +#include "fvCFD.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ +# include "setRootCase.H" +# include "createTime.H" +# include "createMesh.H" + + IOdictionary mdInitialiseDict + ( + IOobject + ( + "mdInitialiseDict", + runTime.system(), + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false + ) + ); + + IOdictionary idListDict + ( + IOobject + ( + "idList", + mesh.time().constant(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ) + ); + + potential pot(mesh, mdInitialiseDict, idListDict); + + moleculeCloud molecules(mesh, pot, mdInitialiseDict); + + label totalMolecules = molecules.size(); + + if (Pstream::parRun()) + { + reduce(totalMolecules, sumOp