Merge branch 'develop' of https://github.com/ParticulateFlow/CFDEMcoupling into develop
This commit is contained in:
@ -6,7 +6,6 @@ PFLAGS+= -Dcompre
|
||||
|
||||
EXE_INC = \
|
||||
$(PFLAGS) \
|
||||
-I../. \
|
||||
-I$(CFDEM_OFVERSION_DIR) \
|
||||
-I$(LIB_SRC)/finiteVolume/cfdTools \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
@ -27,7 +26,6 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||
-I$(LIB_SRC)/ODE/lnInclude \
|
||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||
-I$(FOAM_SOLVERS)/combustion/reactingFoam \
|
||||
-Wno-deprecated-copy
|
||||
|
||||
|
||||
|
||||
@ -57,6 +57,8 @@ Description
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#include "postProcess.H"
|
||||
|
||||
#include "setRootCase.H"
|
||||
#include "createTime.H"
|
||||
#include "createMesh.H"
|
||||
@ -64,9 +66,10 @@ int main(int argc, char *argv[])
|
||||
#include "createTimeControls.H"
|
||||
#include "createRDeltaT.H"
|
||||
|
||||
#include "createFields.H"
|
||||
#include "createFvOptions.H"
|
||||
#include "initContinuityErrs.H"
|
||||
#include "createFields.H"
|
||||
#include "createFieldRefs.H"
|
||||
#include "createFvOptions.H"
|
||||
|
||||
// create cfdemCloud
|
||||
#include "readGravitationalAcceleration.H"
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
volScalarField W(thermo.W());
|
||||
#endif
|
||||
|
||||
bool propagateInertSpecie = true;
|
||||
Switch propagateInertSpecie(true);
|
||||
|
||||
const word inertSpecie(thermo.lookup("inertSpecie"));
|
||||
|
||||
@ -40,9 +40,9 @@
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
Info<< "inert will be bounded in [" << inertLowerBound << "," << inertUpperBound << "]" << endl;
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& T = thermo.T();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
dimensionedVector("URec", dimensionSet(0, 1, -1, 0, 0), vector::zero)
|
||||
);
|
||||
|
||||
bool updateURec = false;
|
||||
Switch updateURec(false);
|
||||
if (URec.headerOk())
|
||||
{
|
||||
updateURec = true;
|
||||
@ -65,7 +65,7 @@
|
||||
dimensionedScalar("voidfractionRec", dimensionSet(0, 0, 0, 0, 0), 1.0)
|
||||
);
|
||||
|
||||
bool updateVoidfractionRec = false;
|
||||
Switch updateVoidfractionRec(false);
|
||||
if (voidfractionRec.headerOk())
|
||||
{
|
||||
updateVoidfractionRec = true;
|
||||
@ -86,7 +86,7 @@
|
||||
dimensionedVector("URec", dimensionSet(0, 1, -1, 0, 0), vector::zero)
|
||||
);
|
||||
|
||||
bool updateUsRec = false;
|
||||
Switch updateUsRec(false);
|
||||
if (UsRec.headerOk())
|
||||
{
|
||||
updateUsRec = true;
|
||||
@ -140,7 +140,7 @@
|
||||
linearInterpolate(URec*voidfractionRec) & mesh.Sf()
|
||||
);
|
||||
|
||||
bool updatePhiRec = false;
|
||||
Switch updatePhiRec(false);
|
||||
if (phiRec.headerOk())
|
||||
{
|
||||
updatePhiRec = true;
|
||||
|
||||
@ -58,7 +58,6 @@ int main(int argc, char *argv[])
|
||||
#include "createMesh.H"
|
||||
#include "createControl.H"
|
||||
#include "createFields.H"
|
||||
#include "createFvOptions.H"
|
||||
|
||||
#include "readGravitationalAcceleration.H"
|
||||
|
||||
|
||||
@ -51,7 +51,6 @@ int main(int argc, char *argv[])
|
||||
#include "createMesh.H"
|
||||
#include "createControl.H"
|
||||
#include "createFields.H"
|
||||
#include "createFvOptions.H"
|
||||
|
||||
cfdemCloud particleCloud(mesh);
|
||||
recBase recurrenceBase(mesh);
|
||||
|
||||
@ -168,7 +168,7 @@ Info<< "Reading thermophysical properties\n" << endl;
|
||||
linearInterpolate(rho*U*voidfraction) & mesh.Sf()
|
||||
);
|
||||
|
||||
bool transientEEqn(pimple.dict().lookupOrDefault<bool>("transientEEqn",false));
|
||||
Switch transientEEqn(pimple.dict().lookupOrDefault<bool>("transientEEqn",false));
|
||||
|
||||
dimensionedScalar rhoMax
|
||||
(
|
||||
|
||||
@ -63,7 +63,6 @@ int main(int argc, char *argv[])
|
||||
#include "createControl.H"
|
||||
#include "createTimeControls.H"
|
||||
#include "createRDeltaT.H"
|
||||
#include "initContinuityErrs.H"
|
||||
#include "createFields.H"
|
||||
#include "createFieldRefs.H"
|
||||
#include "createFvOptions.H"
|
||||
|
||||
@ -24,7 +24,7 @@ Info<< "Reading thermophysical properties\n" << endl;
|
||||
volScalarField W(thermo.W());
|
||||
#endif
|
||||
|
||||
bool propagateInertSpecie(thermo.lookupOrDefault<bool>("propagateInertSpecie",true));
|
||||
Switch propagateInertSpecie(thermo.lookupOrDefault<bool>("propagateInertSpecie",true));
|
||||
|
||||
const word inertSpecie(thermo.lookupOrDefault<word>("inertSpecie","none"));
|
||||
|
||||
@ -40,9 +40,9 @@ Info<< "Reading thermophysical properties\n" << endl;
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
Info<< "inert will be bounded in [" << inertLowerBound << "," << inertUpperBound << "]" << endl;
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& T = thermo.T();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
||||
|
||||
@ -212,7 +212,7 @@ Info<< "Reading thermophysical properties\n" << endl;
|
||||
linearInterpolate(rho*U*voidfraction) & mesh.Sf()
|
||||
);
|
||||
|
||||
bool transientEEqn(pimple.dict().lookupOrDefault<bool>("transientEEqn",false));
|
||||
Switch transientEEqn(pimple.dict().lookupOrDefault<bool>("transientEEqn",false));
|
||||
|
||||
dimensionedScalar rhoMax
|
||||
(
|
||||
|
||||
@ -73,7 +73,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
#include "initContinuityErrs.H"
|
||||
#include "createFields.H"
|
||||
//#include "createFieldRefs.H"
|
||||
#include "createFieldRefs.H"
|
||||
#include "createFvOptions.H"
|
||||
|
||||
// create cfdemCloud
|
||||
|
||||
@ -255,7 +255,6 @@ volScalarField alphat
|
||||
|
||||
fvScalarMatrix CEqn(C, dimless*dimVolume/(dimTime));
|
||||
|
||||
scalar relaxCoeff(0.0);
|
||||
|
||||
Info<< "reading clockProperties\n" << endl;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling academic - Open Source CFD-DEM coupling
|
||||
|
||||
|
||||
Contributing authors:
|
||||
Thomas Lichtenegger, Gerhard Holzinger, Sanaz Abbasi
|
||||
Copyright (C) 2015- Johannes Kepler University, Linz
|
||||
@ -29,11 +29,11 @@ Description
|
||||
for a solver based on recurrence statistics
|
||||
|
||||
Rules
|
||||
Solution data to compute the recurrence statistics from, needs to
|
||||
reside in $CASE_ROOT/dataBase(0...N)
|
||||
Solution data to compute the recurrence statistics from, needs to
|
||||
reside in $CASE_ROOT/dataBase(0...N)
|
||||
Time step data in the first dataBase needs to be evenly spaced in time
|
||||
A list of indices for the corresponding incoherent fields to coherent ones
|
||||
should be provided.
|
||||
should be provided.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -58,10 +58,11 @@ int main(int argc, char *argv[])
|
||||
#include "createTime.H"
|
||||
#include "createMesh.H"
|
||||
#include "createControl.H"
|
||||
#include "initContinuityErrs.H"
|
||||
#include "createFields.H"
|
||||
#include "createFvOptions.H"
|
||||
scalar cumulativeContErr = 0;
|
||||
|
||||
scalar relaxCoeff(0.0);
|
||||
|
||||
//create recBases according to a list of recProperties
|
||||
#include "createRecBase.H"
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -83,15 +84,15 @@ int main(int argc, char *argv[])
|
||||
runTime++;
|
||||
|
||||
myClock().start(11,"Total");
|
||||
|
||||
|
||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||
|
||||
myClock().start(2,"fieldUpdate");
|
||||
|
||||
|
||||
if ( runTime.timeOutputValue() - (recTimeIndex+1)*recTimeStep_ + 1.0e-5 > 0.0 )
|
||||
{
|
||||
Info << "Updating fields at run time " << runTime.timeOutputValue()
|
||||
<< " corresponding to recurrence time " << (recTimeIndex+1)*recTimeStep_ << ".\n" << endl;
|
||||
Info<< "Updating fields at run time " << runTime.timeOutputValue()
|
||||
<< " corresponding to recurrence time " << (recTimeIndex+1)*recTimeStep_ << ".\n" << endl;
|
||||
recBases[0].updateRecFields();
|
||||
#include "readFields.H"
|
||||
|
||||
@ -109,16 +110,16 @@ int main(int argc, char *argv[])
|
||||
myClock().stop("Total");
|
||||
|
||||
runTime.write();
|
||||
|
||||
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
|
||||
myClock().stop("Global");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
myClock().evalPar();
|
||||
myClock().normHist();
|
||||
|
||||
|
||||
@ -147,7 +147,6 @@ surfaceScalarField phiRec
|
||||
|
||||
fvScalarMatrix TEqn(T, dimless*dimVolume/(dimTime));
|
||||
|
||||
scalar relaxCoeff(0.0);
|
||||
|
||||
Info<< "reading clockProperties\n" << endl;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling academic - Open Source CFD-DEM coupling
|
||||
|
||||
|
||||
Contributing authors:
|
||||
Thomas Lichtenegger, Gerhard Holzinger
|
||||
Copyright (C) 2015- Johannes Kepler University, Linz
|
||||
@ -29,9 +29,9 @@ Description
|
||||
for a solver based on recurrence statistics
|
||||
|
||||
Rules
|
||||
Solution data to compute the recurrence statistics from, needs to
|
||||
reside in $CASE_ROOT/dataBase
|
||||
Time step data in dataBase needs to be evenly spaced in time
|
||||
Solution data to compute the recurrence statistics from, needs to
|
||||
reside in $CASE_ROOT/dataBase
|
||||
Time step data in dataBase needs to be evenly spaced in time
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -55,6 +55,7 @@ int main(int argc, char *argv[])
|
||||
#include "createControl.H"
|
||||
#include "createFields.H"
|
||||
#include "createFvOptions.H"
|
||||
scalar relaxCoeff(0.0);
|
||||
|
||||
recBase recurrenceBase(mesh);
|
||||
|
||||
@ -81,8 +82,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (stepCounter == recTimeStep2CFDTimeStep)
|
||||
{
|
||||
Info << "Updating fields at run time " << runTime.timeOutputValue()
|
||||
<< " with recTimeIndex " << recTimeIndex << ".\n" << endl;
|
||||
Info<< "Updating fields at run time " << runTime.timeOutputValue()
|
||||
<< " with recTimeIndex " << recTimeIndex << ".\n" << endl;
|
||||
recurrenceBase.updateRecFields();
|
||||
#include "readFields.H"
|
||||
recTimeIndex++;
|
||||
@ -97,15 +98,15 @@ int main(int argc, char *argv[])
|
||||
myClock().stop("speciesEqn");
|
||||
|
||||
runTime.write();
|
||||
|
||||
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
|
||||
myClock().stop("Global");
|
||||
|
||||
}
|
||||
|
||||
|
||||
myClock().evalPar();
|
||||
myClock().normHist();
|
||||
|
||||
|
||||
@ -132,4 +132,3 @@
|
||||
|
||||
T.write();
|
||||
|
||||
scalar relaxCoeff(0.0);
|
||||
|
||||
@ -58,13 +58,14 @@ int main(int argc, char *argv[])
|
||||
#include "createControl.H"
|
||||
#include "createFields.H"
|
||||
#include "createFvOptions.H"
|
||||
scalar relaxCoeff(0.0);
|
||||
|
||||
cfdemCloudRec<cfdemCloud> particleCloud(mesh);
|
||||
recBase recurrenceBase(mesh);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
Info << "\nCalculating particle trajectories based on recurrence statistics\n" << endl;
|
||||
Info<< "\nCalculating particle trajectories based on recurrence statistics\n" << endl;
|
||||
|
||||
label recTimeIndex(0);
|
||||
label stepCounter = 0;
|
||||
@ -77,7 +78,7 @@ int main(int argc, char *argv[])
|
||||
// do stuff (every lagrangian time step)
|
||||
particleCloud.clockM().start(1,"Global");
|
||||
|
||||
Info << "Time = " << runTime.timeName() << nl << endl;
|
||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||
|
||||
particleCloud.clockM().start(2,"Flow");
|
||||
#include "TEq.H"
|
||||
@ -87,8 +88,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (stepCounter == recTimeStep2CFDTimeStep)
|
||||
{
|
||||
Info << "Updating fields at run time " << runTime.timeOutputValue()
|
||||
<< " corresponding to recTimeIndex " << recTimeIndex << ".\n" << endl;
|
||||
Info<< "Updating fields at run time " << runTime.timeOutputValue()
|
||||
<< " corresponding to recTimeIndex " << recTimeIndex << ".\n" << endl;
|
||||
recurrenceBase.updateRecFields();
|
||||
#include "readFields.H"
|
||||
recTimeIndex++;
|
||||
@ -102,12 +103,12 @@ int main(int argc, char *argv[])
|
||||
|
||||
particleCloud.clockM().stop("Global");
|
||||
|
||||
Info << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
}
|
||||
|
||||
Info << "End\n" << endl;
|
||||
Info<< "End\n" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -37,6 +37,7 @@ The "chemistryModels"_chemistryModel.html keyword is used to specify a list of
|
||||
models used for chemical reaction calculations.
|
||||
|
||||
"diffusionCoefficients"_chemistryModel_diffusionCoefficients.html,
|
||||
initMultiLayers,
|
||||
"massTransferCoeff"_chemistryModel_massTransferCoeff.html,
|
||||
"off"_chemistryModel_noChemistry.html,
|
||||
"reactantPerParticle"_chemistryModel_reactantPerParticle.html,
|
||||
@ -65,19 +66,28 @@ that performs the data exchange between the DEM code and the CFD code.
|
||||
"twoWayOne2One"_dataExchangeModel_twoWayOne2One.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.6 Energy models :h4
|
||||
6.6 Diffusion coefficient models :h4
|
||||
|
||||
The {diffCoeffModel} keyword entry specifies the model for the diffusion
|
||||
coefficient of dissolved spieces in the fluid phase in the presence of particles.
|
||||
|
||||
SyamlalDiffCoeff,
|
||||
off :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.7 Energy models :h4
|
||||
|
||||
The {energyModels} keyword specifies a list of energy models used for e.g.
|
||||
compressible, reacting flows.
|
||||
|
||||
heatTransferGranConduction,
|
||||
heatTransferGunn,
|
||||
heatTransferInterGrain,
|
||||
heatTransferRanzMarshall,
|
||||
reactionHeat,
|
||||
wallHeatTransferYagi :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.7 Force models :h4
|
||||
6.8 Force models :h4
|
||||
|
||||
The "forceModels"_forceModel.html keyword specifies a list of models that exert
|
||||
a force on each DEM particle.
|
||||
@ -87,15 +97,15 @@ a force on each DEM particle.
|
||||
"BeetstraDrag"_forceModel_BeetstraDrag.html,
|
||||
BeetstraDragPoly,
|
||||
"DiFeliceDrag"_forceModel_DiFeliceDrag.html,
|
||||
"dSauter"_forceModel_dSauter.html,
|
||||
Fines,
|
||||
"GidaspowDrag"_forceModel_GidaspowDrag.html,
|
||||
"KochHillDrag"_forceModel_KochHillDrag.html,
|
||||
"LaEuScalarTemp"_forceModel_LaEuScalarTemp.html,
|
||||
"MeiLift"_forceModel_MeiLift.html,
|
||||
"ParmarBassetForce"_forceModel_ParmarBassetForce.html,
|
||||
"SchillerNaumannDrag"_forceModel_SchillerNaumannDrag.html,
|
||||
"ShirgaonkarIB"_forceModel_ShirgaonkarIB.html,
|
||||
dSauter,
|
||||
"dSauter"_forceModel_dSauter.html,
|
||||
deactivateForce,
|
||||
directedDiffusiveRelaxation,
|
||||
evaluateFluctuations,
|
||||
@ -113,13 +123,15 @@ particleDeformation,
|
||||
"pdCorrelation"_forceModel_pdCorrelation.html,
|
||||
potentialRelaxation,
|
||||
"surfaceTensionForce"_forceModel_surfaceTensionForce.html,
|
||||
terminalVelocity,
|
||||
turbulentDispersion,
|
||||
turbulentVelocityFluctuations,
|
||||
"virtualMassForce"_forceModel_virtualMassForce.html,
|
||||
"ParmarBassetForce"_forceModel_ParmarBassetForce.html,
|
||||
"viscForce"_forceModel_viscForce.html,
|
||||
"volWeightedAverage"_forceModel_volWeightedAverage.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.7.1 Force sub-models :h5
|
||||
6.8.1 Force sub-models :h5
|
||||
|
||||
The "forceSubModels"_forceSubModel.html keyword specifies a list
|
||||
of models that hold settings for a force model.
|
||||
@ -129,7 +141,7 @@ ScaleForce,
|
||||
scaleForceBoundary :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.8 LIGGGHTS command models :h4,link(lcm)
|
||||
6.9 LIGGGHTS command models :h4,link(lcm)
|
||||
|
||||
The "liggghtsCommandModels"_liggghtsCommandModel.html keyword specifies a list
|
||||
of models that execute LIGGGHTS commands within a CFD run.
|
||||
@ -140,7 +152,7 @@ of models that execute LIGGGHTS commands within a CFD run.
|
||||
"writeLiggghts"_liggghtsCommandModel_writeLiggghts.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.9 Locate models :h4
|
||||
6.10 Locate models :h4
|
||||
|
||||
The "locateModel"_locateModel.html keyword entry specifies the model used to
|
||||
search the CFD mesh for the CFD cell corresponding to a given position.
|
||||
@ -152,7 +164,15 @@ search the CFD mesh for the CFD cell corresponding to a given position.
|
||||
"turboEngine"_locateModel_turboEngineSearch.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.10 Mesh motion models :h4
|
||||
6.11 Mass transfer models :h4
|
||||
|
||||
The {massTransferModels} keyword specifies a list of mass transfer models used
|
||||
for evaluating species transfer between particles and fluids.
|
||||
|
||||
massTransferGunn :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.12 Mesh motion models :h4
|
||||
|
||||
The "meshMotionModel"_meshMotionModel.html keyword entry specifies the model
|
||||
used to manipulate the CFD mesh according to the DEM mesh motion.
|
||||
@ -160,7 +180,7 @@ used to manipulate the CFD mesh according to the DEM mesh motion.
|
||||
"noMeshMotion"_meshMotionModel_noMeshMotion.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.11 Momentum coupling models :h4
|
||||
6.13 Momentum coupling models :h4
|
||||
|
||||
The "momCoupleModels"_momCoupleModel.html keyword specifies a list of models
|
||||
used for momentum exchange between DEM and CFD simulation
|
||||
@ -171,17 +191,18 @@ deactivateCouple,
|
||||
"off"_momCoupleModel_noCouple.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.12 Other force models :h4
|
||||
6.14 Other force models :h4
|
||||
|
||||
The {otherForceModels} keyword specifies a list of models that exert a force on
|
||||
each DEM particle.
|
||||
|
||||
expParticleForces,
|
||||
gravity,
|
||||
secondaryPhaseInducedBuoyancy,
|
||||
weightSecondaryPhase :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.13 Probe models :h4
|
||||
6.15 Probe models :h4
|
||||
|
||||
The "probeModel"_probeModel.html keyword entry specifies the probing features in
|
||||
CFDEMcoupling simulations.
|
||||
@ -190,7 +211,7 @@ CFDEMcoupling simulations.
|
||||
"particleProbe"_probeModel_particleProbe.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.14 Region models :h4
|
||||
6.16 Region models :h4
|
||||
|
||||
The "regionModel"_regionModel.html keyword entry specifies the model used to
|
||||
select a certain region for coupled simulations.
|
||||
@ -198,18 +219,18 @@ select a certain region for coupled simulations.
|
||||
"allRegion"_regionModel_allRegion.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.15 Smoothing models :h4
|
||||
6.17 Smoothing models :h4
|
||||
|
||||
The "smoothingModel"_smoothingModel.html keyword entry specifies the model for
|
||||
smoothing the exchange fields.
|
||||
|
||||
"constDiffAndTemporalSmoothing"_smoothingModel_constDiffAndTemporalSmoothing.html,
|
||||
"constDiffSmoothing"_smoothingModel_constDiffSmoothing.html,
|
||||
"off"_smoothingModel_noSmoothing.html,
|
||||
"temporalSmoothing"_smoothingModel_temporalSmoothing.html,
|
||||
"constDiffAndTemporalSmoothing"_smoothingModel_constDiffAndTemporalSmoothing.html :tb(c=2,ea=c)
|
||||
"temporalSmoothing"_smoothingModel_temporalSmoothing.html :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.16 Thermal conductivity models :h4
|
||||
6.18 Thermal conductivity models :h4
|
||||
|
||||
The {thermCondModel} keyword entry specifies the model for the thermal
|
||||
conductivity of the fluid phase in the presence of particles.
|
||||
@ -219,7 +240,7 @@ ZehnerSchluenderThermCond,
|
||||
off :tb(c=2,ea=c)
|
||||
|
||||
|
||||
6.17 Void fraction models :h4
|
||||
6.19 Void fraction models :h4
|
||||
|
||||
The "voidFractionModel"_voidFractionModel.html keyword entry specifies the model
|
||||
accounting for the volume of the particles in the CFD domain.
|
||||
@ -232,18 +253,4 @@ accounting for the volume of the particles in the CFD domain.
|
||||
off,
|
||||
trilinear :tb(c=2,ea=c)
|
||||
|
||||
6.18 Mass transfer models :h4
|
||||
|
||||
The {massTransferModels} keyword specifies a list of mass transfer models used evaluating
|
||||
species transfer between particles and fluids.
|
||||
|
||||
massTransferGunn :tb(c=2,ea=c)
|
||||
|
||||
6.19 Diffusion coefficient models :h4
|
||||
|
||||
The {diffCoeffModel} keyword entry specifies the model for the diffusion
|
||||
coefficient of dissolved spieces in the fluid phase in the presence of particles.
|
||||
|
||||
SyamlalDiffCoeff,
|
||||
off :tb(c=2,ea=c)
|
||||
|
||||
|
||||
@ -127,6 +127,8 @@ do
|
||||
sleep 2
|
||||
done
|
||||
|
||||
compileResultAll=0
|
||||
|
||||
if [ ! -f "$CWD/$whitelist" ];then
|
||||
echo "$whitelist does not exist in $CWD"
|
||||
else
|
||||
@ -164,7 +166,11 @@ else
|
||||
casePath="$CFDEM_SOLVER_DIR/$LINE"
|
||||
#--------------------------------------------------------------------------------#
|
||||
collectLogCFDEMcoupling_sol $logpath $logfileName $casePath
|
||||
compileResultOne=$(checkLogCFDEMcoupling_sol $logpath $logfileName $casePath)
|
||||
compileResultAll=$((compileResultAll+compileResultOne))
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
exit $compileResultAll
|
||||
|
||||
|
||||
@ -695,6 +695,35 @@ collectLogCFDEMcoupling_sol()
|
||||
}
|
||||
#==================================#
|
||||
|
||||
#==================================#
|
||||
#- function to check compile results
|
||||
#- from logfiles
|
||||
|
||||
checkLogCFDEMcoupling_sol()
|
||||
{
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
logpath="$1"
|
||||
logfileName="$2"
|
||||
casePath="$3"
|
||||
#--------------------------------------------------------------------------------#
|
||||
# read name of solver
|
||||
SOLVERNAME=$(basename $casePath)
|
||||
|
||||
# read last line of log
|
||||
LASTLINE=`tac $logpath/$logfileName | egrep -m 1 .`
|
||||
LASTSTRING=`echo ${LASTLINE##* }`
|
||||
LASTWORD=$(basename $LASTSTRING)
|
||||
|
||||
# log if compilation was success
|
||||
if [[ $LASTWORD == $SOLVERNAME ]]; then
|
||||
echo 0
|
||||
else
|
||||
echo 1
|
||||
fi
|
||||
}
|
||||
#==================================#
|
||||
|
||||
#==================================#
|
||||
#- function to replace a line in a file where text consecutive
|
||||
# the old line must look like: oldWord
|
||||
|
||||
@ -13,6 +13,6 @@ cfdemSolverPisoScalar/dir
|
||||
cfdemSolverRhoPimpleChem/dir
|
||||
cfdemSolverMultiphase/dir
|
||||
cfdemSolverMultiphaseScalar/dir
|
||||
rcfdemSolverRhoSteadyPimpleChem/dir
|
||||
rctfSpeciesTransport/dir
|
||||
cfdemSolverPisoFreeStreaming/dir
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ cfdemCloudEnergy::cfdemCloudEnergy
|
||||
:
|
||||
cfdemCloud(mesh),
|
||||
energyModels_(couplingProperties_.lookup("energyModels")),
|
||||
massTransferModels_(couplingProperties_.lookup("massTransferModels")),
|
||||
massTransferModels_(couplingProperties_.lookupOrDefault<wordList>("massTransferModels",wordList::null())),
|
||||
implicitEnergyModel_(false),
|
||||
implicitMassTransferModel_(false),
|
||||
chemistryModels_(couplingProperties_.lookup("chemistryModels")),
|
||||
@ -193,7 +193,7 @@ const thermCondModel& cfdemCloudEnergy::thermCondM()
|
||||
const diffCoeffModel& cfdemCloudEnergy::diffCoeffM()
|
||||
{
|
||||
return diffCoeffModel_;
|
||||
}
|
||||
}
|
||||
|
||||
void cfdemCloudEnergy::energyContributions(volScalarField& Qsource)
|
||||
{
|
||||
|
||||
@ -73,7 +73,7 @@ diffCoeffModel::diffCoeffModel
|
||||
)
|
||||
{
|
||||
// build constant fields for single phase case
|
||||
if (!particleCloud_.multiphase())
|
||||
if (!particleCloud_.multiphase() && dict_.found("diffCoeffModel"))
|
||||
{
|
||||
D0Field_ = volScalarField
|
||||
(
|
||||
|
||||
@ -37,7 +37,7 @@ autoPtr<diffCoeffModel> diffCoeffModel::New
|
||||
{
|
||||
word diffCoeffModelType
|
||||
(
|
||||
dict.lookup("diffCoeffModel")
|
||||
dict.lookupOrDefault<word>("diffCoeffModel","off")
|
||||
);
|
||||
|
||||
Info<< "Selecting diffCoeffModel "
|
||||
|
||||
@ -189,7 +189,7 @@ void standardRecModel::checkTimeStep()
|
||||
|
||||
scalar dTRec2dTCFD = recTimeStep_[i] / timeStep_;
|
||||
scalar dTRec2dTCFDshifted = dTRec2dTCFD + 0.5;
|
||||
recTimeStep2CFDTimeStep_[i] = (label) dTRec2dTCFDshifted;
|
||||
recTimeStep2CFDTimeStep_[i] = static_cast<label>(dTRec2dTCFDshifted);
|
||||
if (abs(recTimeStep2CFDTimeStep_[i]*timeStep_ - recTimeStep_[i]) > 1e-9)
|
||||
{
|
||||
FatalError <<"Time step of database " << i << "is not a multiple of CFD time step.\n" << abort(FatalError);
|
||||
|
||||
@ -59,6 +59,9 @@ MarkovPath::MarkovPath
|
||||
searchMinimum_(propsDict_.lookupOrDefault<bool>("searchMinimum",true)),
|
||||
currentDatabase_(0),
|
||||
numIntervals_(base.recM().numIntervals()),
|
||||
recSteps_(0),
|
||||
stepsInCurrentDatabase_(0),
|
||||
startIndex_(propsDict_.lookupOrDefault<label>("startIndex",0)),
|
||||
correlationSteps_(propsDict_.lookupOrDefault<labelList>("correlationStepsList",labelList(numIntervals_,0))),
|
||||
intervalSizes_(numIntervals_),
|
||||
intervalSizesCumulative_(numIntervals_),
|
||||
@ -66,9 +69,6 @@ MarkovPath::MarkovPath
|
||||
minIntervalSteps_(propsDict_.lookupOrDefault<labelList>("minIntervalStepsList",labelList(numIntervals_,0))),
|
||||
minStepsWithinDatabase_(propsDict_.lookupOrDefault<labelList>("minStepsWithinDatabaseList",labelList(numIntervals_,0))),
|
||||
numberOfIntervalsInEachDatabase_(numIntervals_),
|
||||
recSteps_(0),
|
||||
stepsInCurrentDatabase_(0),
|
||||
startIndex_(propsDict_.lookupOrDefault<label>("startIndex",0)),
|
||||
intervalWeights_(propsDict_.lookupOrDefault<scalarList>("intervalWeights",scalarList(numIntervals_,1.0))),
|
||||
intervalWeightsCumulative_(intervalWeights_),
|
||||
Pjump_(scalarList(numIntervals_,0.0)),
|
||||
|
||||
21
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/Allrun.sh
Executable file
21
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/Allrun.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
#------------------------------------------------------------------------------
|
||||
# Allrun script for HeatTransferRanzMarshall test case
|
||||
# run HeatTransferRanzMarshall
|
||||
# Daniel Queteschiner - November 2021
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
|
||||
#- check if mesh was built
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
cd $casePath/CFD
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
bash $casePath/parCFDDEMrun.sh
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object Ksl;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
42
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/CFD/0/T
Executable file
42
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/CFD/0/T
Executable file
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object T;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 1 0 0 0];
|
||||
|
||||
internalField uniform 298.15;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 298.15;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 298.15;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ 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
|
||||
{
|
||||
wall
|
||||
{
|
||||
type slip;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 6);
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
object Us;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,46 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object nut;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type nutWallFunction;
|
||||
Cmu 0.09;
|
||||
kappa 0.41;
|
||||
E 9.8;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1e5;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
// type zeroGradient;
|
||||
type fixedFluxExtrapolatedPressure;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object rho;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.1854; // air density at 298.15K
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object voidfraction;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,131 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object couplingProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// sub-models & settings
|
||||
|
||||
syncMode false;
|
||||
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 50;
|
||||
|
||||
voidFractionModel centre;
|
||||
|
||||
locateModel engine;
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel off;
|
||||
|
||||
probeModel off;
|
||||
|
||||
dataExchangeModel twoWayMPI;
|
||||
|
||||
averagingModel dilute;
|
||||
|
||||
clockModel off;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
gradPForce
|
||||
viscForce
|
||||
noDrag
|
||||
);
|
||||
|
||||
energyModels
|
||||
(
|
||||
heatTransferRanzMarshall
|
||||
);
|
||||
|
||||
//massTransferModels
|
||||
//(
|
||||
//);
|
||||
|
||||
chemistryModels
|
||||
(
|
||||
off
|
||||
);
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
implicitCouple
|
||||
);
|
||||
|
||||
thermCondModel SyamlalThermCond;
|
||||
|
||||
//diffCoeffModel off;
|
||||
|
||||
turbulenceModelType "turbulenceProperties";
|
||||
|
||||
|
||||
|
||||
// sub-model properties
|
||||
|
||||
|
||||
heatTransferRanzMarshallProps
|
||||
{
|
||||
partTempName "Temp";
|
||||
partHeatFluxName "convectiveHeatFlux";
|
||||
calcPartTempField true;
|
||||
partRefTemp 373.15;
|
||||
interpolation false;
|
||||
}
|
||||
|
||||
SyamlalThermCondProps
|
||||
{
|
||||
}
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
interpolation true;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
interpolation true;
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.01;
|
||||
}
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,22 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class uniformDimensionedVectorField;
|
||||
location "constant";
|
||||
object g;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -2 0 0 0 0];
|
||||
value ( 0 0 -9.81 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,24 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object liggghtsCommands;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
liggghtsCommandModels
|
||||
(
|
||||
runLiggghts
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type hePsiThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo eConst;
|
||||
equationOfState perfectGas;
|
||||
specie specie;
|
||||
energy sensibleInternalEnergy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
nMoles 1;
|
||||
molWeight 28.9;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cv 718;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 1.85e-05;
|
||||
Pr 0.73;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
transportModel Newtonian;
|
||||
|
||||
nu nu [ 0 2 -1 0 0 0 0 ] 1.56e-05;
|
||||
|
||||
kf kf [ 1 1 -3 -1 0 0 0 ] 0.026;
|
||||
|
||||
Cp Cp [ 0 2 -2 -1 0 0 0 ] 1007;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType laminar;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,73 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 1;
|
||||
|
||||
vertices
|
||||
(
|
||||
( 0.1188 0.1188 0.0 )
|
||||
(-0.1188 0.1188 0.0 )
|
||||
(-0.1188 -0.1188 0.0 )
|
||||
( 0.1188 -0.1188 0.0 )
|
||||
|
||||
( 0.1188 0.1188 0.216)
|
||||
(-0.1188 0.1188 0.216)
|
||||
(-0.1188 -0.1188 0.216)
|
||||
( 0.1188 -0.1188 0.216)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (2 3 0 1 6 7 4 5) (11 11 10) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 3 2 1)
|
||||
);
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(4 7 6 5)
|
||||
);
|
||||
}
|
||||
wall
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(1 0 4 5)
|
||||
(2 1 5 6)
|
||||
(3 2 6 7)
|
||||
(0 3 7 4)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,58 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application cfdemSolverRhoPimple;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 20.0;
|
||||
|
||||
deltaT 0.00005;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.4;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 0.5;
|
||||
|
||||
|
||||
functions
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,30 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
location "system";
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 2;
|
||||
|
||||
method simple;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n (1 1 2);
|
||||
delta 0.001;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,51 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
div(phi,U) Gauss limitedLinearV 1;
|
||||
div(phi,R) Gauss limitedLinear 1;
|
||||
div(phi,nuTilda) Gauss limitedLinear 1;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,87 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: 6
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"(p|rho|rhoeps)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
"(p|rho|rhoeps)Final"
|
||||
{
|
||||
$p;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|k|e|epsilon|R|nuTilda)"
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|e|k|nuTilda)Final"
|
||||
{
|
||||
$U;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(voidfraction|Us|Ksl|dSmoothing|UsNext|voidfractionNext)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
T
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-8;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
nOuterCorrectors 3;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
|
||||
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5;
|
||||
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0;
|
||||
pMinFactor 0.5;
|
||||
pMaxFactor 2.0;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
equations
|
||||
{
|
||||
".*" 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,130 @@
|
||||
################################################################################
|
||||
# brief: heat convection between 1 spheres and a fluid #
|
||||
# #
|
||||
# Check the temperature evolution of the sphere #
|
||||
# Cf. J.Musser, Modeling of heat transfer and reactive chemistry for particles #
|
||||
# in gas-solid flow utilizing continuum-discrete methodology (CDM), PhD (2011) #
|
||||
# #
|
||||
# The simulation outputs the temperature of the particles over time #
|
||||
# #
|
||||
# authors: Daniel Queteschiner #
|
||||
# date: Nov 2021 #
|
||||
# copyright: 2021- JKU Linz #
|
||||
################################################################################
|
||||
echo both
|
||||
|
||||
# define the attributes associated with the particles,
|
||||
# 'granular' (or 'sphere') style uses diameter, mass and angular velocity
|
||||
atom_style granular
|
||||
|
||||
# use an array to map particle IDs to local storage index,
|
||||
atom_modify map array
|
||||
|
||||
# set simulation domain to be fixed in x y z
|
||||
boundary f f f
|
||||
|
||||
# save communication by turning off Newton's 3rd law for pairwise interaction,
|
||||
# note: this setting only influences communication between procs, Newton's
|
||||
# 3rd law is still used for contact force calculations
|
||||
newton off
|
||||
|
||||
# use a single value for ghost particle cutoff distance and
|
||||
# enable velocity to be communicated with ghost particles
|
||||
communicate single vel yes
|
||||
|
||||
# set unit system to SI
|
||||
units si
|
||||
|
||||
# define the region used as simulation domain (min/max X, min/max Y, min/max Z)
|
||||
region domain block -0.1188 0.1188 -0.1188 0.1188 0.0 0.216 units box
|
||||
|
||||
# create the simulation domain and 1 material type for particle
|
||||
create_box 1 domain
|
||||
|
||||
# specify the skin distance for neighbor list generation
|
||||
neighbor 0.001 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
# particle properties
|
||||
variable z1 equal 0.1080
|
||||
variable rp1 equal 0.0018 # [m]
|
||||
variable dp1 equal 2*${rp1}
|
||||
variable rho1 equal 8850 # [kg/m^3]
|
||||
variable T10 equal 373.15 # [K]
|
||||
variable lambda1 equal 0.840147 # [W/(K*m)]
|
||||
variable cp1 equal 55.0354860 # [J/(kg*K)]
|
||||
|
||||
# define the material properties required for granular pair styles
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e9
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.3
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.8
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.1
|
||||
fix m5 all property/global thermalConductivity peratomtype ${lambda1}
|
||||
fix m6 all property/global thermalCapacity peratomtype ${cp1}
|
||||
|
||||
# specify contact model to use
|
||||
pair_style gran model hertz tangential incremental_history
|
||||
pair_coeff * *
|
||||
|
||||
timestep 0.000001
|
||||
|
||||
# granular heat conduction
|
||||
fix heattransfer all heat/gran initial_temperature ${T10}
|
||||
|
||||
# create particle
|
||||
create_atoms 1 single 0.0 0.0 ${z1} units box
|
||||
|
||||
# set diameter and density
|
||||
set atom 1 diameter ${dp1} density ${rho1}.
|
||||
|
||||
# cfd coupling
|
||||
fix cfd1 all couple/cfd couple_every 50 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit
|
||||
fix cfd3 all couple/cfd/convection T0 ${T10}
|
||||
|
||||
# output settings
|
||||
thermo_style custom step atoms f_heattransfer
|
||||
|
||||
# set frequency of output
|
||||
thermo 100000
|
||||
|
||||
# ignore particles leaving the simulation domain,
|
||||
# do not normalize thermodynamic output values by the number of atoms
|
||||
thermo_modify lost ignore norm no
|
||||
|
||||
# set dynamic to 'no' as number of particles does not change
|
||||
# for a single particle we need to set extra dof to 0 to obtain correct ke
|
||||
compute_modify thermo_temp dynamic no extra 0
|
||||
|
||||
# run 1 time step so that property/atom Temp can be set
|
||||
run 1
|
||||
|
||||
# dump particle data every 400000 time steps
|
||||
dump dmp all custom/vtk 400000 ../DEM/post/conduction*.vtk id type x y z &
|
||||
fx fy fz radius f_Temp f_heatFlux
|
||||
|
||||
variable time equal time
|
||||
variable myT atom f_Temp
|
||||
variable T1 equal v_myT[1]
|
||||
|
||||
# analytic solution
|
||||
variable rhog equal 1.1854 # [kg/m^3]
|
||||
variable Tg0 equal 298.15 # [K]
|
||||
variable lambdag equal 0.026 # [W/(K*m)]
|
||||
variable cpg equal 1007 # [J/(kg*K)]
|
||||
variable vg equal 6.0 # [m/s]
|
||||
variable epsilon equal 0.997576 # voidfraction
|
||||
variable mug equal 0.0000185 # [kg/(m*s)]
|
||||
variable As equal PI*${dp1}*${dp1} # particle surface area [m^2]
|
||||
|
||||
variable tmp equal ${rhog}*${epsilon}*(${vg}-0)*${dp1}/${mug}
|
||||
variable gammacp equal (${lambdag}/${dp1})*(2.0+0.6*sqrt(${tmp})*(${cpg}*${mug}/${lambdag})^(1/3))#cbrt(${cpg}*${mug}/${lambdag}))
|
||||
variable T1analytic equal ${Tg0}-(${Tg0}-${T10})*exp(-v_time*(${gammacp}*${As})/(mass[1]*${cp1}))
|
||||
|
||||
fix printTemp all print 400000 "${time} ${Tg0} ${T1} ${T1analytic}" &
|
||||
file ../DEM/post/Temp.dat screen no title "#time Tg0 T1 T1analytic"
|
||||
|
||||
run 1
|
||||
|
||||
|
||||
0
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/DEM/post/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/DEM/post/.gitignore
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
## Particle-fluid convection using the Ranz-Marshall correlation for the Nusselt number
|
||||
|
||||
based on
|
||||
* J.M.H. Musser, Modeling of heat transfer and reactive chemistry for particles
|
||||
in gas-solid flow utilizing continuum-discrete methodology (CDM), PhD thesis, (2011)
|
||||
* Z.Y. Zhou, A.B. Yu, P. Zulli, AIChE Journal, 55 (4), (2009)
|
||||
|
||||
#### Case parameters for a hot particle and cool air
|
||||
|
||||
parameter | value
|
||||
----------|------
|
||||
box width | 0.2376 m
|
||||
box height | 0.216 m
|
||||
box thickness | 0.2376 m
|
||||
CFD time step size | 5e-5 s
|
||||
DEM time step size | 1e-6 s
|
||||
time simulated | 20 s
|
||||
number of fluid cells | 11 x 11 x 10
|
||||
number of particles | 1
|
||||
fluid density | 1.1854 kg/m3
|
||||
fluid velocity | 6 m/s
|
||||
fluid thermal conductivity | 0.026 W/(K m)
|
||||
fluid heat capacity | 1007 J/(kg K)
|
||||
fluid initial temperature | 298.15 K
|
||||
fluid dynamic viscosity | 0.0000185 kg/(m s)
|
||||
particle diameter | 3.6 mm
|
||||
particle density | 8850 kg/m3
|
||||
particle thermal conductivity | 0.84 W/(K m)
|
||||
particle heat capacity | 55 J/(kg K)
|
||||
particle initial temperature | 373.15 K
|
||||
Youngs modulus | 5e9 Pa
|
||||
Poisson ratio | 0.3
|
||||
coeff. of restitution | 0.8
|
||||
coeff. of friction | 0.1
|
||||
|
||||
41
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/parCFDDEMrun.sh
Executable file
41
tutorials/cfdemSolverRhoPimple/HeatTransferRanzMarshall/parCFDDEMrun.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
#------------------------------------------------------------------------------
|
||||
# parCFDDEMrun script for HeatTransferRanzMarshall test case
|
||||
# run HeatTransferRanzMarshall CFD-DEM
|
||||
# Daniel Queteschiner - November 2021
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#- source CFDEM env vars
|
||||
. ~/.bashrc
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_PROJECT_DIR/etc/functions.sh
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath=$casePath
|
||||
headerText="run_parallel_cfdemSolverRhoPimple_HeatTransferRanzMarshall"
|
||||
logfileName="log_$headerText"
|
||||
solverName="cfdemSolverRhoPimple"
|
||||
nrProcs="2"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
debugMode="off" # on | off| strict
|
||||
runCleanUp="false"
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#- call function to run a parallel CFD-DEM case
|
||||
parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
|
||||
if [ $runCleanUp == "true" ]
|
||||
then
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath :\n"
|
||||
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm $casePath/DEM/post/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
fi
|
||||
|
||||
echo "done"
|
||||
Reference in New Issue
Block a user