From 0e78266b87842997a1fee980773fe550ef4e1652 Mon Sep 17 00:00:00 2001
From: goniva Qjlz=^Oa5E5O1
zaxg|{3pqgS55&Zn6vaj{)*t*qj354f;Qw1PP>f&* Examples:
diff --git a/doc/forceModel_GidaspowDrag.txt b/doc/forceModel_GidaspowDrag.txt
index 0f6938c4..9a5af514 100644
--- a/doc/forceModel_GidaspowDrag.txt
+++ b/doc/forceModel_GidaspowDrag.txt
@@ -19,10 +19,12 @@ GidaspowDragProps
\{
velFieldName "U";
densityFieldName "density";
+ phi "scalar";
\}; :pre
{U} = name of the finite volume fluid velocity field :ulb,l
{density} = name of the finite volume gravity field :l
+{phi} = drag correction factor (in doubt 1) :l
:ule
[Examples:]
diff --git a/doc/forceModel_noDrag.html b/doc/forceModel_noDrag.html
index 4bba14af..9baaa53f 100644
--- a/doc/forceModel_noDrag.html
+++ b/doc/forceModel_noDrag.html
@@ -15,19 +15,24 @@
Examples:
Description:
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero.
+ The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero. If the variable noDEMForce is set, then the forces communicated to the DEM solver are also set to zero.
Restrictions:
Description:
This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated.
-At "writeTime" a field named particleCellVolume , where scalarField is the name of the original field, is written. This can be can the be probed using standard function object probes. Using the verbose option a screen output is given.
+ This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated. Further the total volume of the cells particles are in is calculated.
+At "writeTime" a field named particleCellVolume , where scalarField is the name of the original field, is written. This can be can the be probed using standard function object probes. Analogously a field named cellVolume is written. Using the verbose option a screen output is given.
Restrictions:
Use "off" for "myProbeModel" to disable this feature.
+ Use probe model "off" to disable this feature.
!
z{0pt0^#?Jc!IA5U5fvc^Lktp>CQAI%@81r86r1oz$T%rz48SPm#27e083!;zs>tvY
zNK*#%A0sX$K!VhigBb+X$-ywtUsD^A|8Mv)21aR^81oMhGXDeNuZ)TAO=ddAq+V@|
z)X{(7PfUx{sf|!p%Ir!^m6Qn$BL-
$e6;P_Vi
zSMK>1#tEu98O(meF%Q?>@-e3U&Dyzw#Rm-rJKlJ`9`<_O)*H+{{5E%uL8$HOg~YyG
z`}(>aMf0PnUv4>Ma^bK1(Fsot_jS{1*#@@?oie)`7OPfQp6YkFmCp_Gb{^13777*f
zF)_K^Go@%R8FJ33forceModels
(
- off
+ noDrag
);
forceModels
(
- off
+ noDrag
);
+noDragProps (optional)
+{
+ noDEMForce; (optional)
+};
+
probeModel myProbeModel;
-particleIDsToSample (ID1 ID2 ID3 ...);
-
myProbeModelProps
{
diff --git a/doc/probeModel.txt b/doc/probeModel.txt
index c2069cc2..5e10acfd 100644
--- a/doc/probeModel.txt
+++ b/doc/probeModel.txt
@@ -13,9 +13,8 @@ To be activated via couplingProperties dictionary.
probeModel myProbeModel; :pre
-Use "off" for "myProbeModel" to disable this feature.
+Use probe model "off" to disable this feature.
-particleIDsToSample (ID1 ID2 ID3 ...); :pre
myProbeModelProps :pre
\{ :pre
diff --git a/doc/probeModel_noProbe.html b/doc/probeModel_noProbe.html
index 429ebae0..63021115 100644
--- a/doc/probeModel_noProbe.html
+++ b/doc/probeModel_noProbe.html
@@ -13,8 +13,7 @@
To be activated via couplingProperties dictionary.
-particleIDsToSample (ID1 ID2 ID3 ...); -forceModels +forceModels { myForceModel1 myForceModel2 @@ -23,10 +22,6 @@ forceModelsExamples:
-probeModel noProbe; --Alternatively use: -
probeModel off;Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. diff --git a/doc/probeModel_noProbe.txt b/doc/probeModel_noProbe.txt index cf3c9307..b36c75e0 100644 --- a/doc/probeModel_noProbe.txt +++ b/doc/probeModel_noProbe.txt @@ -11,7 +11,6 @@ probeModel_noProbe command :h3 To be activated via couplingProperties dictionary. -particleIDsToSample (ID1 ID2 ID3 ...); forceModels \{ myForceModel1 @@ -21,9 +20,6 @@ forceModels [Examples:] -probeModel noProbe; :pre -Alternatively use: - probeModel off; :pre Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. diff --git a/src/lagrangian/cfdemParticle/Make/files b/src/lagrangian/cfdemParticle/Make/files index 92a7d09f..c1fefcff 100644 --- a/src/lagrangian/cfdemParticle/Make/files +++ b/src/lagrangian/cfdemParticle/Make/files @@ -6,7 +6,6 @@ voidFractionModels = subModels/voidFractionModel locateModels = subModels/locateModel meshMotionModels = subModels/meshMotionModel momCoupleModels = subModels/momCoupleModel -regionModels = subModels/regionModel dataExchangeModels = subModels/dataExchangeModel averagingModels = subModels/averagingModel clockModels = subModels/clockModel @@ -15,6 +14,7 @@ smoothingModels = subModels/smoothingModel probeModels = subModels/probeModel $(cfdemCloud)/cfdemCloud.C +derived/cfdemCloudBiDisperse/cfdemCloudBiDisperse.C derived/cfdemCloudIB/cfdemCloudIB.C derived/cfdemCloudMS/cfdemCloudMS.C @@ -23,26 +23,43 @@ $(forceModels)/forceModel/newForceModel.C $(forceModels)/noDrag/noDrag.C $(forceModels)/checkCouplingInterval/checkCouplingInterval.C $(forceModels)/DiFeliceDrag/DiFeliceDrag.C +$(forceModels)/DiFeliceDragNLift/DiFeliceDragNLift.C $(forceModels)/GidaspowDrag/GidaspowDrag.C $(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C $(forceModels)/Archimedes/Archimedes.C $(forceModels)/ArchimedesIB/ArchimedesIB.C $(forceModels)/interface/interface.C $(forceModels)/ShirgaonkarIB/ShirgaonkarIB.C +$(forceModels)/fieldTimeAverage/fieldTimeAverage.C +$(forceModels)/fieldBound/fieldBound.C +$(forceModels)/volWeightedAverage/volWeightedAverage.C +$(forceModels)/totalMomentumExchange/totalMomentumExchange.C $(forceModels)/KochHillDrag/KochHillDrag.C $(forceModels)/KochHillRWDrag/KochHillRWDrag.C +$(forceModels)/BeetstraDrag/multiphaseFlowBasic/multiphaseFlowBasic.C +$(forceModels)/BeetstraDrag/BeetstraDrag.C +$(forceModels)/LaEuScalarLiquid/LaEuScalarLiquid.C $(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C +$(forceModels)/LaEuScalarDust/LaEuScalarDust.C $(forceModels)/virtualMassForce/virtualMassForce.C $(forceModels)/gradPForce/gradPForce.C +$(forceModels)/gradULiftForce/gradULiftForce.C +$(forceModels)/HollowayDrag/HollowayDrag.C $(forceModels)/viscForce/viscForce.C $(forceModels)/MeiLift/MeiLift.C +$(forceModels)/melting/melting.C +$(forceModels)/KochHillDragNLift/KochHillDragNLift.C +$(forceModels)/solidsPressureForce/solidsPressureForce.C +$(forceModels)/periodicPressure/periodicPressure.C +$(forceModels)/periodicPressureControl/periodicPressureControl.C +$(forceModels)/averageSlipVel/averageSlipVel.C $(forceModels)/particleCellVolume/particleCellVolume.C -$(forceModels)/fieldTimeAverage/fieldTimeAverage.C -$(forceModels)/volWeightedAverage/volWeightedAverage.C $(forceModelsMS)/forceModelMS/forceModelMS.C $(forceModelsMS)/forceModelMS/newForceModelMS.C $(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C +$(forceModelsMS)/GidaspowDragMS/GidaspowDragMS.C +$(forceModelsMS)/noDragMS/noDragMS.C $(probeModels)/probeModel/probeModel.C $(probeModels)/probeModel/newProbeModel.C @@ -60,10 +77,12 @@ $(voidFractionModels)/voidFractionModel/voidFractionModel.C $(voidFractionModels)/voidFractionModel/newVoidFractionModel.C $(voidFractionModels)/centreVoidFraction/centreVoidFraction.C $(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C +$(voidFractionModels)/dividedVoidFractionBiDi/dividedVoidFractionBiDi.C $(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C $(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C $(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C $(voidFractionModels)/IBVoidFraction/IBVoidFraction.C +$(voidFractionModels)/weightedNeigbhorsVoidFraction/weightedNeigbhorsVoidFraction.C $(locateModels)/locateModel/locateModel.C $(locateModels)/locateModel/newLocateModel.C @@ -73,21 +92,18 @@ $(locateModels)/turboEngineSearch/turboEngineSearch.C $(locateModels)/turboEngineSearchM2M/turboEngineSearchM2M.C $(locateModels)/engineSearchIB/engineSearchIB.C - $(meshMotionModels)/meshMotionModel/meshMotionModel.C $(meshMotionModels)/meshMotionModel/newMeshMotionModel.C $(meshMotionModels)/noMeshMotion/noMeshMotion.C +$(meshMotionModels)/DEMdrivenMeshMotion/DEMdrivenMeshMotion.C $(momCoupleModels)/momCoupleModel/momCoupleModel.C $(momCoupleModels)/momCoupleModel/newMomCoupleModel.C $(momCoupleModels)/explicitCouple/explicitCouple.C +$(momCoupleModels)/explicitCoupleSource/explicitCoupleSource.C $(momCoupleModels)/implicitCouple/implicitCouple.C $(momCoupleModels)/noCouple/noCouple.C -$(regionModels)/regionModel/regionModel.C -$(regionModels)/regionModel/newRegionModel.C -$(regionModels)/allRegion/allRegion.C - $(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C $(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C $(dataExchangeModels)/oneWayVTK/oneWayVTK.C @@ -100,6 +116,7 @@ $(averagingModels)/averagingModel/averagingModel.C $(averagingModels)/averagingModel/newAveragingModel.C $(averagingModels)/dilute/dilute.C $(averagingModels)/dense/dense.C +$(averagingModels)/denseBiDi/denseBiDi.C $(clockModels)/clockModel/clockModel.C $(clockModels)/clockModel/newClockModel.C @@ -117,5 +134,6 @@ $(smoothingModels)/smoothingModel/smoothingModel.C $(smoothingModels)/smoothingModel/newSmoothingModel.C $(smoothingModels)/noSmoothing/noSmoothing.C $(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C +$(smoothingModels)/localPSizeDiffSmoothing/localPSizeDiffSmoothing.C -LIB = $(FOAM_USER_LIBBIN)/lib$(CFDEM_LIB_NAME) +LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME) diff --git a/src/lagrangian/cfdemParticle/Make/options b/src/lagrangian/cfdemParticle/Make/options index eb5d1463..29b3e02c 100644 --- a/src/lagrangian/cfdemParticle/Make/options +++ b/src/lagrangian/cfdemParticle/Make/options @@ -14,6 +14,7 @@ EXE_INC = \ -I$(LIB_SRC)/OpenFOAM/containers/HashTables/labelHashSet \ -I$(CFDEM_LIGGGHTS_SRC_DIR) \ -I$(CFDEM_M2MLIB_PATH) \ + -I$(CFDEM_SRC_DIR)/cfdTools \ LIB_LIBS = \ $(PLIBS) \ diff --git a/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H new file mode 100644 index 00000000..d94133eb --- /dev/null +++ b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H @@ -0,0 +1,3 @@ + //set probeModel parameters for this force model + particleCloud_.probeM().setOutputFile(); + particleCloud_.probeM().setCounter(); diff --git a/src/lagrangian/cfdemParticle/cfdTools/setupProbeModelfields.H b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModelfields.H new file mode 100644 index 00000000..484e2cad --- /dev/null +++ b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModelfields.H @@ -0,0 +1,4 @@ +Field
vValues; +vValues.clear(); +Field sValues; +sValues.clear(); diff --git a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H index d2a81aa6..f9e49050 100755 --- a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H +++ b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H @@ -1,6 +1,6 @@ -word CFDEMversion="cfdem-2.5.7"; -word compatibleLIGGGHTSversion="2.3.7"; -word OFversion="2.1.x"; +word CFDEMversion="cfdem-2.6.0"; +word compatibleLIGGGHTSversion="3.0.0"; +word OFversion="2.2.x - commit 7c405a31b2f7299f5e2669fa18fb251ea219dd03"; Info << "\nCFDEMcoupling version: " << CFDEMversion << "\n" << endl; Info << "\n, compatible to LIGGGHTS version: " << compatibleLIGGGHTSversion << "\n" << endl; diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C index f2307c55..a7130459 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C @@ -452,7 +452,8 @@ bool Foam::cfdemCloud::evolve // reset vol Fields clockM().start(16,"resetVolFields"); - if(verbose_){ + if(verbose_) + { Info << "couplingStep:" << dataExchangeM().couplingStep() << "\n- resetVolFields()" << endl; } @@ -530,19 +531,42 @@ bool Foam::cfdemCloud::evolve // update smoothing model smoothingM().dSmoothing(); - // update voidFractionField - alpha.oldTime().internalField() = voidFractionM().voidFractionInterp(); + //============================================ + // update voidFractionField V1 + alpha = voidFractionM().voidFractionInterp(); smoothingM().smoothen(alpha); + if(dataExchangeM().couplingStep() < 2) + { + alpha.oldTime() = alpha; // supress volume src + alpha.oldTime().correctBoundaryConditions(); + } alpha.correctBoundaryConditions(); // calc ddt(voidfraction) - if (doCouple) calcDdtVoidfraction(voidFractionM().voidFractionNext()); + //calcDdtVoidfraction(voidFractionM().voidFractionNext()); + calcDdtVoidfraction(alpha); + + // update particle velocity Field + Us = averagingM().UsInterp(); + //smoothingM().smoothenReferenceField(Us); + Us.correctBoundaryConditions(); + /*//============================================ + // update voidFractionField + volScalarField oldAlpha = alpha.oldTime(); //save old (smooth) alpha field + alpha.oldTime().internalField() = voidFractionM().voidFractionInterp(); + smoothingM().smoothen(alpha); + alpha.correctBoundaryConditions(); + alpha.oldTime() = oldAlpha; //set old (smooth) alpha field to allow correct computation of ddt + + // calc ddt(voidfraction) + if (doCouple) calcDdtVoidfraction(alpha); //calcDdtVoidfraction(alpha); // alternative with scale=1! (does not see change in alpha?) // update particle velocity Field Us.oldTime().internalField() = averagingM().UsInterp(); smoothingM().smoothenReferenceField(Us); Us.correctBoundaryConditions(); + //============================================*/ clockM().stop("interpolateEulerFields"); if(verbose_){ @@ -592,7 +616,7 @@ tmp cfdemCloud::divVoidfractionTau(volVectorField& U,volScalarFi tmp cfdemCloud::ddtVoidfraction() const { - if (dataExchangeM().couplingStep() <= 2 || !useDDTvoidfraction_) + if (!useDDTvoidfraction_) { Info << "suppressing ddt(voidfraction)" << endl; return tmp (ddtVoidfraction_ * 0.); @@ -602,11 +626,21 @@ tmp cfdemCloud::ddtVoidfraction() const void cfdemCloud::calcDdtVoidfraction(volScalarField& voidfraction) const { - Info << "calculating ddt(voidfraction) based on couplingTime" << endl; - scalar scale=mesh().time().deltaT().value()/dataExchangeM().couplingTime(); - ddtVoidfraction_ = fvc::ddt(voidfraction) * scale; + // version if ddt is calculated only at coupling time + //Info << "calculating ddt(voidfraction) based on couplingTime" << endl; + //scalar scale=mesh().time().deltaT().value()/dataExchangeM().couplingTime(); + //ddtVoidfraction_ = fvc::ddt(voidfraction) * scale; + + ddtVoidfraction_ = fvc::ddt(voidfraction); } +/*tmp cfdemCloud::ddtVoidfractionU(volVectorField& U,volScalarField& voidfraction) const +{ + if (dataExchangeM().couplingStep() <= 2) return fvm::ddt(U); + + return fvm::ddt(voidfraction,U); +}*/ + tmp cfdemCloud::voidfractionNuEff(volScalarField& voidfraction) const { if (modelType_=="A") diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H index 44e9c477..893a64ec 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H @@ -342,6 +342,8 @@ public: void calcDdtVoidfraction(volScalarField& voidfraction) const; + //tmp ddtVoidfractionU(volVectorField& ,volScalarField&) const; + tmp voidfractionNuEff(volScalarField&) const; void resetArray(double**&,int,int,double resetVal=0.); diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C index ce4162c0..6b889dfa 100644 --- a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C +++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C @@ -53,7 +53,9 @@ cfdemCloudIB::cfdemCloudIB ) : cfdemCloud(mesh), - angularVelocities_(NULL) + angularVelocities_(NULL), + pRefCell_(readLabel(mesh.solutionDict().subDict("PISO").lookup("pRefCell"))), + pRefValue_(readScalar(mesh.solutionDict().subDict("PISO").lookup("pRefValue"))) {} @@ -146,6 +148,7 @@ void Foam::cfdemCloudIB::calcVelocityCorrection vector rVec(0,0,0); vector velRot(0,0,0); vector angVel(0,0,0); + for(int index=0; index< numberOfParticles(); index++) { //if(regionM().inRegion()[index][0]) @@ -170,8 +173,17 @@ void Foam::cfdemCloudIB::calcVelocityCorrection //} } - // make field divergence free - solve(fvm::laplacian(phiIB) == fvc::div(U) + fvc::ddt(voidfraction)); + // make field divergence free - set reference value in case it is needed + fvScalarMatrix phiIBEqn + ( + fvm::laplacian(phiIB) == fvc::div(U) + fvc::ddt(voidfraction) + ); + if(phiIB.needReference()) + { + phiIBEqn.setReference(pRefCell_, pRefValue_); + } + + phiIBEqn.solve(); U=U-fvc::grad(phiIB); U.correctBoundaryConditions(); diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H index 8492a62c..06756b3d 100644 --- a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H +++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H @@ -59,6 +59,8 @@ class cfdemCloudIB protected: mutable double **angularVelocities_; + label pRefCell_; + scalar pRefValue_; public: diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C index 91e34758..02e15fe2 100644 --- a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C +++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C @@ -144,13 +144,14 @@ void cfdemCloudMS::getDEMdata() void Foam::cfdemCloudMS::giveDEMdata() { - for(int index = 0;index < numberOfClumps(); ++index) + /*for(int index = 0;index < numberOfClumps(); ++index) { for(int i=0;i<3;i++){ impForcesCM()[index][i] += expForcesCM()[index][i] + DEMForcesCM()[index][i]; } } - if(forceM(0).coupleForce()) dataExchangeM().giveData("dragforce","vector-multisphere",impForcesCM()); + if(forceM(0).coupleForce()) dataExchangeM().giveData("dragforce","vector-multisphere",impForcesCM());*/ + if(forceM(0).coupleForce()) dataExchangeM().giveData("dragforce_cm","vector-multisphere",DEMForcesCM()); if(verbose_) Info << "giveDEMdata done." << endl; } diff --git a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H b/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H index 5760c89f..864dd64f 100644 --- a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H +++ b/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H @@ -6,6 +6,8 @@ // choose comp/incomp //#define comp // if comp is on - you must use Make/options_comp! +//define multi sphere +#define multisphere // features of 2.1 work also in 2.2 #if defined(version22) diff --git a/src/lagrangian/cfdemParticle/etc/bashrc b/src/lagrangian/cfdemParticle/etc/bashrc index 456ae3a3..e5e21427 100755 --- a/src/lagrangian/cfdemParticle/etc/bashrc +++ b/src/lagrangian/cfdemParticle/etc/bashrc @@ -24,7 +24,7 @@ #export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities #export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials #export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION -#export CFDEM_bashrc=$CFDEM_SRC_DIR/etc/bashrc +#export CFDEM_bashrc=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc #export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src #export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic #export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src @@ -44,7 +44,7 @@ export CFDEM_LIGGGHTS_LIB_NAME=lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME export CFDEM_LIB_NAME=lagrangianCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION #- LMP M2M lib path -export CFDEM_M2MLIB_PATH=$CFDEM_SRC_DIR/subModels/dataExchangeModel/twoWayM2M/library +export CFDEM_M2MLIB_PATH=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library #- path to test harness export CFDEM_TEST_HARNESS_PATH=$CFDEM_PROJECT_USER_DIR/log/logFilesCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION @@ -56,7 +56,7 @@ export CFDEM_LIB_DIR=$FOAM_USER_LIBBIN export CFDEM_APP_DIR=$FOAM_USER_APPBIN #- path to OF version flag file -export CFDEM_OFVERSION_DIR=$CFDEM_SRC_DIR/etc/OFversion +export CFDEM_OFVERSION_DIR=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/OFversion #------------------------------------------------------------------------------ #- settings for lpp postproc tool #------------------------------------------------------------------------------ @@ -101,37 +101,40 @@ alias cfdemDox='firefox $CFDEM_DOC_DIR/doxygen/html/index.html' alias cfdemLIG='cd $CFDEM_LIGGGHTS_SRC_DIR' #- shortcut to system test -alias cfdemSysTest='bash $CFDEM_SRC_DIR/etc/cfdemSystemTest.sh' +alias cfdemSysTest='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh' #- shortcut to pull LIGGGHTS -alias cfdemPullLIG='bash $CFDEM_SRC_DIR/etc/pullLIGGGHTS.sh' +alias cfdemPullLIG='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh' + +#- shortcut to pull CFDEMcoupling +alias cfdemPullCFDEMcoupling='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullCFDEMcoupling.sh' #- shortcut to clean CFDEM -alias cfdemCleanCFDEM='bash $CFDEM_SRC_DIR/etc/cleanCFDEMcoupling.sh' +alias cfdemCleanCFDEM='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh' #- shortcut to compile LIGGGHTS -alias cfdemCompLIG='bash $CFDEM_SRC_DIR/etc/compileLIGGGHTS.sh' +alias cfdemCompLIG='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh' #- shortcut to compile CFDEMcoupling +LIGGGHTS -alias cfdemCompCFDEMall='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_all.sh' +alias cfdemCompCFDEMall='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh' #- shortcut to compile CFDEMcoupling (src+solvers) -alias cfdemCompCFDEM='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling.sh' +alias cfdemCompCFDEM='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh' #- shortcut to compile CFDEMcoupling src -alias cfdemCompCFDEMsrc='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_src.sh' +alias cfdemCompCFDEMsrc='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh' #- shortcut to compile CFDEMcoupling solvers -alias cfdemCompCFDEMsol='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_sol.sh' +alias cfdemCompCFDEMsol='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh' #- shortcut to compile CFDEMcoupling utilities -alias cfdemCompCFDEMuti='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_uti.sh' +alias cfdemCompCFDEMuti='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh' #- shortcut to compile couple library -alias cfdemCompM2M='bash $CFDEM_SRC_DIR/etc/compileM2Mlib.sh' +alias cfdemCompM2M='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileM2Mlib.sh' #- shortcut to test basic tutorials -alias cfdemTestTUT='bash $CFDEM_SRC_DIR/etc/testTutorials.sh' +alias cfdemTestTUT='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/testTutorials.sh' #- recursive touch of current directory alias touchRec='find ./* -exec touch {} \;' diff --git a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh index 6a211c26..9c508c88 100755 --- a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh +++ b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh @@ -6,7 +6,7 @@ #===================================================================# #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh #- show gcc settings checkGPP="true" @@ -18,6 +18,7 @@ echo "*******************" echo "CFDEM_VERSION=$CFDEM_VERSION" echo "couple to OF_VERSION=$WM_PROJECT_VERSION" +echo "compile option=$WM_COMPILE_OPTION" echo echo "check if paths are set correctly" diff --git a/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh b/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh index 64d6204e..99008b3c 100644 --- a/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh +++ b/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh @@ -6,7 +6,7 @@ #===================================================================# #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh #================================================================================# # clean src remove object files diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh index e5b047ae..9792a1a4 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh @@ -6,26 +6,26 @@ #===================================================================# #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh NOW="$(date +"%Y-%m-%d-%H:%M")" logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir #================================================================================# # compile src #================================================================================# -bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_src.sh +bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh #================================================================================# # compile solvers #================================================================================# -bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_sol.sh +bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh #================================================================================# # compile utilities #================================================================================# -bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_uti.sh +bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh index fb71d387..f8412166 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh @@ -6,21 +6,21 @@ #===================================================================# #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh NOW="$(date +"%Y-%m-%d-%H:%M")" logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir #================================================================================# # compile LIGGGHTS #================================================================================# -bash $CFDEM_SRC_DIR/etc/compileLIGGGHTS.sh +bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh #================================================================================# # compile CFDEMcoupling #================================================================================# -bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling.sh +bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh index 5cfb5df8..29388637 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh @@ -8,9 +8,9 @@ whitelist="solver-list.txt" #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir CWD="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" @@ -19,13 +19,13 @@ NOW="$(date +"%Y-%m-%d-%H:%M")" echo "" echo "This routine will compile the solvers specified in solver-list.txt" echo "" -echo "Are the variables CFDEM_SOLVER_DIR=$CFDEM_SOLVER_DIR" -echo "and CFDEM_SRC_DIR=$CFDEM_SRC_DIR correct? (y/n)" -read YN -if [ "$YN" != "y" ];then - echo "Aborted by user." - exit 1 -fi +#echo "Are the variables CFDEM_SOLVER_DIR=$CFDEM_SOLVER_DIR" +#echo "and CFDEM_SRC_DIR=$CFDEM_SRC_DIR/lagrangian/cfdemParticle correct? (y/n)" +#read YN +#if [ "$YN" != "y" ];then +# echo "Aborted by user." +# exit 1 +#fi echo "" echo "Please provide the solvers to be compiled in the $CWD/$whitelist file." diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh index 09ec125f..003e65df 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh @@ -3,28 +3,63 @@ #===================================================================# # compile routine for CFDEMcoupling source, part of CFDEMproject # Christoph Goniva - May. 2012, DCS Computing GmbH +# update: Stefan Radl (TU Graz, Jan 2014) #===================================================================# - + #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh NOW="$(date +"%Y-%m-%d-%H:%M")" logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir #================================================================================# # compile src #================================================================================# + whitelist="$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/library-list.txt" + echo "" + echo "Please provide the libraries to be compiled in the $CWD/$whitelist file." + + if [ ! -f "$CWD/$whitelist" ];then + echo "$whitelist does not exist in $CWD. Nothing will be done." + NLINES=0 + COUNT=0 + else + NLINES=`wc -l < $CWD/$whitelist` + COUNT=0 + fi + + while [ $COUNT -lt $NLINES ] + do + let COUNT++ + LINE=`head -n $COUNT $CWD/$whitelist | tail -1` + + # white lines + if [[ "$LINE" == "" ]]; then + echo "compile $LINE" + continue + # comments + elif [[ "$LINE" == \#* ]]; then + continue + # paths + elif [[ "$LINE" == */dir ]]; then + echo "will change path..." + LINE=$(echo "${LINE%????}") + path="$CFDEM_SRC_DIR/$LINE" + cd $path + #continue + fi + #--------------------------------------------------------------------------------# + #- define variables + logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir" + logfileName="log_compileCFDEMcoupling_"$(basename $LINE)"" + casePath="$path" + headerText="$logfileName""-$NOW" + #--------------------------------------------------------------------------------# + compileLib $logpath $logfileName $casePath $headerText + done -#--------------------------------------------------------------------------------# -#- define variables -logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir" -logfileName="log_compileCFDEMcoupling_src" #alternative: logfileName="log_compileLIGGGHTS_$NOW" -casePath="$CFDEM_SRC_DIR" -headerText="$logfileName""-$NOW" -#--------------------------------------------------------------------------------# -compileLib $logpath $logfileName $casePath $headerText diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh index 423843fc..8b91bfeb 100644 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh @@ -6,13 +6,13 @@ #===================================================================# #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh NOW="$(date +"%Y-%m-%d-%H:%M")" logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir #================================================================================# diff --git a/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh b/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh index 58e3d656..6914f310 100755 --- a/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh +++ b/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh @@ -6,12 +6,12 @@ #=================================================================== #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh NOW="$(date +"%Y-%m-%d-%H:%M")" logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir #--------------------------------------------------------------------------------# diff --git a/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh b/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh index 7cd91b0b..c5875e30 100755 --- a/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh +++ b/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh @@ -6,12 +6,12 @@ #=================================================================== #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh NOW="$(date +"%Y-%m-%d-%H:%M")" logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir #--------------------------------------------------------------------------------# diff --git a/src/lagrangian/cfdemParticle/etc/controlDict_cgs_2.2.x b/src/lagrangian/cfdemParticle/etc/controlDict_cgs_2.2.x new file mode 100644 index 00000000..2922de2b --- /dev/null +++ b/src/lagrangian/cfdemParticle/etc/controlDict_cgs_2.2.x @@ -0,0 +1,1031 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.2.1 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} + +// NB: the #functions do not work here +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +Documentation +{ + docBrowser "firefox %f"; + doxyDocDirs + ( + "$WM_PROJECT_USER_DIR/html" + "~OpenFOAM/html" + "$WM_PROJECT_DIR/doc/Doxygen/html" + ); + doxySourceFileExts + ( + "App_8C.html" + "_8C.html" + ); +} + + +InfoSwitches +{ + writePrecision 6; + writeJobInfo 0; + writeDictionaries 0; + + // Allow case-supplied C++ code (#codeStream, codedFixedValue) + allowSystemOperations 0; +} + + +OptimisationSwitches +{ + // On NFS mounted file system: maximum wait for files to appear/get + // updated. Set to 0 on distributed case. + fileModificationSkew 30; + + //- Modification checking: + // - timeStamp : use modification time on file + // - inotify : use inotify framework + // - timeStampMaster : do time stamp (and file reading) only on master. + // - inotifyMaster : do inotify (and file reading) only on master. + fileModificationChecking timeStampMaster;//inotify;timeStamp;inotifyMaster; + + commsType nonBlocking; //scheduled; //blocking; + floatTransfer 0; + nProcsSimpleSum 0; + + // Force dumping (at next timestep) upon signal (-1 to disable) + writeNowSignal -1; //10; + // Force dumping (at next timestep) upon signal (-1 to disable) and exit + stopAtWriteNowSignal -1; +} + + +DebugSwitches +{ + Analytical 0; + APIdiffCoefFunc 0; + Ar 0; + BICCG 0; + BirdCarreau 0; + C10H22 0; + C12H26 0; + C13H28 0; + C14H30 0; + C16H34 0; + C2H5OH 0; + C2H6 0; + C2H6O 0; + C3H6O 0; + C3H8 0; + C4H10O 0; + C6H14 0; + C6H6 0; + C7H16 0; + C7H8 0; + C8H10 0; + C8H18 0; + C9H20 0; + CH3OH 0; + CH4N2O 0; + CarnahanStarling 0; + CallbackRegistry 0; + CentredFitData 0; + CentredFitData 0; + CentredFitData 0; + CentredFitData 0; + ChomiakInjector 0; + Cloud 0; + Cloud 0; + Cloud 0; + Cloud 0; + Cloud 0; + Cloud 0; + Cloud 0; + CoEuler 0; + CompositionModel 0; + ConeInjection 0; + Constant 0; + ConstantRateDevolatilisation 0; + CrankNicolson 0; + CrossPowerLaw 0; + Cs 0; + DIC 0; + DICGaussSeidel 0; + DILU 0; + DILUGaussSeidel 0; + DataEntry 0; + DeardorffDiffStress 0; + DispersionModel 0; + DispersionRASModel 0; + DragModel 0; + ETAB 0; + Ergun 0; + Euler 0; + EulerImplicit 0; + EulerRotation 0; + extendedCellToFaceStencil 0; + FDIC 0; + FaceCellWave 0; + GAMG 0; + GAMGAgglomeration 0; + GAMGInterface 0; + GAMGInterfaceField 0; + Gamma 0; + Gamma01 0; + GammaV 0; + Gauss 0; + GaussSeidel 0; + Gibilaro 0; + Gidaspow 0; + GidaspowErgunWenYu 0; + GidaspowSchillerNaumann 0; + GradientDispersionRAS 0; + Gulders 0; + GuldersEGR 0; + H2O 0; + HashTable 0; + HeatTransferModel 0; + HerschelBulkley 0; + HrenyaSinclair 0; + IC8H18 0; + ICCG 0; + IDDESDelta 0; + IDEA 0; + IFstream 0; + IOMap 0; + IOPtrList 0; + IOPtrList 0; + IOPtrList 0; + IOPtrList 0; + IOobject 0; + InjectionModel 0; + IntegrationScheme 0; + JohnsonJackson 0; + KRR4 0; + KinematicCloud 0; + KinematicCloud 0; + KinematicCloud 0; + KinematicParcel 0; + KinematicParcel 0; + LESModel 0; + LESdelta 0; + LESfilter 0; + LISA 0; + LRR 0; + LRRDiffStress 0; + LamBremhorstKE 0; + LaunderGibsonRSTM 0; + LaunderSharmaKE 0; + LienCubicKE 0; + LienCubicKELowRe 0; + LienLeschzinerLowRe 0; + MB 0; + MC 0; + MCV 0; + MUSCL 0; + MUSCL01 0; + MUSCLV 0; + ManualInjection 0; + MarshakRadiation 0; + MarshakRadiationFixedT 0; + MassTransferModel 0; + MeshWave 0; + Minmod 0; + MinmodV 0; + N2 0; + NSRDSfunc0 0; + NSRDSfunc1 0; + NSRDSfunc14 0; + NSRDSfunc2 0; + NSRDSfunc3 0; + NSRDSfunc4 0; + NSRDSfunc5 0; + NSRDSfunc6 0; + NSRDSfunc7 0; + Newtonian 0; + NoDispersion 0; + NoDrag 0; + NoHeatTransfer 0; + NoInjection 0; + NoMassTransfer 0; + NoSurfaceReaction 0; + NonlinearKEShih 0; + ODE 0; + ODESolver 0; + OFstream 0; + ORourke 0; + OSPRE 0; + OSPREV 0; + P1 0; + PBiCG 0; + PCG 0; + PackedList 0; + ParSortableList 0; + PatchToPatchInterpolation 0; + Phi 0; + PointEdgeWave 0; + POSIX 0; + Prandtl 0; + PrimitivePatch 0; + Pstream 0; + QUICK 0; + QUICKV 0; + QZeta 0; + RASModel 0; + RK 0; + RNGkEpsilon 0; + RanzMarshall 0; + ReactingCloud 0; + ReactingParcel 0; + Rebound 0; + ReitzDiwakar 0; + ReitzKHRT 0; + RosinRammler 0; + RutlandFlashBoil 0; + SDA 0; + SFCD 0; + SFCDV 0; + SHF 0; + SIBS 0; + SKA 0; + SLTS 0; + SRFModel 0; + SRFVelocity 0; + STARCDRotation 0; + Schaeffer 0; + SchillerNaumann 0; + SinclairJackson 0; + SingleKineticRateDevolatilisation 0; + SingleMixtureFraction 0; + Smagorinsky 0; + SolverPerformance 1; + SpalartAllmaras 0; + SpalartAllmarasDDES 0; + SpalartAllmarasIDDES 0; + SphereDrag 0; + StandardWallInteraction 0; + StaticHashTable 0; + StochasticDispersionRAS 0; + SuperBee 0; + SuperBeeV 0; + SurfaceReactionModel 0; + Syamlal 0; + SyamlalOBrien 0; + SyamlalRogersOBrien 0; + TAB 0; + Table 0; + ThermoCloud 0; + ThermoCloud 0; + ThermoParcel 0; + ThermoParcel 0; + UMIST 0; + UMISTV 0; + UpwindFitData 0; + UpwindFitData 0; + UpwindFitData 0; + WallInteractionModel 0; + WenYu 0; + aC11H10 0; + absorptionEmissionModel 0; + addCell 0; + addFace 0; + addPatchCellLayer 0; + addPoint 0; + advective 0; + algebraicPair 0; + alphaContactAngle 0; + alphaFixedPressure 0; + alphatWallFunction 0; + angularOscillatingDisplacement 0; + angularOscillatingVelocity 0; + anisotropic 0; + ash 0; + atomizationModel 0; + attachDetach 0; + autoDensity 0; + autoHexMeshDriver 0; + autoLayerDriver 0; + autoRefineDriver 0; + autoSnapDriver 0; + bC11H10 0; + backgroundMeshDecomposition 0; + backward 0; + basePatch 0; + basicKinematicCloud 0; + basicKinematicParcel 0; + basicMixture 0; + basicReactingCloud 0; + basicReactingParcel 0; + fluidThermo 0; + fluidThermoCloud 0; + fluidThermoParcel 0; + biLinearFit 0; + binaryAbsorptionEmission 0; + blended 0; + blobsSheetAtomization 0; + blobsSwirlInjector 0; + booleanSurface 0; + boundaryCutter 0; + boundaryMesh 0; + boundaryToFace 0; + boundedBackward 0; + boxToCell 0; + boxToFace 0; + boxToPoint 0; + breakupModel 0; + calculated 0; + cell 0; + cellClassification 0; + cellCuts 0; + cellDistFuncs 0; + cellLimited 0; + cellList 0; + cellLooper 0; + cellMDLimited 0; + cellMotion 0; + cellPoint 0; + cellPointFace 0; + cellPointWeight 0; + cellSet 0; + cellSizeControlSurfaces 0; + cellToCell 0; + cellToFace 0; + cellToPoint 0; + cellZone 0; + centredCECStencil 0; + centredCFCStencil 0; + chemistryReader 0; + chemistrySolver 0; + chemkinReader 0; + clippedLinear 0; + cloud 0; + cloudAbsorptionEmission 0; + cloudScatter 0; + collisionModel 0; + combineFaces 0; + commSchedule 0; + commonRailInjector 0; + compound 0; + constInjector 0; + constant 0; + constantAbsorptionEmission 0; + constantAlphaContactAngle 0; + constantScatter 0; + coordinateRotation 0; + coordinateSystem 0; + coordinateSystems 0; + corrected 0; + coupled 0; + cubeRootVol 0; + cubic 0; + cubicUpwindFit 0; + curve 0; + cyclic 0; + cyclicLduInterface 0; + cyclicLduInterfaceField 0; + cylinderToCell 0; + cylindrical 0; + decompositionMethod 0; + definedHollowConeInjector 0; + definedInjector 0; + definedPressureSwirlInjector 0; + diagTensorField 0; + diagonal 0; + dictionary 0; + dimensionSet 1; + mappedBase 0; + mappedPatch 0; + mappedVelocityFlux 0; + directionMixed 0; + directional 0; + disallowGenericFvPatchField 0; + disallowGenericPointPatchField 0; + disallowGenericPolyPatch 0; + dispersionLESModel 0; + dispersionModel 0; + dispersionRASModel 0; + displacementComponentLaplacian 0; + displacementInterpolation 0; + displacementLaplacian 0; + displacementSBRStress 0; + distanceSurface 0; + Distribution 0; + downwind 0; + dragModel 0; + duplicatePoints 0; + dx 0; + dynMixedSmagorinsky 0; + dynOneEqEddy 0; + dynSmagorinsky 0; + dynamicAlphaContactAngle 0; + dynamicFvMesh 0; + dynamicInkJetFvMesh 0; + dynamicMotionSolverFvMesh 0; + dynamicRefineFvMesh 0; + edgeIntersections 0; + edgeList 0; + edgeSurface 0; + empty 0; + engineMesh 0; + enrichedPatch 0; + epsilonWallFunction 0; + errorDrivenRefinement 0; + evaporationModel 0; + exponential 0; + extendedLeastSquares 0; + extendedLeastSquaresVectors 0; + face 0; + faceAreaPair 0; + faceCoupleInfo 0; + faceLimited 0; + faceList 0; + faceMDLimited 0; + faceSet 0; + faceToCell 0; + faceToFace 0; + faceToPoint 0; + faceZone 0; + fan 0; + featureEdgeMesh 0; + fieldToCell 0; + file 0; + fileName 2; + filteredLinear 0; + filteredLinear2 0; + filteredLinear2V 0; + filteredLinear3 0; + filteredLinear3V 0; + fixedEnthalpy 0; + buoyantPressure 0; + fixedFluxBoussinesqBuoyantPressure 0; + fixedFluxPressure 0; + fixedGradient 0; + fixedInternalEnergy 0; + fixedInternalValue 0; + fixedNormalSlip 0; + fixedPressureCompressibleDensity 0; + fixedUnburntEnthalpy 0; + fixedValue 0; + flowRateInletVelocity 0; + fluxCorrectedVelocity 0; + foamChemistryReader 0; + foamFile 0; + forceCoeffs 0; + forces 0; + fourth 0; + freestream 0; + freestreamPressure 0; + frictionalStressModel 0; + functionObject 0; + fv 0; + fvMesh 0; + fvMeshDistribute 0; + fvMotionSolver 0; + fvPatchField 0; + fvScalarMatrix 0; + fvSchemes 0; + fvSphericalTensorMatrix 0; + fvSymmTensorMatrix 0; + fvTensorMatrix 0; + fvVectorMatrix 0; + fvsPatchField 0; + general 0; + generic 0; + genericPatch 0; + geomCellLooper 0; + geometricSurfacePatch 0; + global 0; + globalIndexAndTransform 0; + globalMeshData 0; + globalPoints 0; + gnuplot 0; + gradientDispersionRAS 0; + gradientEnthalpy 0; + gradientInternalEnergy 0; + gradientUnburntEnthalpy 0; + granularPressureModel 0; + hCombustionThermo 0; + hMixtureThermo >>>> 0; + hMixtureThermo >>>> 0; + hMixtureThermo >>>> 0; + hMixtureThermo >>>> 0; + hMixtureThermo >>>> 0; + hMixtureThermo 0; + hMixtureThermo >>>> 0; + hMixtureThermo >>>> 0; + hThermo >>>> 0; + hThermo >>>> 0; + hThermo >>>> 0; + harmonic 0; + heatTransferModel 0; + hexCellLooper 0; + hexRef8 0; + hhuCombustionThermo 0; + hhuMixtureThermo >>>> 0; + hhuMixtureThermo >>>> 0; + hhuMixtureThermo >>>> 0; + hhuMixtureThermo >>>> 0; + hhuMixtureThermo >>>> 0; + hhuMixtureThermo >>>> 0; + hhuMixtureThermo >>>> 0; + hhuMixtureThermo >>>> 0; + hierarchical 0; + hollowConeInjector 0; + iC3H8O 0; + indexedOctree 0; + indexedParticle 0; + injectorModel 0; + injectorType 0; + inletOutlet 0; + inletOutletTotalTemperature 0; + interfaceCompression 0; + intersectedSurface 0; + inverseDistance 0; + inverseFaceDistance 0; + inversePointDistance 0; + inverseVolume 0; + isoSurface 0; + isoSurfaceCell 0; + jplot 0; + jumpCyclic 0; + kEpsilon 0; + kOmega 0; + kOmegaSST 0; + kOmegaSSTSAS 0; + kqRWallFunction 0; + kinematicCloud 0; + labelField 0; + labelList 0; + labelListList 0; + labelToCell 0; + labelToFace 0; + labelToPoint 0; + laminar 0; + laminarFlameSpeed 0; + laplace 0; + layerAdditionRemoval 0; + layered 0; + lduInterface 0; + lduInterfaceField 0; + lduMatrix 1; + lduMesh 0; + leastSquares 0; + leastSquaresVectors 0; + level 2; + limitWith 0; + limited 0; + limitedCubic 0; + limitedCubic01 0; + limitedCubicV 0; + limitedGamma 0; + limitedLimitedCubic 0; + limitedLimitedLinear 0; + limitedLinear 0; + limitedLinear01 0; + limitedLinearV 0; + limitedMUSCL 0; + limitedSurfaceInterpolationScheme 0; + limitedVanLeer 0; + linear 0; + linearFit 0; + linearUpwind 0; + linearUpwindV 0; + liquid 0; + locDynOneEqEddy 0; + localBlended 0; + localMax 0; + localMin 0; + localPointRegion 0; + lowReOneEqEddy 0; + manual 0; + meshCutAndRemove 0; + meshCutter 0; + meshModifier 0; + meshRefinement 0; + meshSearch 0; + meshToMesh 0; + metis 0; + midPoint 0; + midPointAndFace 0; + mixed 0; + mixedEnthalpy 0; + mixedInternalEnergy 0; + mixedSmagorinsky 0; + mixedUnburntEnthalpy 0; + mixerFvMesh 0; + modifyCell 0; + modifyFace 0; + modifyPoint 0; + motionDiffusivity 0; + motionDirectional 0; + motionSmoother 0; + motionSolver 0; + movingConeTopoFvMesh 0; + movingWallVelocity 0; + muSgsSpalartAllmarasWallFunction 0; + multiDirRefinement 0; + multiHoleInjector 0; + multiLevel 0; + multivariateSelection 0; + mutRoughWallFunction 0; + mutSpalartAllmarasStandardRoughWallFunction 0; + mutSpalartAllmarasStandardWallFunction 0; + mutSpalartAllmarasWallFunction 0; + mutWallFunction 0; + nC3H8O 0; + nbrToCell 0; + nearestToCell 0; + nearestToPoint 0; + noAbsorptionEmission 0; + noDragModel 0; + noRadiation 0; + none 0; + normal 0; + normalToFace 0; + nuSgsSpalartAllmarasWallFunction 0; + nutRoughWallFunction 0; + nutSpalartAllmarasStandardRoughWallFunction 0; + nutSpalartAllmarasStandardWallFunction 0; + nutSpalartAllmarasWallFunction 0; + nutWallFunction 0; + obj 0; + objectRegistry 0; + off 0; + omegaWallFunction 0; + oneEqEddy 0; + orientedSurface 0; + oscillatingDisplacement 0; + oscillatingFixedValue 0; + oscillatingVelocity 0; + outletInlet 0; + outletStabilised 0; + pair 0; + parabolicCylindrical 0; + parcel 0; + partialSlip 0; + passiveParticle 0; + patch 0; + patchToFace 0; + patchZones 0; + pdf 0; + perfectInterface 0; + pointIndexHitList 0; + pointPatchField 0; + pointScalarField 0; + pointScalarField::DimensionedInternalField 0; + pointSet 0; + pointSphericalTensorField 0; + pointSphericalTensorField::DimensionedInternalField 0; + pointSymmTensorField 0; + pointSymmTensorField::DimensionedInternalField 0; + pointTensorField 0; + pointTensorField::DimensionedInternalField 0; + pointToCell 0; + pointToFace 0; + pointToPoint 0; + pointVectorField 0; + pointVectorField::DimensionedInternalField 0; + pointZone 0; + polyBoundaryMesh 0; + polyMesh 0; + polyMeshGeometry 0; + polyMeshInfo 0; + polyTopoChange 0; + polyTopoChanger 0; + powerLaw 0; + pressureDirectedInletOutletVelocity 0; + pressureDirectedInletVelocity 0; + pressureInletOutletVelocity 0; + pressureInletUniformVelocity 0; + pressureInletVelocity 0; + pressureNormalInletOutletVelocity 0; + pressureSwirlInjector 0; + primitiveMesh 0; + primitiveMeshGeometry 0; + probes 0; + processor 0; + processorLduInterface 0; + processorLduInterfaceField 0; + pureMixture >>> 0; + pureMixture >>> 0; + pureMixture >>> 0; + quadratic 0; + quadraticFit 0; + quadraticLinearFit 0; + quadraticLinearUpwindFit 0; + quadraticUpwindFit 0; + radiationModel 0; + raw 0; + reactingCloud 0; + reaction 0; + realizableKE 0; + refinementHistory 0; + refinementIterator 0; + reflect 0; + regIOobject 0; + regionSplit 0; + regionToCell 0; + remove 0; + removeCell 0; + removeCells 0; + removeFace 0; + removeFaces 0; + removePoint 0; + removePoints 0; + reverseLinear 0; + rotatedBoxToCell 0; + rotatingPressureInletOutletVelocity 0; + rotatingTotalPressure 0; + sampledPatch 0; + sampledPlane 0; + sampledSet 0; + sampledSurface 0; + saturateEvaporationModel 0; + scalarAverageField 0; + scalarField 0; + scalarRange 0; + scaleSimilarity 0; + scatterModel 0; + searchableBox 0; + searchableSurface 0; + sequential 0; + setUpdater 0; + sets 0; + shapeList 0; + shapeToCell 0; + simple 0; + sixDoFRigidBodyMotionConstraint 0; + skewCorrected 0; + skewCorrectionVectors 0; + sliced 0; + slidingInterface 0; + slip 0; + smooth 0; + smoothSolver 0; + solid 0; + solidBodyMotionFunction 0; + solidBodyMotionFvMesh 0; + solution 0; + spectEddyVisc 0; + sphereToCell 0; + spherical 0; + sphericalTensorAverageField 0; + sphericalTensorField 0; + standardDragModel 0; + standardEvaporationModel 0; + staticFvMesh 0; + steadyState 0; + stl 0; + string 0; + stochasticDispersionRAS 0; + supersonicFreestream 0; + surfaceFeatures 0; + surfaceInterpolation 0; + surfaceInterpolationScheme 0; + surfaceIntersection 0; + surfaceNormalFixedValue 0; + surfacePatch 0; + surfacePatchIOList 0; + surfaceScalarField 0; + surfaceScalarField::DimensionedInternalField 0; + surfaceSlipDisplacement 0; + surfaceSphericalTensorField 0; + surfaceSphericalTensorField::DimensionedInternalField 0; + surfaceSymmTensorField 0; + surfaceSymmTensorField::DimensionedInternalField 0; + surfaceTensorField 0; + surfaceTensorField::DimensionedInternalField 0; + surfaceToCell 0; + surfaceToPoint 0; + surfaceVectorField 0; + surfaceVectorField::DimensionedInternalField 0; + surfaceWriter 0; + surfaces 0; + swirlInjector 0; + symmTensorAverageField 0; + symmTensorField 0; + symmetryPlane 0; + syringePressure 0; + tensorAverageField 0; + tensorField 0; + tetDecomposedPolyMesh 0; + thermoCloud 0; + thermophysicalFunction 0; + time 0; + timeVaryingAlphaContactAngle 0; + timeVaryingFlowRateInletVelocity 0; + timeVaryingMappedFixedValue 0; + timeVaryingTotalPressure 0; + timeVaryingUniformFixedValue 0; + timer 0; + topoAction 0; + topoCellLooper 0; + topoChangerFvMesh 0; + topoSet 0; + topoSetSource 0; + toroidal 0; + totalPressure 0; + totalTemperature 0; + trackedParticle 0; + trajectory 0; + transform 0; + treeDataCell 0; + treeDataFace 0; + treeDataTriSurface 0; + treeLeaf 0; + treeNode 0; + triSurface 0; + triSurfaceMesh 0; + turbulenceModel 0; + turbulentHeatFluxTemperature 0; + turbulentInlet 0; + turbulentIntensityKineticEnergyInlet 0; + turbulentMixingLengthDissipationRateInlet 0; + turbulentMixingLengthFrequencyInlet 0; + uncorrected 0; + undoableMeshCutter 0; + uniform 0; + uniformFixedValue 0; + unitInjector 0; + upwind 0; + upwindCFCStencil 0; + value 0; + vanAlbada 0; + vanAlbadaV 0; + vanDriest 0; + vanLeer 0; + vanLeer01 0; + vanLeerV 0; + vector2DField 0; + vectorAverageField 0; + vectorField 0; + velocityComponentLaplacian 0; + velocityLaplacian 0; + viscosityModel 0; + volPointInterpolation 0; + volScalarField 0; + volScalarField::DimensionedInternalField 0; + volSphericalTensorField 0; + volSphericalTensorField::DimensionedInternalField 0; + volSymmTensorField 0; + volSymmTensorField::DimensionedInternalField 0; + volTensorField 0; + volTensorField::DimensionedInternalField 0; + volVectorField 0; + volVectorField::DimensionedInternalField 0; + vtk 0; + walkPatch 0; + wall 0; + wallHeatTransfer 0; + wallLayerCells 0; + wallModel 0; + warnUnboundedGauss 1; + waveTransmissive 0; + wedge 0; + weighted 0; + word 2; + writer 0; + xmgr 0; + zeroGradient 0; + zoneToCell 0; + zoneToFace 0; + zoneToPoint 0; +} + + +DimensionedConstants +{ + unitSet CGS; // SI; // USCS + + SICoeffs + { + universal + { + c c [ 0 1 -1 0 0 0 0 ] 2.99792e+08; + G G [ -1 3 -2 0 0 0 0 ] 6.67429e-11; + h h [ 1 2 -1 0 0 0 0 ] 6.62607e-34; + } + electromagnetic + { + e e [ 0 0 1 0 0 1 0 ] 1.60218e-19; + } + atomic + { + me me [ 1 0 0 0 0 0 0 ] 9.10938e-31; + mp mp [ 1 0 0 0 0 0 0 ] 1.67262e-27; + } + physicoChemical + { + mu mu [ 1 0 0 0 0 0 0 ] 1.66054e-27; + k k [ 1 2 -2 -1 0 0 0 ] 1.38065e-23; + } + standard + { + //- Standard pressure [Pa] + Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 100000; + //- Standard temperature [degK] + Tstd Tstd [ 0 0 0 1 0 0 0 ] 298.15; + } + } + USCSCoeffs + { + universal + { + c c [ 0 1 -1 0 0 0 0 ] 9.83558e+08; + G G [ -1 3 -2 0 0 0 0 ] 1.06909e-09; + h h [ 1 2 -1 0 0 0 0 ] 1.57234e-32; + } + electromagnetic + { + e e [ 0 0 1 0 0 1 0 ] 1.60218e-19; + } + atomic + { + me me [ 1 0 0 0 0 0 0 ] 2.00825e-30; + mp mp [ 1 0 0 0 0 0 0 ] 3.68746e-27; + } + physicoChemical + { + mu mu [ 1 0 0 0 0 0 0 ] 3.66083e-27; + k k [ 1 2 -2 -1 0 0 0 ] 1.82012e-22; + } + standard + { + //- Standard pressure [lbm/ft^2] + Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 2088.6; + //- Standard temperature [degR] + Tstd Tstd [ 0 0 0 1 0 0 0 ] 536.67; + } + } +} + + +DimensionSets +{ + unitSet SI; // USCS + + SICoeffs + { + // Basic units + kg kg [ 1 0 0 0 0 0 0 ] 1.0; + m m [ 0 1 0 0 0 0 0 ] 1.0; + s s [ 0 0 1 0 0 0 0 ] 1.0; + K K [ 0 0 0 1 0 0 0 ] 1.0; + mol mol [ 0 0 0 0 1 0 0 ] 1.0; + A A [ 0 0 0 0 0 1 0 ] 1.0; + Cd Cd [ 0 0 0 0 0 0 1 ] 1.0; + + // Derived units + Hz Hz [ s^-1 ] 1.0; + N N [ kg m s^-2 ] 1.0; + Pa Pa [ N m^-2 ] 1.0; + J J [ N m ] 1.0; + W W [ J s^-1 ] 1.0; + + // Some non-symbolic ones + area area [m^2] 1.0; + volume volume [m^3] 1.0; + density density [ kg m^-3 ] 1.0; + acceleration acceleration [ m s^-2 ] 1.0; + kinematicPressure kinematicPressure [ Pa density^-1 ] 1.0; + + // Scaled units. Only allowed in dimensionedType (dimensionedScalar, + // dimensionedVector etc.) and UniformDimensionedField, not + // in DimensionedField or GeometricField + cm cm [ m ] 1e-2; + mm mm [ m ] 1e-3; + km km [ m ] 1e3; + + // Set of units used for printing. Can be any basic or derived + // but not scaled (only supported for dimensionedScalar, etc) + //writeUnits (kg m s K mol A Cd); + } + + USCSCoeffs + { + // Basic units + lb lb [ 1 0 0 0 0 0 0 ] 1.0; + ft ft [ 0 1 0 0 0 0 0 ] 1.0; + s s [ 0 0 1 0 0 0 0 ] 1.0; + R R [ 0 0 0 1 0 0 0 ] 1.0; + mol mol [ 0 0 0 0 1 0 0 ] 1.0; + A A [ 0 0 0 0 0 1 0 ] 1.0; + Cd Cd [ 0 0 0 0 0 0 1 ] 1.0; + + // Set of units used for printing. Can be any basic or derived + // but not scaled (only supported for dimensionedScalar, etc) + //writeUnits (lb ft s R mol A Cd); + } +} + + + +// ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/etc/cshrc b/src/lagrangian/cfdemParticle/etc/cshrc index dc314a16..0e30c683 100755 --- a/src/lagrangian/cfdemParticle/etc/cshrc +++ b/src/lagrangian/cfdemParticle/etc/cshrc @@ -24,7 +24,7 @@ #setenv CFDEM_UT_DIR $CFDEM_PROJECT_DIR/applications/utilities #setenv CFDEM_TUT_DIR $CFDEM_PROJECT_DIR/tutorials #setenv CFDEM_PROJECT_USER_DIR $HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION -#setenv CFDEM_bashrc $CFDEM_SRC_DIR/etc/cshrc +#setenv CFDEM_bashrc $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cshrc #setenv CFDEM_LIGGGHTS_SRC_DIR $HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src #setenv CFDEM_LIGGGHTS_MAKEFILE_NAME fedora_fpic #setenv CFDEM_LPP_DIR $HOME/LIGGGHTS/mylpp/src @@ -44,7 +44,7 @@ setenv CFDEM_LIGGGHTS_LIB_NAME lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME setenv CFDEM_LIB_NAME lagrangianCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION #- LMP M2M lib path -setenv CFDEM_M2MLIB_PATH $CFDEM_SRC_DIR/subModels/dataExchangeModel/twoWayM2M/library +setenv CFDEM_M2MLIB_PATH $CFDEM_SRC_DIR/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library #- path to test harness setenv CFDEM_TEST_HARNESS_PATH $CFDEM_PROJECT_USER_DIR/log/logFilesCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION @@ -99,37 +99,40 @@ alias cfdemDox 'firefox $CFDEM_DOC_DIR/doxygen/html/index.html' alias cfdemLIG 'cd $CFDEM_LIGGGHTS_SRC_DIR' #- shortcut to system test -alias cfdemSysTest 'bash $CFDEM_SRC_DIR/etc/cfdemSystemTest.sh' +alias cfdemSysTest 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh' #- shortcut to pull LIGGGHTS -alias cfdemPullLIG 'bash $CFDEM_SRC_DIR/etc/pullLIGGGHTS.sh' +alias cfdemPullLIG 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh' + +#- shortcut to pull CFDEMcoupling +alias cfdemPullCFDEMcoupling 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullCFDEMcoupling.sh' #- shortcut to clean CFDEM -alias cfdemCleanCFDEM 'bash $CFDEM_SRC_DIR/etc/cleanCFDEMcoupling.sh' +alias cfdemCleanCFDEM 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh' #- shortcut to compile LIGGGHTS -alias cfdemCompLIG 'bash $CFDEM_SRC_DIR/etc/compileLIGGGHTS.sh' +alias cfdemCompLIG 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh' #- shortcut to compile CFDEMcoupling +LIGGGHTS -alias cfdemCompCFDEMall 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_all.sh' +alias cfdemCompCFDEMall 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh' #- shortcut to compile CFDEMcoupling (src+solvers) -alias cfdemCompCFDEM 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling.sh' +alias cfdemCompCFDEM 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh' #- shortcut to compile CFDEMcoupling src -alias cfdemCompCFDEMsrc 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_src.sh' +alias cfdemCompCFDEMsrc 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh' #- shortcut to compile CFDEMcoupling solvers -alias cfdemCompCFDEMsol 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_sol.sh' +alias cfdemCompCFDEMsol 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh' #- shortcut to compile CFDEMcoupling utilities -alias cfdemCompCFDEMuti 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_uti.sh' +alias cfdemCompCFDEMuti 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh' #- shortcut to compile couple library -alias cfdemCompM2M 'bash $CFDEM_SRC_DIR/etc/compileM2Mlib.sh' +alias cfdemCompM2M 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileM2Mlib.sh' #- shortcut to test basic tutorials -alias cfdemTestTUT 'bash $CFDEM_SRC_DIR/etc/testTutorials.sh' +alias cfdemTestTUT 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/testTutorials.sh' #- shortcut to run liggghts in serial alias cfdemLiggghts '$CFDEM_LIGGGHTS_SRC_DIR/lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME' diff --git a/src/lagrangian/cfdemParticle/etc/functions.sh b/src/lagrangian/cfdemParticle/etc/functions.sh index db5934fd..b2b6a741 100755 --- a/src/lagrangian/cfdemParticle/etc/functions.sh +++ b/src/lagrangian/cfdemParticle/etc/functions.sh @@ -27,7 +27,8 @@ pullRepo() #- header echo 2>&1 | tee -a $logpath/$logfileName - echo "// $headerText //" 2>&1 | tee -a $logpath/$logfileName + echo 2>&1 | tee -a $logpath/$logfileName + echo "//=== $headerText ===//" 2>&1 | tee -a $logpath/$logfileName echo 2>&1 | tee -a $logpath/$logfileName #- write path @@ -149,6 +150,8 @@ compileLIGGGHTS() echo 2>&1 | tee -a $logpath/$logfileName #- wclean and wmake + rm $CFDEM_LIGGGHTS_SRC_DIR/"lmp_"$CFDEM_LIGGGHTS_MAKEFILE_NAME + rm $CFDEM_LIGGGHTS_SRC_DIR/"lib"$CFDEM_LIGGGHTS_LIB_NAME".a" make clean-all 2>&1 | tee -a $logpath/$logfileName make $CFDEM_LIGGGHTS_MAKEFILE_NAME -j $WM_NCOMPPROCS 2>&1 | tee -a $logpath/$logfileName make makelib 2>&1 | tee -a $logpath/$logfileName @@ -206,34 +209,99 @@ cleanCFDEM() echo "if not, abort with ctrl-C" read + #********************************************** + #cleaning libraries + whitelist="$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/library-list.txt" echo "" + echo "Please provide the libraries to be cleaned in the $CWD/$whitelist file." + + if [ ! -f "$CWD/$whitelist" ];then + echo "$whitelist does not exist in $CWD. Nothing will be done." + NLINES=0 + COUNT=0 + else + NLINES=`wc -l < $CWD/$whitelist` + COUNT=0 + fi + + while [ $COUNT -lt $NLINES ] + do + let COUNT++ + LINE=`head -n $COUNT $CWD/$whitelist | tail -1` + + # white lines + if [[ "$LINE" == "" ]]; then + continue + # comments + elif [[ "$LINE" == \#* ]]; then + continue + # paths + elif [[ "$LINE" == */dir ]]; then + echo "will change path..." + LINE=$(echo "${LINE%????}") + path="$CFDEM_PROJECT_DIR/src/$LINE" + cd $path + #continue + fi + + cd $path + echo "cleaning library $PWD" + rmdepall + wclean + rm -r ./Make/linux* + rm -r ./lnInclude + done + + + #********************************************** + #cleaning utilities echo "removing object files in" - echo " $CFDEM_SRC_DIR" - echo " and" echo " $CFDEM_UT_DIR" rm -r $CFDEM_UT_DIR/*/Make/linux* rm -r $CFDEM_UT_DIR/*/Make/linux* rm -r $CFDEM_UT_DIR/*/*.dep - rm -r $CFDEM_SRC_DIR/Make/linux* - rm -r $CFDEM_SRC_DIR/lnInclude - rm -r $CFDEM_SRC_DIR/../../finiteVolume/Make/linux* - rm -r $CFDEM_SRC_DIR/../../finiteVolume/lnInclude + #********************************************** + #cleaning solvers + whitelist="$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/solver-list.txt" echo "" - echo "cleaning $CFDEM_SRC_DIR" - cd $CFDEM_SRC_DIR - rmdepall - wclean + echo "Please provide the solvers to be cleaned in the $CWD/$whitelist file." - for solver in "cfdemSolverIB" "cfdemSolverPiso" "cfdemSolverPisoScalar" + if [ ! -f "$CWD/$whitelist" ];then + echo "$whitelist does not exist in $CWD. Nothing will be done." + NLINES=0 + COUNT=0 + else + NLINES=`wc -l < $CWD/$whitelist` + COUNT=0 + fi + + while [ $COUNT -lt $NLINES ] do - echo "" - echo "cleaning $CFDEM_SOLVER_DIRapplications/$solver" - cd $CFDEM_SOLVER_DIR/$solver - rmdepall - wclean + let COUNT++ + LINE=`head -n $COUNT $CWD/$whitelist | tail -1` + + # white lines + if [[ "$LINE" == "" ]]; then + continue + # comments + elif [[ "$LINE" == \#* ]]; then + continue + # paths + elif [[ "$LINE" == */dir ]]; then + echo "will change path..." + LINE=$(echo "${LINE%????}") + path="$CFDEM_SOLVER_DIR/$LINE" + cd $path + #continue + fi + + cd $path + echo "cleaning solver $PWD" + rmdepall + wclean done } #==================================# diff --git a/src/lagrangian/cfdemParticle/etc/library-list.txt b/src/lagrangian/cfdemParticle/etc/library-list.txt new file mode 100644 index 00000000..e97f7fee --- /dev/null +++ b/src/lagrangian/cfdemParticle/etc/library-list.txt @@ -0,0 +1,3 @@ +cylPorousMedia/dir +finiteVolume/dir +lagrangian/cfdemParticle/dir diff --git a/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh b/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh index 8bd2d979..c21b979a 100644 --- a/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh +++ b/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh @@ -6,12 +6,12 @@ #=================================================================== #- include functions -source $CFDEM_SRC_DIR/etc/functions.sh +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh NOW="$(date +"%Y-%m-%d-%H:%M")" logDir="log" -cd $CFDEM_SRC_DIR/etc +cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir #--------------------------------------------------------------------------------# diff --git a/src/lagrangian/cfdemParticle/etc/solver-list.txt b/src/lagrangian/cfdemParticle/etc/solver-list.txt index 803579e7..8c6566e2 100644 --- a/src/lagrangian/cfdemParticle/etc/solver-list.txt +++ b/src/lagrangian/cfdemParticle/etc/solver-list.txt @@ -1,5 +1,7 @@ +cfdemSolverInterDyM/dir cfdemSolverPimple/dir cfdemSolverPisoMS/dir cfdemSolverPiso/dir cfdemSolverIB/dir cfdemSolverPisoScalar/dir +cfdemSolverPimpleDyM_22x/dir diff --git a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt b/src/lagrangian/cfdemParticle/etc/tutorial-list.txt index 51e965b4..a9669d55 100644 --- a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt +++ b/src/lagrangian/cfdemParticle/etc/tutorial-list.txt @@ -17,3 +17,21 @@ cfdemSolverPiso/ErgunTestMPI_restart/dir cfdemSolverIB/twoSpheresGlowinskiMPI/dir cfdemSolverPisoScalar/packedBedTemp/dir + +#===================================================================# +# not in release: + +#cfdemSolverPiso/settlingTestBigParticleMPI/dir +#cfdemSolverPiso/ErgunTestCG/dir +#cfdemSolverPiso/ErgunTestM2M/dir +#cfdemSolverPiso/HopperEmptying/dir + +#cfdemSolverPisoMS/settlingTestMPI/dir +#cfdemSolverPisoMS/ErgunTestMPI/dir + +#cfdemSolverPimple/ErgunTestMPI/dir + +#cfdemSolverInterDyM/twoPhaseSettlingTest/dir +#cfdemSolverInterDyM/ErgunTestMPI/dir +#cfdemSolverInterDyM/granularPiston/dir +#cfdemSolverInterDyM/sugarNcoffee/dir diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H index dd17059f..db14e440 100755 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H @@ -210,10 +210,10 @@ public: } } - inline bool checkExactTiming() const + /*inline bool checkExactTiming() const { - - } + return false; + }*/ //void checkNClumpTypes() const {}; diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d index 4072213c..7ea4724c 100644 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d @@ -1,112 +1,31 @@ -error.o: error.cpp /usr/lib/openmpi/include/mpi.h \ +error.o: error.cpp \ + /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \ - /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \ - /usr/include/c++/4.6/bits/stl_algobase.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \ - /usr/include/features.h /usr/include/bits/predefs.h \ - /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ - /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \ - /usr/include/c++/4.6/bits/functexcept.h \ - /usr/include/c++/4.6/bits/exception_defines.h \ - /usr/include/c++/4.6/bits/cpp_type_traits.h \ - /usr/include/c++/4.6/ext/type_traits.h \ - /usr/include/c++/4.6/ext/numeric_traits.h \ - /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \ - /usr/include/c++/4.6/bits/concept_check.h \ - /usr/include/c++/4.6/bits/stl_iterator_base_types.h \ - /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \ - /usr/include/c++/4.6/bits/stl_iterator.h \ - /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \ - /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \ - /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \ - /usr/include/c++/4.6/backward/binders.h \ - /usr/include/c++/4.6/bits/stl_map.h \ - /usr/include/c++/4.6/initializer_list \ - /usr/include/c++/4.6/bits/stl_multimap.h \ - /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \ - /usr/include/c++/4.6/bits/stl_relops.h \ - /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \ - /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \ + /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/bits/predefs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ - /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ - /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \ - /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \ - /usr/include/c++/4.6/bits/stringfwd.h \ - /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \ - /usr/include/bits/wchar.h /usr/include/xlocale.h \ - /usr/include/bits/wchar2.h /usr/include/c++/4.6/bits/char_traits.h \ - /usr/include/c++/4.6/bits/localefwd.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \ - /usr/include/c++/4.6/clocale /usr/include/locale.h \ - /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \ - /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \ - /usr/include/bits/byteswap.h /usr/include/c++/4.6/bits/ios_base.h \ - /usr/include/c++/4.6/ext/atomicity.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \ - /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ - /usr/include/bits/sched.h /usr/include/bits/time.h /usr/include/signal.h \ - /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \ - /usr/include/bits/setjmp.h /usr/include/unistd.h \ - /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ - /usr/include/bits/confname.h /usr/include/getopt.h \ - /usr/include/bits/unistd.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \ - /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \ - /usr/include/c++/4.6/bits/ostream_insert.h \ - /usr/include/c++/4.6/bits/cxxabi_forced.h \ - /usr/include/c++/4.6/bits/basic_string.h \ - /usr/include/c++/4.6/bits/basic_string.tcc \ - /usr/include/c++/4.6/bits/locale_classes.tcc \ - /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \ - /usr/include/c++/4.6/bits/basic_ios.h \ - /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \ - /usr/include/wctype.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \ - /usr/include/c++/4.6/bits/streambuf_iterator.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \ - /usr/include/c++/4.6/bits/locale_facets.tcc \ - /usr/include/c++/4.6/bits/basic_ios.tcc \ - /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \ - /usr/include/c++/4.6/bits/istream.tcc \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \ - /usr/include/string.h /usr/include/bits/string3.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h \ - /usr/include/stdlib.h /usr/include/bits/waitflags.h \ - /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ - /usr/include/sys/select.h /usr/include/bits/select.h \ - /usr/include/sys/sysmacros.h /usr/include/alloca.h \ - /usr/include/bits/stdlib.h error.h + /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h error.h diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.o new file mode 100644 index 0000000000000000000000000000000000000000..87ce04e4250e8c761b568508a3aa4e780473b56c GIT binary patch literal 9696 zcmbtZdu*H46~EVx6SodY+VuS(ZqxLk61z#$Hk48lLS8g!OPY#8H94Q{FNvvNe74&Z z7)6v<*D;kbM#nZl8!IqruubaN#$e?!n1q;^iZnLCUocVjka$d!Hjuh=?mfr;eC=q` zcBOpx{C?-$bM8I&@!iik);}`fky3DxVy7q}W`)SkE6F`d>=BE_0x@*r G{3gjYS@z6vUjzYYN@RO6b>@&=%M z{s=s4Q7h|ee2H{k`2C(5ZSGN(&wnRq=iCbqk5rZ(>Bk0)Jf(2H``baGBKy9EqR+3| z>G*T8)jPHG dsjksKJj7_+1QHN_qv5l~-6x%G+-fya_Jqy%)G^=YI zg(n2{Hm7V+*QCSvy$jTCsq@QWu-p%S3$ck@gw|rQw310tr&guB3HZY$gWI%0CJo-y z)X0;deAqBpqTQ=h$fpb?^c}mrRM~i@uuER~Ct#MLZ_gBlST0s{10%&p@Vp3rD^Z7n zR94cjdO8PteJQpzi|2@c4eaM_@YjMqu(W)}hCv*%R2kB$((^`W@i_dgLP`ZhVRbI= zKm#>;fUVE7Csb0A3)Z{|^xUHAF(HDOI;lF(W?a7lL43aIfmU*$HZzcHsSL6f(=XSt zW3C|u>%f0%mKf_eM)kpLsEnf`_@BmwD|I;k4>b^So@{Gq4tN`uH_VgsWfL5So;4y6 z*a;L&?;_!C*dDkdFx)Ie4FMklUn3ZyP}>Y9J7B@oQ8PG6{iuW!cCA2*xy{ns5D0)9 zp9C1VMEe9c-LO*YIfM|G6b%Dt*g%F51`Qjf9BxLwX%)B)ga3IRcC75@yX`wc-wcFb z_r7~B5(`4|s(L-39rbbLY@rXFbwT$Rp#WP*nW$Fx_Q1Hb)sj*}VqqJUxZ&ntpsODH zw#?^B*zzSXqbovkuz7nR7|@ @jkCz@q}Xe=2@ ufaC)uu8G8A6(ngR)zHiBB9uBo(V5 zNu^ff-0E6VNioji{vvf9NyTb{B#Ub7Hp};vxF(iQmN<3SAgHPd0y9*@P*~*VQtTsT zv6>($O*QnJMLr><7%Q5SaEfZ4J%}}%$s?oy$1MJ!NL3`{GEl(*1EqX?XB1cY;AF)~ zHAOX#;by{Lu57B9BNF4`%Sg)4;jEBQK!G@1$T{IeI+iTN?eI+Z*2vbb_GBVmm}#F% z7sAm*J|~n(G7$|=#bT8vU7@YqUWBJJDLXusNhc0l;XPS9J+P;DG(0|?aN>I{Cx5iP zGt?2931^d5elp{va$yx|Yu6w+&VYF;n`rL{Z3%5Id31G82-|ToPAHbm;;3@@cp}po zn#N&(9JePyhOB}U5a4Z*Kbp03S`WQXWI%-1k@hiN^q^Tdf%Sv{zf|tL(tmna;f5NI z@YG1}dGRSc&mQxCP~-8wA%Y6*Q1T8X=Zo@l$9{Rd<%|UUlGx#ChD1kh+`XkAyS*8% z6a9O4#Y8NVN{Ptup2)!PNWUoRw;i#ZbRs>aZQycZJIX3&9kwHOIxce487CjaOL{JG ziyg^}!QK0VeH%9hVFp5*MI KZB(ZXaTYUOMZNm z(hlbe(a}uYPUgaKD{uAB#HPW_R#Z5DBy+uWbhL96mO<39oTIM!O=i+lLG{1^N0OP? zAyI@`2gpegi4~kkER!sx(qeS)aHLNqHV5N`WF+I9kU~0_m`dC6AjEbAWf^i<;!44a zwivYx;DqVCiHMpB6(*9k;+?LP>--kdg`7>i%CDM 7UsfDYQ`RPOsw`isS z5sUi)mbhB$Xp8d;am8R?-}d18{n0`?UkHyR(w39a%e%d!pvWy7Xu0G5g)e?x zMJa2((Za0Ti30*u@y;<~ZErlDyGR>Y~dTyI0uagW`Ar!v}4kZuvxB9uFt zf`LMvcXU0?l4B>WP#$M9giBq7qPd(1IT-|K-Vy2mh(>WcT9}F?(vul5Rk9V0I`&~k zkc=`*3%8aH&a^QjmoM0#HmmUxAHwOkVF`!QnY gQ7i`hxsJ8_H<;@vEW Unb(iG;;7G107nW)2W6~^y8sqTW66X!eTKGdA4*Rllp$wIP84KUT z=<|PV-vMngekc673(+Ns!SN3)lTFSt;nThz#z7&l-2(cFgsFV2%lO?_gq~Ow7?W z<`3t{%pYD%OrO}|QJT;N#djjIm9~*89NPVq0&V>-?K88qzd(0k-mmBri`mzkfU7qC z?lxs!-0wJkbZL(NcHm5(*i!$-Bt#DaS21lL0G-L9x&Ez4h+7S%0mWCrwp#zEssFsr zvH$p4VfO#Kz@bkwPv_~=q}^E99G~l_W@)buKhW{bA4FBS9oIhrmSr+g)kbrplhU+( zjoKT_L~Nq=S+`S=dHhVj1VXj^-9h=AAVbU_z6ZEH=XD-%Mv7F6$0`0>3Y8va{}G#g zN9#?Cb(^ J4yke){L>*&!PDZd;Q7P5T;Uas OKG}5<8 zzymH#BYkk^ ^hYd-X_vr1)VFfos#DlAFzZ z`@|220k~);;hRd>GYPn%M)dau+=<-{`11`L^hV)RtmLfh)2-Cgj@f!D@ZNz1cNQKM zUtH8>E0R!<$1{rg0VJW|ae}Lv`7tD+p#4(#V; XscB`8XCm7- z5Rdk_rkTIj#p6|j`R}=ScYo+Qp>}i~*|0Mn _#0G9g<{y|NPhYkJ=`8i|oj}m{@;NKt~{ ~$ <_=Eat8k{ z`MHgF9&ZovcNskQ=OGvGzQsQ2;xTU% Edx*H AHIJsFnG@Mdg6H>@w{}nc !A*)AL{4K=h`#Ea+^ocAF-=SnzFXTe|Kz*H zx5>A0lRxu`fA|_4+>klzKkz{ o6aOOXdMr{A^GSu2K zFDkSx^HRiHHv14_K-p7M-ky2?S&T{>9X?Zb=n-^{L;lQvG1{K_R6%8jb~E?zoBN&} zUUPAj6W?hV6@za(Go>|pzM H$H%c0VmefJ&yS?aFAFJx-X;1`Zmjb-itb28lT zV#`q+HM(YK>2F}PZSV!D^h+~VUia^1BPACvj*i!KrsR&{jWu$VxAx2wy%hgYV@=!8 z($6@mj^Xwihef4T`-i5~V0c4IUnj3CYn-E~5P3m+rhq*c5dEi$j jAe7+J^RumBZ-~ShGF3weAlTw4gOJ e1Q-1h#q~_#t;X?ClA&n*MIR^o~>mPhx*Ulvg*PSaHIhtpAZA0LxeK;w>n~Ku* zv}S0}CpZ;w9G4 ?n0R)_-p7_TW}!7rO&-03PtmQ%V^=g?XKf#4Lz9EI2w6ck2d zDKJo)a#1)Og#j&&pjhZCa*aUml*&?#6g8X#L^*t;c(UvTP|a0bAv ZReOkSW)Rb1evQI6rU#pAcDo~yC?$)U KJ%b|bsMenSk =s7M^ z(MXj?7#q_rz~MU;Q8@u^v03W07>waW*k}x`uvOv5^hjSq$PyKpR(A_o%IXZHNcZPp z;XH9_@65Frztv<}3WlruX=qk23i9$!=nBB*Au;oJkTAQ+@`ur?lB}wWNf5Jb=JcqL z6}$wG9f7RO&Rnf#2J>p1n_H0!Q=`fQPf4n1E{ZuivmRt|K2SE>ayU8Zl&PJ;Axp*V zs% B*R!Xh>Kr2E{mh;_}B~JHD_heZi%OQD=slw^LzGO*BTP4&_jVLL(0mh*$NOZxK zpbSuOi5;?vE2Yz2QUXSW5>(eD?V+%(vI$Nj6WE~;6SKq;B$f~noFK7O%C<_xC(RLU zm31(KdjSY=F7V3br79?J=_zR}MN)ZTb{04~vkdUXj0$3?7%OpWrvT#OwOy98xu;nz zzqtq z?67JMvD?M6x;O(0 zSUJmlZUU@|WpyIgJP*t48+f%WPt#MNzj~HEIjo80+bIC2*!`A+m8}GVaTCkia#%gf zfgD!LaxjN^SPtc|Dwe}JteoXY4s)@*lQ0z^EnrNyln^O4v6! c4#-k$ zWRce<#VvLS0FCE}XO&_di<~$qHjH(&;nI%Qvm?%q6oIjh0=A=@2v|?O6l+=J?T}*I zSV!AzN4!?vFe&aBYjwwXR{y`b@HPtD4BG5GnYJkfLR|p0UH0=ql72zGL)1T%9VFq$ z)E8wZ8?$zsQXnP@c}Yk4L+Ybx64b*% >SLHAl%WDWz!RWQ;J~>m5 z&??|)&JAjbDfeV48?z$an85Kio>k8AIu?1MP;qvQd5VyyXKN|ev&fl%gKMm#F$MO0 zil1{T#n!P_TkUnQ74M=Hx3b9AP=jaoKExWQ8;G{ApK%7qPa9Ka(x&C{g3lw^CX$zY z$6Fzd<=l)}m`%xlyxFWg@mvM5=#bzB$Y`7h15#oc0etq?k3H~?gw|#AA0dFxFXu^b zSNFU^Y@+^i>TUbG$uAe}cS)Z|DYp4<(>Uk1hH`li^~b2M9LIha*gM2Of?Fwn@16vo z>dh%cC+pJ5L|rr%>PdHn>-w7(2NpLj?1{$G{R_Ke>AKEnDk)5gR(hhHb={%RSbn2- zF*_3iUxy^Up+0=r7RgjsG``5Y17C+GQ;BG-8)OIz@UCzKWLQFKpbrd)0(8xQ$ykK@ zQ_2L~?M{%tPCn>L-}b9z1rFgTkj{^#%Tpkgczhp-PUmUIall{P`*MN9c~&e1`G@-t zDmeo3llwP={Gm)a&+mKL`5k#2`hyC8T;Z ` =`PTqT*Ab<;j-%@QSBP$u0EDTu6fjX!15fqHy(FOH zRx=^@mHP%AwNPh)wwnW;=|~_P>k>P{!LD#Z1mZnifp{d645vgQ+}9Hfg$2@*!Chg+ zOYVp#QXYK8m5kmQ4y45Dn>Kk`uDsF%)#be!?6oc0>`p{e;Xq#syheJ0-AUyL=j#k6 z!>Ry9pf{M<8BXY-1cadGsM`_m4cB$YW6@o~x|UTdTRZe;D4y $lKuU zxA0^lR0lI9g0b#sFjg0ebcK7@1{0}hs3%;POm}v~yTU!mx~^a<*xDc30kp7!>QcMo zw+06~7IoA?K_`NV0TJmA!_ft^!TPscOQ~2J+7O7Y-4GCgo_J`d=!wU=RVo639l?QQ zDhOC0luiUf@t$;VOa%JkNdYeyAX^a;NW#)p3RbnXw~8de=~yz_9Se7PAe;o`G$&_A zFxi+-ohxvJTcDh6xi;LNN(4ixTwvL}t0V`~v2-%rwMf~k{Ni@#Jsj;n5DSO9;0>t? z1C)N4Gtd|8YS0~cKn*q+yGGqz16`yyrSmY_T{aA?tpHZV;zlSIC1DTKL}MzwR2GoC zbf2yaJR3psRL#J=y|8Jy_|>xD90h-Z7B2$3Qo+uiuvvSmUbA(kPjmr1=f&be Na;Iy-6zb)j z>xJwumorO?UB}^E+75U%jj4y774Gt5j#hWoh;xP8GhDF3U3;|9=dM3ew8q^uSls4* z%i&z&nCNZ-%;&BJ&I)%G*sO57eE1}}68?M0- (g0T??aE6_&ZqLyIusKrL;;tVo zTIW9Fa6Ty~DnCBkkMJf3dLd`frxLo~!BQgJ6ZEEV|Gjve2ybUHDZGg|DoAheHh_wx zu5f3%I}nXU;y_h$u(LA}-o+ZEa}+a($7L9tX) Ja~ zIMpoFN0|;Fydw}v1bf4jkw3ljfGMUEUMq}h&7|44ChDE3!JG+lzN`EF^EK%$8oUft zoQH3G)JrnZ7Z6T&3ZUtBG@nx#vSGZXLZ5%CeFNBHT#Mk}Y&`!Y69gH#*tl;sWHmq^ z-=aXbSczpj<~D<1uL;Nc{|rB&mFf=jhpz1Wtpm*Vi54HjTOn*ewFWI!;1jxyq21Fo zZ-`&_APCLo#`9pvn?)yvdQ^;N+y6O? YVb3s$N#Z^dF9c_RTdUxtxin9n`n)=7(4&g|+(n>qFOeWO9p zoa%@j0|QPc7i-9=jt~n}e)vIn^q5oN?vHIw{axCq0sS_5?0U-;t8h&H>chV 0p_?4-iV-#JqjDxq0gWo(3e# %2rQwkz66%S=<5MCW!#f|mjfGohxS!q`hy {9K_LH~F6%xXFhna@Ej}$)9TACVzo}oBSpNH~D@8H~Aq0H~Db` zH~IG&xXJ&vft&olHE@&vqJf+I^9FA6e`nw(e==PM?7Y<&_;koA@7Go1;7x>MXV%X$ zgOBGD_S0?Pcu8Y?(C}l{^TP(;tmo4PZmyTFZ@4bA4nG`+UqqJ} yf8@O2ye8t9lWb>Atue6AxjL$3B_{z!nuW7&abx+@GBmaKIhVQDW$HRlD z3YlZ!{Ji)T!qGo}6O548z|sE=q%W~>KTWd2!Vl5$iPuSN96!I(UaR3O{vh%B8wTe8 z1>yV^A>)l?-(&e{CjM6~oWCpEW8pg}{u35Hh461!_-BNF*TR!D?-LdtCH)x-|4-t- zV&OxiziHu*(Y)_l_*wGvg@xZvy8aPiF8^D|&or{*eD)EauOo~TEUvNmualpZ7S3Nu zY_RYv$Wf<-A0+&%7S7LecUw6AW(?ag3x9xct|N{gp9Qe}(Bf|-{TT~?nf$zJ;ZKo% z&cgAhve-VfaQ^o2j}|_g{7<5u<6J=cEDK*qI`_ T?G5&wXNPbdADh4&Jl_lM)$PWY!5{~t(q(frJBBmNW%FCqS13l9_jY774Z z@o%v36@;(1@M`iiVBzfNh=uPV{=*i|{!dx>Y+XL$DGR@X{5(xKsuZHKc+SH4Ip*hv zAASZ$gR=&X=kvYFix7N$#5^M(e-e)E9gB}P*gi0D zR@34p890t{t2S_)H%$C1E&K_>>kS;|olEP=eZj8txt%89>mlbkLHHepADs6*`5z#h z`F9cjfQ8>n_}45yGbk?)Soku+|H|^iKS_Da!aWqvY0FQD{Jd!KAE9_&HTan4dcxl@ za9l5cMf|pf|A73zZ{e>IK9L^b(KqJ*48;k* %MbsW;};hGOPcp>%g-?R zdEdfM5&m1t5C0V8a|`F6eM}%b&d*uWE2!r@@J}9Q7<{xj3IEvU8#w0SGt#{lK7(%3 zueI=I!kY~o_vM?EhYkzpU!4%F?t59rc*^ku8pp3SAzmTD#yy1NbTp+xxQ-a- 3f?hJma#bT@xox@ zi(vdcZ*r-(@44*lw?J;P%4b#O3{+*J=)}7EfvS8g(|2I&Il<)SieNHYT6`e; ozY|Tj4=9fL29eO9RF5g<16X>rngYg4qa$S9(?1|pzlTm-)CtD{6 zllN}}VZmf=4+yzu%H{n%W@5^f$XT}856r!PO;+V*-}AFXRbDXuly~{cCz}hhPu`9i zK&i*~VAOvWrryTKJM#ty2RXlTaZTcd%0)Gazb_6Zp0%4c-`n?0_V)SEoVvav&@LC0 z3njwKvbVPYmaJ;&JCNNM1ahFN1!aa3>sBYDJ}U}FkWK$2d*>CHkz80BO4e2se^Lx} zRv487?)$Jnbuw>nW#aGEeSh3KGn8Bx3?-K@3x nQ-3=D%{umSF0+of1a$V)(__I-IrXK(|0766%0px*z=bALAzHfS5&Ti za;X0JudfCN!9`XFllymr4ziQ(1TYyLM_91`IMfcTjUIOJO_yLwE*uw3RINrY>;?7# zWHI8K$C=qXJEY8I#m@zj?p*=PeN+FXu0SHN%N+z`mTex_`_? q`U4rT$ BCbSQZWLd8d_i;vVKUThYA4c^(AEZGz6 zcOSvbpcUT%Q7D kS+>yM z`#>Pk=JzL~`KfI$K0;;o3z3PRi6r!{uNr)H=QB`Gb@3aZun#EEPU?mJHz!#>sk(1) z>&3zF3)RJ7)%xJUKf6MSCVx(4;yq|WF!53#@r7tdC|Mm0hF`1+4~ES5E8|a@@h8oy z?0ZUzYT{43gW*qt7MMoVob0X-CNC=uCKrJi^B-k-$M-%FOuQRN{G}%Gd?*<$0++79 zHcJ}>lcEPhiTA6LC6lX?nWxsopK=RHanRXJ#{9mrs4x54xiC7xrE{wL-iY;t!nNQ> zwWYI??gY#xEg>*XPO_>#7(Nn!68=zfi$6Ei@4p+{97?wN^NWvAJC+A)!e0f$hoK!{ zSgaH)%)aLXXhq2UO4J+*SNTv{a&u{=`Sh%^DOdGAjZ$*R^r6JxWLr1;`v$wSVRk89 zz7qYoa#dvm`0_V*LA5YH?Z7A{^Bq)ZSMx62zk-2eukf#Y^sgf5u5#qW?)m@fU*-S8 zzk&(q6w&qo%xl$sFrEDd^%NdfiYlX_E1>ZUOJ|dRbq2%F29s6Gz{i3IUlR_ND;(@s zfy9^DCvU@2U}~7_s#Xiv`k6T|JY^>MTF~0!_o0W?hD-L$4UgM{Zk8{qM}fG01d}0u z?rf`kPuY~L-iL&j{SrJ3yli2*mj%HseBfi?XC;$VKPxo@Ag44?Rtuh1p?KOQIAej= zmR2U+KLt-~1P{Zi(aXxw%ko40Q-qg+31B{iYM~vqtI@|m`66sjZFtHVHSwRhYr-Wz z2tp&+%Yxy};KWtSpxvbbt7H#M*86%Nzqu<6i(KR!Cvo@b28(fnlWGe zQ&((k>SQap#RK#gG5F`eoEFh719O5DS5PcEIXEz Mzl`|CY}r?-j{U{-@EUk# rbB30sNnC`N41YTdnWfQRSd1Tq&;tfnS>nXwN!;(s;ce;yg%;?FY&0*{KlX7)}$ z O|Wnx_BCxW9cyg~wH0e>Ed{*FMm_SB%P0ob&m z0yR)KXd|nwgKE9NDO*+-j`d|i%8{01OF@;#L5j j2KC%7x%0;c!1vQ55k G}qXA;W z2$&^&2bNAKC3ZQr{pA%lo_JpF@QZ|z?L1hU+%IhckkbDBF+h>743v8 =a1W z8U6DH ~Djc(0_-F3e zocL!WcEzT~Kl8-K1(I8C6q^taSR+y8!%cD^3HGmsF`j}gLhLye!=ljFDO@4sdL|WH zf!H5aED3C>TxBn2@7xK>29oLZ1d^!|U}?V54LcK-h;8uVMv62+{WBH)Q6}svZQX%= zoXQ=#F*jA`k)X}BU9d?=F3jnBF6N29jiw3om%DJw!ovsmM*%qa!4N9K-2mf|E|urv zVE9uT#kr7IetD(=z6$$5gM+6kn6yBz#l_DQfAa23-Zz $ za0>*C0X tYoG*U$9JH?;)6@`UbQ6zJ$65s&YXAaEU7D zy#ujqJQHB!tCHnco11fCxe-USKyo?s!}6TU_!s8ZQ{|OI^RDV-$#&RtUD+RWRVQNG z-Ei@M10HT0%6{JaXI_~WKsC53!EP4!nR%fw4EgvwX8bj)wm)xs(h7w?g;HWJnl<2l z81+e5V(?|}JWh Z1N;1b_chhYoSN|Gl`xPK?uV-rIl=xO*ZlC7pFpK69z}`&4HAPw zwLqc-E+aBR{mU#^86U-I&OI-@s2{u|?}k9~oVxG;_W!Iz`4xf0Ikl)!C>;9 g4E}@H3U@cA!rnk#}` 2qmUc66{{a0B zD;3%&{=S*m?0@H?&+w84dPF^ANe6*@A#osi{Y$(zNQ%u-a$zSfG~gv=V47h3U~V9B zHZY3i=IP$I`#vEz%HDauC|29kzjaXVLf#q)Q)lwn#KPR{oi{-yY_!_rgJx`Le9#5U z%b*o2ix0YEXT%3#zC1BL=!s=m7sxdR%2?wr$KLqQsj{a ;@AD;Q|kC zX<*9Yy)VVd{d*u=c3R? dSs zUF}9R(%#h3+#HR>j5XcOMom{&WNmj_V;6BZMt!0vWFu!Q{0m2-#^9hie*DRXF>Az5 z(^v?bnaGISO(QndFfN9ji`X_8Vq0psLAPOpV6>hu1qRDI64@-%D l(auOw% z$)w->5$NxlyjmttHTQ~Si%jNIi#la;3MFGQSzvaG2KLD0G;=nZXYw{_?-A3@MIwC# zrAthl@T|#kN|&04M0y9ME6vS ~ zrR# eu#7{?Klsn>)-GFBZ=usr0M`h}~9aIrk+>>EUw8p zhR53qxW{`Vq*Xc--38lt40 0rG}qtb^szgJJ(ZX9)g7ETF-3i zcuLNpq+8|&DJdP@Q%A{6nJc?N+6f!x@rFUJ_$=Yxk)A)mU>dtVVvIZ%^T5*9IBXav z-IN?FbG?)tCzF|!950hOl+2aMag;nkCSigWl24S$JW5WGNgpNiWYSN`lVmcVk|(1{ zT$76^>66J)N=}r?3QA6r$si^DQdB)9Pm#IHD0!+(uBPN^lDUPFr_0< mimakzGpBh=_ z^}urH*Raiy(jEeq12&s6K~^ jA&jVGydEWOlTJH0kK~Lnhu=k_1K9QPRAJwM@`;CO{tV^Prl?`@Wz*hNtBf z+njH>&C$og@&p?r2)>2Yi{O3 Fz2D6&lPbQu$cVO+)7O_sSDm?mLC2@v^DmyO~I zX-vkUY2JmT9^xS21^5#uD )eM{XC
Y4X%ye*P*(cV{|h}xBi&B zUrQRrxCEIUX?6v9(?M1R{7u7p#CSCq8`Cev@ttkdLq;?Fi8W7TPC_==RKnb2oQ36v z3ReMs3;fN%@)%}Z#GF%bl`}V|X@Xpj0n@Yam)gU|WZWs3Q; > AK3bAY)o@G9 {vw%{5YGK}fCjWm76OTc~<{v2l%)CVreHO@je7%Gf~UBXH5Hv@}{AdXg}e}E@5 z)0Bz3WI}EZ%8<+Ro@*wQGEEgTtXhFd4vSKTd8~O#*4PXyYeLqs<`^>vJlr+ju(Hn1 zI47fKEUc=2BO~KH$TtkQa1 $0Gq-M2F?73aCYLosfdo zjAi`96nt6+;}eF!4I?iFMPBG*feE#h`f%TaCKc^EIUm}a2UCU*2rm*79YHl?eHkU0 zXt+rul)jr>V9ptf0 |kyGVVDg_;fr3yee`WGb&sV+(ur6@gGDqWl+mcVItOTcxe zb1`3rEKi74SdQtkg-KpNY;@=BO$GF$nR&i-616D6i=N zb5ky0IZT7Yi2ztG(|0 _mAJF zT$Th-ngjy4v}r72@*G?C5++%;Wke4fEd4Q?ZxNGDg-i4brxL&-T}IJus|jnP*ff?A zWk;N~jSwt$711|Q3`QWzjt`9L3nLO#iQg v~ zhy|6?pfQaVENC971m46XYYAMAdXh?)eL=eHl`MOKE&Bo{9oZ{~ll_iufCWrWwgoL= z*^Zzzzs;vsa%<56gM^8X!k_}M?&AdgmSSXkm1v(`VVa-bL0NcljlpFU-}Wfcj#6pG zhEnRTG^H+(GMy*u-J&SDiRdK7rjb@`sJ4wGC7re{aO#m1H~(X$HfW#-SriXZ8#nto zVi7}^=;s|Qhv^p`ESKruIhc>>-#b`7(|>TVBBoz+uu`T?*!E$tjEx@{oRFWsh;d)a zv_*_K7cf1-!Sb0N>0mylM>$w7(-{ty!*r&Dd71tOVM0Mpoa```GVOD)BBo)NAp$6! z&ot~S81pfGs)OY+o$p{dOv46&%fjX|HE{3ZH4X+CI!yi%4{`!p$fV!R&=Mxu(lA$X z a7+dxtCRt0%xNc9ctj2k=n#>G-%4Dl8Y88`;sD1xZ6wVCGNd^lrjg=kL z)H^8#wI1l@#9Ou 1Zf5FQkfD0chX7Y3<{-uy R>*m%N#79>9ZZI zi0MiPD`mPF?zAz$?6S?|#99JD!BVDM9IS}xiybVV={5)RG2QN9xlDIDSPs*dIGC5| zIAKCTPHcA=OPTI-up*|fa }4AUQzY(tpE zxLK_A5EB~<>aqnbVv_40a$-v_cLA4s#ul}TNkvrpaMDGggYPF9EC439-+QF BnGBah7Y5iv|lrw za3>GlNojNJP--5eidg~Z$n@1tZwuCU1r_8L3^B)kU9qd321`$Jp1J|BwgB~u(+Oz@ zkKM%b0L3s04-om31O1H1UpkOev!qziew$@cx}Zhrf)))Y=y6-n1?hq=NEejWaq??4 z@Kr~edT{w*dX|IbFdcHRT&92FU_PdQ>0r4`KkHyQO#jNkyiDVVWf(vgpCFV6>np$S zBld$#ay2mfv83OSB!FHcl7$a3N3!fCcBw^7USvaQXR8k=>qCmsf=q84B~=G3hv^*- z=4JYJ2g_ml4hJL2jv2VlPaU zapXo;(tcdBS9ITY-$}zH`usFYJaH5((uw*IIvmLC6>7aw Y3!8hsBJ^1=J#FFUw~053%HpCYi@LvYBKLg3Blt#C )`>5?tOU6J27rZh=#e zq&RD}QcUML6RyKC;Kw8wP;@2Hb15F8A)IxIQcMbPo;~ns28M4_jG`stJclyKchd}# z)-v7HC_0Ngf1Eu6(oS$b%9=_s7F$Df%kaf+p{yU<#fop+PxP zP9FUoijn90ME{oJA 5P zGBde$#1p6r*3pN z$rq}8qpS1t%_;sU2?M@V0Yd}DjTARi+(|Lts!DF>$@Pfu?gPwMtUl7);gl5LrT&fN zen2tbqw4&8arqaL_ddm6(gg%xot;R>5&i1!-<8J~SO@5O=t+w8@|P06g<`(L(aZ7u zO)u%Wo#Lx0zJcQZrg#s GJsIrJDL@ zKE-S3e84vZy_DAP9{yc wHeF7JNAAEfvZivQj6eB{*m`QZ4k^yEXNUj7j6U(Th8n76e7O7nJeH%*Cp`H8fC z`YGn+nAcaGzm3+?ODN_w_G9=W$53Gvt)-0=^Ll%L(t4SFr1!%V^FlM6{%1lzx(xhw zoN0cMbqqXBoRKhH*d6UEY;6y>bvH!{drD_C%qW@K*4p0PGj(lycj21WSkw?KZLMnx z*M`ICEF}dqxV+>fVMbv~$NEU&+K%?t4UL8KJ0tD0=U3JhE^2A*YN~JSifx)Yt)RG| zr?9iFG1lDCwLV%Xs-00X2Wsg6_Vt~uQ;Q4EDwuAIH(L4UJq6*;PBcn1*45g+c6vbz zwj~;CYKk-i4YOx#Q)eV9VbHv_14x)-KqL?_i8z8 ZbC=aqel^lpd14T`4&lRNMdxB{9aAo%sEm%8 z8~-MxP3scx80!S@8{P{aur`%%3R$C?@9v)8w849FOFVd<)wImYn`<@AwerfXrUD`0 zq&F~%-~%gmT@G!9>aXzp(`qiaPK;Tj=3?;;aclXHtW(OZ<+9i*S9mY9E-JSs$IdUC zE=t5azsJ~G`Xdn?>y25PymJS;x1Sx762)_^=T?Yap0)V2I
j%-BdGLg!jYZcw< z9Y6c_I3~S+7th!6d9ENQ;?wF8HVH^tm}LI +x~+AFNAVezV@XbeWam^#NpFXRSJFO tDwN~>xwZC?bwatdb}l@zR OuMHq$#5pO;&o8CQ($_WmXAz3uM1 zt(z}9`bc*i{m1lpg;#on4A ${g7^_JIN2;FI2I(JU@hFRCuocjo5yRe&GR+}`{ank+Q z$<$bMW^<+ID6+VIWsdQ +oMU{CjrhCS>s7tN_iM=n?Mea_z+e ztBzZW4Rd*1@0(+gK@7U)7d@`dv4TJ5x%i{YYd`W%^qyRMHOw>hMc(7??yjlrF0?i^ zcMB_k!_SoykLNm+<;p)6BjG?Vta}XUkMQCB5TA}q32JHEeH#HrQ@$rkc+sLR>xN$0 z$oCA !`=OX=?W~ zm!G@Tb^2IW;MhXp%|ahnsW3|+u)EH&;3qs^Zaw _pI4h^SLBlJ zNHk`2MZz2KSEmO3+O)Z?ajnr1ZRzNW;TPcR>T4RRI@Yf@8fxY@v~`5nHN=dDi{{O! z6RXLz=}jP`t7B8cw5Eopj_x&Wk%q>uuEtH(_4Q3g2P{PmO^vZeT&SSjR{NK$LK=u~ zfZwaak5=271+cNJH5L(2cYCyTZF{82hrc3i#b325KY|q+&YM54+Gs#BYD9X%EsgDK zBMloGyEeg6i3*n4brsLh^Q-H_3yT_zhV_kI>mprIVS>)Cj<8%7wbDgR5%|GMN4PN- zsos#9SAuq{u5SflD6g#*%*k~b4V@iPX#unXwnH)7v~X7h1g2T7wY9!BENl^N+#pRM zjM&kMW^ZVVv>WjA-bjxW9EN`BZf^zEI=Udg9ZcQ59{bbS*x1#MhG^?(U+WW(6pONw z4bevU;SP3j^@0WS7Z_bo!P;1hqG@Rq6vgIO*Ke?OThka`*WKB$rZE~Z8t8|~DJGvu zzEs^>-)gMw>e#3^)TqV{2=reo)YxG}NeJp5?&t qR4shV}?7)1rzf)WIEV4BZ{V=fv2+M>Mvn4ce=^R!M7n zYYe;s^~S-{j$RZs8p4h3;YeFsq{#rsgl4YqXo}dvL@$Xxmi{M5p?7Dj%aG#=)P}x{ ziZa48v2AjA2&+5&ijIX%4bU)ioJTN*p^1?$atvZfRl18)uSrptr#JqRm|qP!?wd z;d(Srpnt8|6pMgAfPb}0r7oIxmgvaoP)oJ&+=kA^reg3^h^EPCx{OL>be2$dp=_Oy zFI(Es33Eql7`=Q$tP!UX?q=l|?Xi|t8d9BI5!eN{!VJ+Mh6a17v7~arg*Ef$I5x$p zV=EceY4Wt9p}Z0&Eja?k^d}}CwCw_#Duuo{nxW2UH%y5szJMmHZk0ohhPyKfmGY3I zxd-MqFfeuq`c29yqH1=ax~@<>p{F|Gz_4~|PeBizBvSEcSGW+Sz%H2mS{vI7!_7^R z^?2@R4Yx%Kqup!j!13Cmg*XRS( C;g+toFy*vDzu@FAN80+v9@)&4Nu{Bq4SGYqrU2b_c1@@n&LHS6^5|hid3tHU z;ceKZ#UMdjkY`5GCMm`(p3e3YQx+MK-;dDH0Co^vE{BL1N6>GJD(4uB=iyKMU>1NE zDu{8)8ltM;Zg!udbA#K9RYxj>OQ6qI61x=I5$@b%%$c{?S9Ru@J~$N?OjnLscwUo> zpcJckDfR%Zf?(4|n3Ck$H4P>sSX^;9iRGgq+}+g>?r7^?4;=RJf*(YR;bpIB!gIJK z_G)~V7`rf2!&rmN86`NJy4$;>5gd%rC16*YwORB`S}BBhJQ> BHWGysD zXXRIB`6{z=fn`>fw=!cjuy2Py3@fSZwXRuNxjU^{S-yVvtgQTNMpR}MUFoUJDvghv zlhtYYT%)r}0jkW(2NqyuSqp}OLGEh!dmH{Rtoe89fM1ZG@*h@$cldmx%Qwu3t;V|y z2#qqbZE9Xx9}*TH`EAUZz;?&mZ9nne39-0T6t)MW#jUwu`(E4jl^H_bQ&h)ZEC;-C zm+RWmS>9mAg<0O!0KGx^gLu;f#!~HDt=o6Cb(t6J8%VS7+zcyZ4r$?B5F4Z$i1|Pp z^PtyVacfJK7k<+b-LxK728d%_GHzk2E7I0j5W|(d0LPh8uqGNc3c5Nlf$YTv#YO?# z>omY566uUJhy?~1uvk-MP4`-u>6$yBu%H{)tm%qu;1tYyDV&Ws*G53RWagA23nuIc zXG7&&8g&UQg-V+X8XDI2^fYwB*0ZC%v8^?>sbNErQGgRc1SXjRc$rJ20Opvfur$Jy zEA@=DG&FbNZmj@Tu5NKJgckZghf&a%^kGnnj0#GD#YH#)o~Of~@E;}i0gdjUUw+mD zhC%-n1$|fz6ClAdRor{AOx;YkvRFU51nYx7g5gy7!}{q`9U&3wc_LzfV!bXLA1L$x zTD};{V*S(LPYqoE0u=-rc` 3<>v6mvO-mja< kZ`Ta2^P+yb zO|bm#OYjNf@EbBl`=gz7`-cJ3WnzglPQj;P6lsRld9fND!*Unp(}*vmFhne^3=e3bNpAxWLo9Rz=1VH z(0K=e2QjVrMh=x E z1u8AWGLB2b5U_-2rDow=k-n Veo-r@Mnj?KO6?f9|aCo?}TCSGls$OSFhM! z{#xu_YTxo<_|dM&&tFdzXC^4KWf=Y|hQY5N2ET0>9DlVb>ZMQl=aZgK4a5Ii;@A7} z^I_y@*Bu3+Dmc1?s^EYXs+xw6>G*)#zM<~M8s>!NDYH%%43QZe`$pW>%;g?&0|| z!nsCFFKpkk12=v6pj>y@Sn6G7iV{QLA*J5`;B8-xxUxcO7JQV^3b&_p?Ss%lyiY`8 zX=7^)Zaq`mIs8WrYJ>E Xe((tYZDMm8M1% zquMIvlLSz@alLb6N4Kzc5As#`f=E+$IMNV>&qd(%sj2b;)8vOZ)a*d9{+Z6#wNm*| zNfgAPh5J|xFkHlW8eSMH0`8A7;2sb6P>jz-MhH6pe8P49CI!c}m*rfl$idl`@r1&E zl7f3^KZg6ZlNG#%aIDv-;2Q`>aX6K*{L2)6RsJ;!K2hQK&?Xn7NeW(0xUNsV!arHz z|G9#za*isvYM*A>`swn2KsXljDe_+=TyO773cuRkzbUxd-t}}Lg7Q^8?;u>)XP?5a zwzr7ZTV2jl1y|eqAmOM#UIB1_Eu{q*<(#45YZV;NO3Z(Wg5w @R!{8qdgO9+=6$rYXCk=yV$pcCn|Ea^^<-_3f2*>eq9Q?7JFH-o` z@%}#HXgAe9qiJ)A`uh|)c?z!157mV0a#kt)Df0krrBS}>hrJ5!SL*%ESV%xX{ 9;*Th}y51dB@Kcm}@fD^RP)|H7vYwYK{;allzS3S5 z|3cAU9WOMkikFtsRDspmCvY4d$H3n?qz9j<8LuH6eFFpI*N|Q0xi|d|2>Tj?34iEY zd=Gv)f)G#+xwc5-+=zkYAHYHo&XJLgpHB^%rQ!TT)*20;Ncz`n_;)DH*IZoham2q$ z<3EYo+os{m2*-O|3@m4m^xPt08-I!9U#H>Cv~Rdc!&j1=J2m_%O7GS1t4Yp54SyLO z48ma<+4}ISTwc-eACsKFY4~qQpD#81T1sbPheKdHd_e8xUv)6PRk9gpX#D&J3x2yN z^UoxI;9q+%{%tD1RFlK6Mde?8F#jgfr(5ISPV%>F_%`DIriNcYcDO^sZz6vF6$#gS zGui(MjUVS$49{tJ5y}6vhR-2Ak81d0lJBB?u6G6DV>CQW_#_R#nDA*DehJ~TG<+TT z$pQ_3i|i2A@FLk<<6;f(B{>^3{9{UU|8To*A^Tjf@vkPkyrBGOG z;&$yKetz8$<9_1btI7EvN*~nlt>iz4HT)8i^NNN)M&tKy8h$U?lYgzo`ecyb@~_tz zzk%#Cf$C?R_abL%IEgpT(ePVI&sq)NL3%FN@HVpBIt|DF3l75;4QD_6FAa}McH=<} zf0E=ss^NTp!RKXe?>ESfuWS5Oly;Fko!_hBct4GySi^b!o2lWAB!8)f|C8kK{(|e> zO?+E5{$I#yjqMu#C&Is{;b&6%hZ;VU`tb=3$N!B4!yyfq|DA$iyr$vbBK{*9&i(tP zhBN<( Vpy6KK% zf06Vr(C`w{hwo2V{${FouEzfh!WV1!UTW`J!ZAsv$Khh|y$a)p1Zo%?6*)wTob3vZ z=f3+%|9%BWlIQtbH2gD?f185Sm4?XS&v~%D$Z|31&u=hcJ^38<7|CIr&p*Fb (8&K%v5l+Ta@~1yn E3KY!ojK?O&CewEt*;cN$P@2@qS-y8YAnw)P^y>BSEI*yJgIM&O*20yCc$iJQB ze5v5b|0>NJE^G`0%tn4b4;-W5$e&B|;1~r*vV#2lcm+o}e<#14q~ItgOmgtO?HI6L z#GfF%Lc@>2ObFEqj^r+?cbQQhcE6C3;Q*e~?Q^I#BILbLf`t&O}lG}*?+X{}Xe(JwF6&%TXiT^$YNB-r+e}HiI zL;fDZAr0sE=^fVOTu*XdQgCb+&tq>YIM&-qmu>GVIP$X}exl&W{}Aziq2S2Re(0fm zR0H`xq;!UYi=s4N M=?pZ#+v8G7jM^=7I$2kg)a(+v4YBc;3 z`ijv!1xG#WNzbJUjw0A^*C;s3e~sj{C^*X5MRNEpJg7g)xeNX +rGldz_S@?e9OYa88# ze05mEpC$YaMGorE{&_^fQT`_+|EPi^Kl|rD6&(4`&w&R76PX~eo!LL(|GThp(O%-u zC7ku=@ALRHyqM;_5=9P@tp5eW;LA1qP3p&Wgmb<8J(H-0^E>l4D{@f(-;n;-X!zxH zA#$UJzeM;QntcA=&RrVLufW@@$r($ZH$1N3NU|LcDLCqR74bh$IJcMgg@4j;ey7 A9PGma2yxAX ||E4=FhIODFZq(+ZCLcn|Tv ztl&6acs_Ys!za>y^&f<@KKu%|K@I26H%C(cus{5k>dn>glj(!gZzwqG^A^nyXKFa# zbCqiNJ{m9QY4~)qLrB9{(Ym}q!$%UnTEipQa0p}$vCa~!z=_@doL7MGm`&x_Zj5t` zcrhm+_7RQECld%Hq~V7ty+g;T(0dxr`|5hqhvoCWrAfniKM+^&(@7>qH!C>G;&q(w bClF&>A^#zbpV!~FHJsPS5VeE#WPkgAj&S2B literal 0 HcmV?d00001 diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d index fb41e38b..557cb88d 100644 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d @@ -1,114 +1,32 @@ lammps_data_write.o: lammps_data_write.cpp /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/bits/predefs.h \ - /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ - /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/bits/predefs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \ - /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ - /usr/include/endian.h /usr/include/bits/endian.h \ - /usr/include/bits/byteswap.h /usr/include/xlocale.h \ - /usr/include/sys/types.h /usr/include/bits/types.h \ - /usr/include/bits/typesizes.h /usr/include/time.h \ - /usr/include/sys/select.h /usr/include/bits/select.h \ - /usr/include/bits/sigset.h /usr/include/bits/time.h \ - /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ - /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \ - /usr/include/bits/string3.h lammps_data_write.h send2one.h \ - /usr/lib/openmpi/include/mpi.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \ - /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \ - /usr/include/c++/4.6/bits/stl_algobase.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \ - /usr/include/c++/4.6/bits/functexcept.h \ - /usr/include/c++/4.6/bits/exception_defines.h \ - /usr/include/c++/4.6/bits/cpp_type_traits.h \ - /usr/include/c++/4.6/ext/type_traits.h \ - /usr/include/c++/4.6/ext/numeric_traits.h \ - /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \ - /usr/include/c++/4.6/bits/concept_check.h \ - /usr/include/c++/4.6/bits/stl_iterator_base_types.h \ - /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \ - /usr/include/c++/4.6/bits/stl_iterator.h \ - /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \ - /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \ - /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \ - /usr/include/c++/4.6/backward/binders.h \ - /usr/include/c++/4.6/bits/stl_map.h \ - /usr/include/c++/4.6/initializer_list \ - /usr/include/c++/4.6/bits/stl_multimap.h \ - /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \ - /usr/include/c++/4.6/bits/stl_relops.h \ - /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ - /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ - /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \ - /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \ - /usr/include/c++/4.6/bits/stringfwd.h \ - /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \ - /usr/include/bits/wchar.h /usr/include/bits/wchar2.h \ - /usr/include/c++/4.6/bits/char_traits.h \ - /usr/include/c++/4.6/bits/localefwd.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \ - /usr/include/c++/4.6/clocale /usr/include/locale.h \ - /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \ - /usr/include/ctype.h /usr/include/c++/4.6/bits/ios_base.h \ - /usr/include/c++/4.6/ext/atomicity.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \ - /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ - /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \ - /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ - /usr/include/bits/confname.h /usr/include/getopt.h \ - /usr/include/bits/unistd.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \ - /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \ - /usr/include/c++/4.6/bits/ostream_insert.h \ - /usr/include/c++/4.6/bits/cxxabi_forced.h \ - /usr/include/c++/4.6/bits/basic_string.h \ - /usr/include/c++/4.6/bits/basic_string.tcc \ - /usr/include/c++/4.6/bits/locale_classes.tcc \ - /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \ - /usr/include/c++/4.6/bits/basic_ios.h \ - /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \ - /usr/include/wctype.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \ - /usr/include/c++/4.6/bits/streambuf_iterator.h \ - /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \ - /usr/include/c++/4.6/bits/locale_facets.tcc \ - /usr/include/c++/4.6/bits/basic_ios.tcc \ - /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \ - /usr/include/c++/4.6/bits/istream.tcc \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \ - /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h memory.h \ - error.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h lammps_data_write.h \ + send2one.h \ + /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \ + /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h memory.h error.h diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.o new file mode 100644 index 0000000000000000000000000000000000000000..cc7f38a24b8467aa9b2b20dccd4efa3eadad4856 GIT binary patch literal 35440 zcmc(I34ByV*6+Q2L%5KbG@C|5X&_=i$wt5+TS5}(kVYZ|#f>KEEJU-JP9P`>+938c z!Qjj{t|PqBLC29#9cLVu(FvjgI-mRgW=2$Wz!h;BosI9Ds&o2Qs&9|;-uHgLS3mmJ zsek?JoKx$qyX3OIA~4@$ng$2cm}598Mh#=bB1bL}Vu^98F 9W$A%IM#hE%iq}$% ltP zP=Wld*>y$aY11FslTte4-s}y4U3FGv>{r>>fm8}PM@uukDJx $3g+-cgWmJc0E%gwn^4W{xd4jLKM7w*PlS87-f=E<2@bT4`)c_6ER8BYVxm&Bu-% zYh?TG$_`%w9Dn4gtP3wLy{Po!(iNq_Jx~Pnm!1c8D?PWO;2UfcXprdNM4Oyf;*WM^ z+nZj_+ zPZ*eT;*+4YqpNB7i zqN2V0vB$8CKlb1bh#n@hr^V9$Q}qP _$+0*{$ zJJOZt=OS*z5T8F-W6FN#LQ!O3er%1s>6@-0U+&2qyFn<7t@jIBAB|^a6x-#o#dgJ} z{awRh=-YDWE9Hu*$E3MU{r+f~KXc>p(52 4$kz9T~WR1 z*j2T#DinMQz47sB cqptv_87gLlrAOOL? zH*%enP{aX<0Yn^o7(m=11jD#+Pam&`{^&*7NBq&2>~Cph^GE;UkA5v`)!SqGL&t>Z zkA4Q-U+j;yWPAOwi?VHhbT6)#JObn6GrFc^k2+pa{{hs02=oV{_1Q-P!dT>!oLD=| z9alyMnZXS_NSOEr)8}?`kr(k78Vne*yYiWz@O!uC8p_std*Q4CT%?H zJt(z`v&0k*^or#K@Q&z5k6 z{G?85(>L= L=O} zD;xR5Umk0!E}z*1C(^HvW)3UQ&dS{Q5U3ACKZj&`HhFQy^4< =*nr z>;0jn)s@kd>;N=;tZcbIHtR)EAP~B=IuHvjKbq+UjW8ZRDSf8=^nVTw03XLItjI3` zl5@=P0~3ZMv|6|a*y-6=gJP^f$=;Ovu%fXtAhcxX`$PL8{iZ)Q@_BH~1HXlK6tgbM z&Vjo6p{^x{<8pZ{R4w!!F2q5P{p(u)V!i%$=Ej|}{!Z2XQ1!3;p~Fyh7 0q)~~S=xa$^kLO=u CT*Rs#4&a&)AKzHt zH?h8QJh$L@?#lkQGWrz`@&nNCIpwi6(C=$%N~5o3ZoEy@_|H`1@bcbjsPXgu&_}Q_ zdY)@s8BO(v%Blm=4+F9A^2*q(XQ;13(5DwdpN@PV`gAh(aupzD%d29u_B~Uchn*aT znpQzg%U}+)WZPI%Zval$zP%|AfNfwbtuBwA(TBCqij-ADKaa_#Aq@K)s%N 8>@FPRxGuzga~(=BMPbEGnb&*92dFyw5moC!KHpJUoSb4c;(T0#U@T^- z`B;YYcMQyj(pZA@mq+iAeu(u8SNJ_nf6#`^EBCSHk(ry3o7wv#7~q?}$=rG+#DUNc zHwXj5r{1fM1!6;KZxiTE`G*a8kw07W_NMgVc7@mvBfL18{t9h|=0%IP#bO(fyW0%R z=#L6HbK@8=02_ -1s9YdAjC KyDxdp|||e-F|B*DS{1 (eyV0a)()_`b&C3FF|F{ zp~~o ^J75h5 zW7y-Rkv(Q*=x^mwk+(PH5m`5pS{xnu7WD<&m4%?$ZjL>M%KW{4FSHMArURjOq5@)H z{2`I7jHZ7FrFS4%HU(Rb7Cq{?lm#w9^ZNcxe}o63;RcM2O@EMESnq|nsNlE+tI?6! zc;Rpe6S%8}WjFiql7H~NW8ip}qq%Dy^pqG!H-XdGPJ2@}%ia>Fe}A-SH|(Q#h>UA6 zBO-9vT0I4}<-Xi8D$AhlkMHXHetS4i!5$o8bo@{48K>6!j8mI@Mrn-?MEutQ$Dsq$ zO+$?}Mxb=jqUxo-`r58qUt@Di!_c9|(9*8<)-VVy^=r;*Z0~HX?GoauhT8hBwH*y2 z(Tph})jN_S)`E&SH{8|PT;E_EgIRmQ+ILLjZ4)*FpW>mcy}PB}*Vf+UYwu`i6J7+@ zbT)T2_}aU>I=Z`rOVA_*)1;r};O2RlkL~pTA*5#-2A dUY#GUvM-&kT2K6q294T%^ zaj>0gi;~i&D3?0b{2gSa+E2rA2>c8))kaIA+~9&gfQVQ3#+&vq^XCAjVZt763eE&d zo?z|-)HA`BxmlF-%H)ZZ%#z8`l=R8uNtDcy$uX47m&ubUSuB&MP_jfOeU$Xe DR*`hH5E zZB7y8AEtD*@ZOrxPw6G*C}IC8)4-cihW*fS7-iYN{WJKPA)v=m^h}`C6Q7EdE%Tm~ zz3qi@azEgyHVz9_&ctzrb@bw(#ylJ=0zH+{5rCc!iB!7)ow3Cf8J1!WSqjPFm1n~R z*$6CailfIEiHW<14E{r^Vc>5R9>78Kc+40wW+xmy6N)XFJbAuImRKh=b{IoWc~5Zt zl -tGQLM4gli|jfKOPS@#H5YAUod{HRlQ z0yr93;=t5L1+@TZvmNSu1j(=6g0KWKS2zS508IG3AcP@vy+gq9$b>fp;YX19GlwuA zz|lCajB&Do4kF7k9|Ovhahfq+W_}?vUv)B!2?)Vy;U$Pt?VaL?Zl&7T3)!{-=O@v9 zrwSFGrumR*nb`nO1j+C;HNo*TgR)o3?6c$9E8k0H=1R%T!7*T71dJy5O+qCon8qL+ z^*K0z&C3Dk8<0Es^k&1HgW3(UWi{;t*)ksi-b92YKw=XjXW$sugJ+HX78Lmqez>qo z kHcqvo%g^HOzKS2t9J{c8Z}1<)&fd>%j~^4lYhFrL5`GnRBKqyUT?MDsyqNyM;8^ zKHLF6w>GFwsPqzcA1fVC$V%75D-HELmx;xL*k7`4UbGR+O+SI*83}}-lL^BHS4QIj zDDo2gCZQ71Q$nhPlqm+#snXtASQWQ$6z~&ZOEeudVVEf+=Q!(`c+sR hVSVqDGIL`?S) zH8&HrC5|X}cFAma_6&Xene$w9g1b3*<}+|l_5=7$!WxJ!oQRTnoH*Z|g%xxQzX1FR z_)V94IuNd6W-gvZ+`>D+@WPhKZA?dYQVBVcVSaAnp$f|io(}W?y_pZn{P0tkl{rxK zQ7mfK7`eD`yM<;bbYp@i31bhJi4Pq&a`D{d79IvwgJBamuwrxJg3K`Q*-0hj`gIR4 zDq1pL?OlpJJfpgW9I&-2iM?9~+PjtQ#SPr97{GJ7TZn@4{YeaL8E9Y&tBV`Bo)K8y z@RaBlJ_6 =vd#@ihr5=0caf!KLS}ZU{kAoUTDdV*kSV;%z2_ zx42Vq3pat8hZ0Q*?Y|dW1}v3}I}x|=1{D1|N%7s!afuQX2LBu{6--km?vV+@9A=)H zF(S>%I4NV8Io$Mu9nbNGm2phmJ6 O*>f>95n_C77s0iqQ|Sc5jX(=TUJ^! zvU1J2=~hNj`mFSNQToI|P`U`}Ga3ch%u526VagZ>3V=<9PZqGyzPThLkhW;3lXr?! z1oA3J49p!nAa`J%Z$KW~8aDtfjJr181viWd9_piPFZJZ94zF^AFRdsYTO2M6oDp$a z77V7GTyp_r%a)mh*|KdWr@_|p^rCoM!UBs-99ktqC3_09J w mDUXIWf8NPWdDXNqeDSO| t0;~2I`P+34=QUCWa(YO S2Ng8)2g$ z`zmAnp9vTgS6AyOk`gz}W0Wxz#v29B; ZA!bnvo#hJ$6Xoa z%yr^%^Dr5QK0fEfa684Ou|fjQk?Ae*md@Y)bCSiwaG<)(1UGA}%CQ!7>`3VdX-*-B z{?!0&BF>h7gNyflG5nHZ7zQ@Wk2;u_<=;727R#Gy@ UuwAJ>a-) zv;4S&d0Bqa!4gJ3>w1_t;5dt192{qHx5HAJNQf^|*1_bI1K&?MLX@Kv 45M835TJtu zv2vGDJ|}spDssuC)N(4-OffE!*O1&tvCDqxR?2#WVmQgaX{25WZ%}JNCt5~0@hr`? zOD8{*YSW3X+W4k##rJ8`iLTnX#cQ2zwORhg!MrU0#laF*0oJvOIMDqpa&ea~N-UMI zH#Jgavk#*f=QGQ59n8maxq~G*$+|`o2b^TFI1VM8q`A~daY_w~Q{&LNESANggsSk3 zxQRruj1H5xdhxNfk}|KL80*XOnREvf=O4?(4wg_~*3}#LX&H-?sF+Kq^bwnHg~INf zMJ@%y>D9Q$ER>MS3l)!8o ljkN zrQu?g#rxvAFJ?t!;<{^CbaW?nOoHxO*3G5dI_7dJb_2z(O`K1jETtG*j^)2PSU$`0 zO%{2L#c~GRK*0cI6V9%zzdl~$Wh{OZhnD`0MAqcez=?`#SkaESqKjBj3b_Q`z@no& z;Z8%M?sHi8XK~#Zv&eoAF)lL-v%`ms)bR|l`N1Nq!x+y1I{`N+SakeJ= gtEdScUyevQDU^KwwD8M88mQNfwU$Mw$ zT)Mc3*lfXNkJC?--HLIR_c@rC $LNlBps*e5)oZ@Uq^%P~kBR-NcCQv+y;#`XP)*mI~ z5j(&u^h(O%Tbb8Vx}V}B6erWicLC*VGw=cp-PxH;G2b9Mi_&u`=9@#LJ{}#Q{7)#> z?-a#}B&?u28X=1LZc!hlbv|GDJw=yre2x49rTH3{FCPD2m-o>{P%g!MHI~dCU(fKx z$O*Iq&!w0zPG(YCzt++H=UsP*c7^
U&6CAMcbdB>oDDpQHF~iVsuFTL^psMg%&2@LoXI&*$?KiO1*d@svK5;s+?! z%j0`S9%BxSR@3|&JhU|-00+}~-Qmu>=C)8vcYQ-%Px18N^r9&(&28O1Q<~bk^Xi(r z!iJ! oG=dB>4d0ayOBf7+0C&VhK@eeLK@FSRNldV_ zN;c_`_=L6g!`rp{t&?XJPCit3(Q{VMHLcd#S%xRYw1zCS)-1G!T!Y8-qs#1(S8qo= zwF_<}V{COSOtl|H;kbhmvcmRJC^*W#-8$c1SY%y33xChUZv~dHN2I O5*?&ay6B=$Sa&hthu;_Pryl->kO} z?zb}gtWMka<;rLh8BpHCBzi(D&iSHzL;M*PIi9HnxV$+Gx+-1;P5Waj!jM=Ils{ zWreWd$+H3=*4_@{*jXr{j+f#6`Vq6OoPGB8+3(MeTph8;R-Mnk_p2V88L*yMZy&X{ zU%jnqf8}g@TqTrzY&{lz#y~BP3VE;5w<)yU9v7*);Fj*W%jTRFIe#{`l(qVGtHbUR z#UosNA(lQ93s<64Ohp6lb~nwWVr!0KG0%h%SI=(3a#cWHj^rFHCZtJy_BeY)1WIi@ zuS(cj^SX7=IGW#?7oPKrst@d$-RFzn*zWG|YAbj!f+Tx( g+eR z|0J?&mpx R z2d9Kcii0S28|Kcz!wfu#Vj+|?Ls~ImO%z)nFQ!=&CbwX22_EWN;AmQF4_aOJ!N?oi z!ri;xK&9qg0CWuiJSV`?7rfx?gg kNmvzd^`SrBK^_zgHni0n9i8o=hHzMv6@O_X(C)Tyb5mPGy$}B`#m$L= zf~L;)H9`DSpN3BKrm>~ADQvXX_H;CK8o}1u&Py9Q!}Qlg&R^*? ^Uowdfe|tk(?%OqxVFVu3Uw)5+}2>U3Hu%GVO(279cyvbgufjU^$XXoZV=UL zhcz`Af+p*3YYu_sPHeIEwkDrAd~fBaQ?;u@_4Nk+k(AL<8@g1Or~{$9BUo1(ZZLxF zjg8@kF5@cwZ |5-rPH1GQ z5zhc^MzF1+r^^rx1}Yj`p>jc}Y(s6UQNDQDyg)^v5n5H-X+X7wbHUbj_-iY-RxiT* z3TRO@Bm2y;*a0sEN__&8gF{rzX(}8Z +F3AVLm9Hdt}ZBT`91l~qG4P~ z1%+ZrK-Xidz;J{i(bCW U#qqZI!8=^uPO_foRjHVflZMCfpIC#n5;Oeg0x|Rm+ zK>25EU8|bqG!gxQb4ScTF-6+2uSByXn=mxMlMHXpZKkFwG|&_A2Xpn(`he|9+5GZ~ zMS0>FYVYoVok`P_p4=YVvJAw-ouNFKo1L|7P0h7!d7;MohF09*G>2Lm^1|J9i(qiH zg!6EpQqcqBrmd+#KzUtj+Rv+9yQpvx?0o7vYdhD 9RSVNsdMVaR7>=QC9HuSZtuU|A()1#*73^;74maRvrIlJtrZyU#a(gF_3(CsQ z^5rb6>u&4n&I>fR)poW^>r)E41vqUIc_a9Ik!xPQ#4vlj=1J*;?LOFtdLefV>7`3+ zqa4zFZ*(Yb!RKXoulJN^WNo$PW%zni=4Iq;8C0H;e{E`MMsZ|tc}BJ8lZ@ihjQrA! z93afg$btg%GHgE-?IGR0aXl5Nry{NgijkfL8P(RMrkf(r!9JRoR|iB52H%RBPvUx@ zzuAaDI0`@5Dht22c>Ebz*P^{hif7-@jI2`OS_R%!%EBM|1wq^lfV_w&kb&1#*e*qs zcOnuX1mNc w)TSu}U+1*QP-ABZC%X JAA-!B62W;0I1AFSovVrSC&@{Pq@D{M zIcTe=*Yey2tocyE9LVb--cIDfu%P~c=7IjWk-J0s&uk38WX~78tp3nHg;82{m+d1;r_2AfY&(3|>&PG+`$PxoATu1POHK0 VhSh9NK(MY3NY~;Cq5&!>OK?g$C`&ZM_KLEh`dk`Yqx?Lm zNn>s>*woV#gcC%#y{)#Txod53b-s~{`>Y079CP8%x*Kv~iJTJd!tIi*e8Z|>V<(<{ zbKw-;-61;Ve}0I;xE|)Bri3t@+Zga>A3lTT`NMIt@_sA?K`oCr0J$8;$;wxY(gVvE z{vVWI?ouBA7J=<@>;nv^Hr>MlNrsga>o-GjEm6ZskYHUZ{$fa`d~`Dl+Yj%%aeLr; zg<&H6&_3L?7!Y3Mlgj`!(H7psMV i%0`+|B-DGi1ShD$kM5{U>C& z+0VajV0pBURnhI^A42FlvE;{Ozwdk64 etWWvVbK&L6Ts=5-U{#40?Ff49v5{$}kYalx5J# zL(8(_SGNN*EQ3xO17XnP(-8Q(LxJ# wkT*nDA8^e;MJO z8h#<+S88}I;XlxDOj^b%E-2zS%Myd-x*{Oob*2NFxPmo-+TqGP3}yqg@|WP29%;?BgW-Z;8);j&T&y81OIo#(DTIj D>Mok{S=0LON?pSq0q;jc1Ii$2%)( `AxprE(v9kf5wy9X*RD1&1*}gVdSRa(n3xc(sowaK#=s{>PKiCvr1edj~ zX>O|zE@=pN!!0w{`)#gO$j3)1E{$DYATsJ(q*n=d6!|esW2mJapJ=+MpvTdT_)d(` zD4r4`Z(2oXXM5+=_BN<-m3tSI6;@Oi%y4@a3+3Y#|Cg*phxv&nv?@GI1yA779zP0p zb3guQ$SpJBDR;axi^K2~umx_SLVq?>1*xA4^ToqRmkw=aW`f(wQ&9Kk-wMIC7o7ZN z*ZhPhq;A#awn+96o}W^>yU4ldfZNS(_gmXIdCo4#4+cX$J+*bss|yN24#U&=mfCPQ zh|kT$oosxrS5p}u6s~nFD@Zn;j9<_?3#Sib6#V`UUtPxVYr AUC;Z3BOmwX%>Pc|=P7tA5+PuOYdZ7S5svy*{;vtg9e<(1$MY%% z p7YPPlNLn2ILpPkNH_iaQ;w@&d2jD1|6TP;CM~I`WGv>YB!h!Z%=}+PlEqg z!KW*BZ&&a$75vu 7+ietSNEBw!r;4A3DUFXM?^+#Q=o>1_aivAB29PhDkyB$Eq5HKo%ALAv; zcvkxbC?eo#3Gb2cH3SV4ae1^