From e675839a2188bc1d6a4fb638d9167ec63b51b6fa Mon Sep 17 00:00:00 2001 From: graham Date: Mon, 4 Jul 2011 20:22:50 +0100 Subject: [PATCH] ENH: Added monoatomic object and updated applications. --- .../molecularDynamics/mdFoam/Make/options | 3 + .../molecularDynamics/mdFoam/createFields.H | 29 +- .../molecularDynamics/mdFoam/mdFoam.C | 7 +- .../preProcessing/mdInitialise/mdInitialise.C | 86 +++- .../molecularDynamics/molecule/Make/files | 2 + .../Templates/MoleculeCloud/MoleculeCloud.C | 221 ++------- .../Templates/MoleculeCloud/MoleculeCloud.H | 37 +- .../Templates/MoleculeCloud/MoleculeCloudI.H | 118 ++--- .../derived/monoatomicCloud/monoatomicCloud.H | 52 +++ .../molecules/monoatomic/monoatomic.C | 199 +++++++++ .../molecules/monoatomic/monoatomic.H | 418 ++++++++++++++++++ .../molecules/monoatomic/monoatomicI.H | 328 ++++++++++++++ .../molecules/monoatomic/monoatomicIO.C | 305 +++++++++++++ .../molecules/polyatomic/polyatomic.C | 8 +- .../molecules/polyatomic/polyatomic.H | 39 +- .../molecules/polyatomic/polyatomicI.H | 71 ++- .../molecules/polyatomic/polyatomicIO.C | 109 +++++ .../potential/potential/potential.C | 19 +- .../potential/potential/potential.H | 8 +- 19 files changed, 1748 insertions(+), 311 deletions(-) create mode 100644 src/lagrangian/molecularDynamics/molecule/clouds/derived/monoatomicCloud/monoatomicCloud.H create mode 100644 src/lagrangian/molecularDynamics/molecule/molecules/monoatomic/monoatomic.C create mode 100644 src/lagrangian/molecularDynamics/molecule/molecules/monoatomic/monoatomic.H create mode 100644 src/lagrangian/molecularDynamics/molecule/molecules/monoatomic/monoatomicI.H create mode 100644 src/lagrangian/molecularDynamics/molecule/molecules/monoatomic/monoatomicIO.C diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options index 89431d0625..98f09f1b4b 100644 --- a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options +++ b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options @@ -1,4 +1,7 @@ +EXE_DEBUG = -DFULLDEBUG -g -O0 + EXE_INC = \ + ${EXE_DEBUG} \ -I$(LIB_SRC)/lagrangian/molecularDynamics/molecule/lnInclude \ -I$(LIB_SRC)/lagrangian/molecularDynamics/potential/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/createFields.H b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/createFields.H index 146db638db..d5ea5ef8b6 100644 --- a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/createFields.H +++ b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/createFields.H @@ -12,16 +12,16 @@ mesh ); - word cloudName("polyatomicCloud"); + word polyatomicCloudName("polyatomicCloud"); - potential pot + potential polyPot ( mesh, IOdictionary ( IOobject ( - cloudName + "Properties", + polyatomicCloudName + "Properties", mesh.time().constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -31,4 +31,25 @@ ) ); - polyatomicCloud molecules(cloudName, mesh, pot); + polyatomicCloud polyatomics(polyatomicCloudName, mesh, polyPot); + + word monoatomicCloudName("monoatomicCloud"); + + potential monoPot + ( + mesh, + IOdictionary + ( + IOobject + ( + monoatomicCloudName + "Properties", + mesh.time().constant(), + mesh, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE, + false + ) + ) + ); + + monoatomicCloud monoatomics(monoatomicCloudName, mesh, monoPot); diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C index 65157dd2b4..38510dc453 100644 --- a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C +++ b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C @@ -30,6 +30,7 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" +#include "monoatomicCloud.H" #include "polyatomicCloud.H" int main(int argc, char *argv[]) @@ -47,11 +48,13 @@ int main(int argc, char *argv[]) { Info<< "Time = " << runTime.timeName() << endl; - molecules.evolve(); + monoatomics.evolve(); + + polyatomics.evolve(); runTime.write(); - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" + Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; } diff --git a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C index 38a76947be..d29ef0a72d 100644 --- a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C +++ b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C @@ -28,6 +28,7 @@ Description #include "fvCFD.H" #include "polyatomicCloud.H" +#include "monoatomicCloud.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -50,11 +51,15 @@ int main(int argc, char *argv[]) ) ); - IOdictionary idListDict + word polyCloudName("polyatomicCloud"); + + const dictionary& polyDict(mdInitialiseDict.subDict(polyCloudName)); + + IOdictionary polyIdListDict ( IOobject ( - "idList", + polyCloudName + "_idList", mesh.time().constant(), mesh, IOobject::NO_READ, @@ -62,17 +67,15 @@ int main(int argc, char *argv[]) ) ); - word cloudName("polyatomicCloud"); - - potential pot + potential polyPot ( mesh, - mdInitialiseDict, + polyDict, IOdictionary ( IOobject ( - cloudName + "Properties", + polyCloudName + "Properties", mesh.time().constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -80,27 +83,72 @@ int main(int argc, char *argv[]) false ) ), - idListDict + polyIdListDict ); - polyatomicCloud molecules(cloudName, mesh, pot, mdInitialiseDict); + polyatomicCloud poly + ( + polyCloudName, + mesh, + polyPot, + polyDict + ); - label totalMolecules = molecules.size(); - - if (Pstream::parRun()) - { - reduce(totalMolecules, sumOp