diff --git a/applications/solvers/cfdemSolverIB/Make/options b/applications/solvers/cfdemSolverIB/Make/options index 8a1101ab..a51d1dae 100755 --- a/applications/solvers/cfdemSolverIB/Make/options +++ b/applications/solvers/cfdemSolverIB/Make/options @@ -1,3 +1,5 @@ +include $(CFDEM_ADD_LIBS_DIR)/additionalLibs + EXE_INC = \ -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ -I$(LIB_SRC)/transportModels \ @@ -20,5 +22,7 @@ EXE_LIBS = \ -ldynamicFvMesh \ -ldynamicMesh \ -lfvOptions \ - -l$(CFDEM_LIB_NAME) + -l$(CFDEM_LIB_NAME) \ + $(CFDEM_ADD_LIB_PATHS) \ + $(CFDEM_ADD_LIBS) diff --git a/applications/solvers/cfdemSolverPiso/Make/options b/applications/solvers/cfdemSolverPiso/Make/options index e79c26f1..68aecd17 100644 --- a/applications/solvers/cfdemSolverPiso/Make/options +++ b/applications/solvers/cfdemSolverPiso/Make/options @@ -1,3 +1,5 @@ +include $(CFDEM_ADD_LIBS_DIR)/additionalLibs + EXE_INC = \ -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ -I$(LIB_SRC)/transportModels \ @@ -12,4 +14,6 @@ EXE_LIBS = \ -lincompressibleLESModels \ -lincompressibleTransportModels \ -lfiniteVolume \ - -l$(CFDEM_LIB_NAME) + -l$(CFDEM_LIB_NAME) \ + $(CFDEM_ADD_LIB_PATHS) \ + $(CFDEM_ADD_LIBS) diff --git a/applications/solvers/cfdemSolverPisoScalar/Make/options b/applications/solvers/cfdemSolverPisoScalar/Make/options index e79c26f1..68aecd17 100644 --- a/applications/solvers/cfdemSolverPisoScalar/Make/options +++ b/applications/solvers/cfdemSolverPisoScalar/Make/options @@ -1,3 +1,5 @@ +include $(CFDEM_ADD_LIBS_DIR)/additionalLibs + EXE_INC = \ -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ -I$(LIB_SRC)/transportModels \ @@ -12,4 +14,6 @@ EXE_LIBS = \ -lincompressibleLESModels \ -lincompressibleTransportModels \ -lfiniteVolume \ - -l$(CFDEM_LIB_NAME) + -l$(CFDEM_LIB_NAME) \ + $(CFDEM_ADD_LIB_PATHS) \ + $(CFDEM_ADD_LIBS) diff --git a/applications/utilities/cfdemPostproc/Make/options b/applications/utilities/cfdemPostproc/Make/options index c961d2d8..c6a87583 100644 --- a/applications/utilities/cfdemPostproc/Make/options +++ b/applications/utilities/cfdemPostproc/Make/options @@ -1,3 +1,5 @@ +include $(CFDEM_ADD_LIBS_DIR)/additionalLibs + EXE_INC = \ -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ -I$(LIB_SRC)/transportModels \ @@ -14,4 +16,6 @@ EXE_LIBS = \ -lincompressibleTransportModels \ -lfiniteVolume \ -l$(CFDEM_LIB_NAME) \ + $(CFDEM_ADD_LIB_PATHS) \ + $(CFDEM_ADD_LIBS) diff --git a/applications/utilities/cfdemPostproc/cfdemPostproc.C b/applications/utilities/cfdemPostproc/cfdemPostproc.C index 478136e3..e833ad63 100644 --- a/applications/utilities/cfdemPostproc/cfdemPostproc.C +++ b/applications/utilities/cfdemPostproc/cfdemPostproc.C @@ -98,7 +98,7 @@ int main(int argc, char *argv[]) particleCloud.averagingM().resetWeightFields(); particleCloud.momCoupleM(0).resetMomSourceField(); - particleCloud.dataExchangeM().couple(); + particleCloud.dataExchangeM().couple(0); particleCloud.dataExchangeM().getData("x","vector-atom",positions_,count); particleCloud.dataExchangeM().getData("v","vector-atom",velocities_,count); diff --git a/applications/utilities/cfdemPostproc/createFields.H b/applications/utilities/cfdemPostproc/createFields.H index ab0ae8af..6856c6f2 100644 --- a/applications/utilities/cfdemPostproc/createFields.H +++ b/applications/utilities/cfdemPostproc/createFields.H @@ -26,7 +26,7 @@ IOobject::NO_WRITE ), mesh, - dimensionedVector("0", dimensionSet(0, 1, -1, 0, 0), vector::zero) + dimensionedVector("0", dimensionSet(0, 1, -1, 0, 0), Foam::vector::zero) ); //======================== @@ -62,7 +62,7 @@ IOobject::AUTO_WRITE ), mesh, - dimensionedVector("0", dimensionSet(0, 1, -1, 0, 0), vector::zero) + dimensionedVector("0", dimensionSet(0, 1, -1, 0, 0), Foam::vector::zero) ); //======================== diff --git a/src/lagrangian/cfdemParticle/Make/options b/src/lagrangian/cfdemParticle/Make/options index 1f5e95e2..730442ef 100644 --- a/src/lagrangian/cfdemParticle/Make/options +++ b/src/lagrangian/cfdemParticle/Make/options @@ -4,6 +4,7 @@ sinclude $(RULES)/mplib$(WM_MPLIB) GIT_VERSION := $(shell git describe --abbrev=4 --dirty --always --tags) PFLAGS+= -DGITVERSION=\"$(GIT_VERSION)\" +include $(CFDEM_ADD_LIBS_DIR)/additionalLibs EXE_INC = \ $(PFLAGS) \ diff --git a/src/lagrangian/cfdemParticle/cfdTools/compressibleContinuityErrsPU.H b/src/lagrangian/cfdemParticle/cfdTools/compressibleContinuityErrsPU.H new file mode 100644 index 00000000..67d0f088 --- /dev/null +++ b/src/lagrangian/cfdemParticle/cfdTools/compressibleContinuityErrsPU.H @@ -0,0 +1,53 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright (C) 1991-2009 OpenCFD Ltd. + Copyright (C) 2009-2012 JKU, Linz + Copyright (C) 2012- DCS Computing GmbH,Linz +------------------------------------------------------------------------------- +License + This file is part of CFDEMcoupling. + + CFDEMcoupling is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with CFDEMcoupling. If not, see . + +Global + continuityErrs + +Description + Calculates and prints the continuity errors. + The code is an evolution of compressibleContinuityErrs.H in OpenFOAM(R) 2.3.x, + where additional functionality for CFD-DEM coupling is added. +\*---------------------------------------------------------------------------*/ + +{ + dimensionedScalar totalMass = fvc::domainIntegrate(rho*voidfraction); + + scalar sumLocalContErr = + (fvc::domainIntegrate(mag(rho - thermo.rho())*voidfraction)/totalMass).value(); + + scalar globalContErr = + (fvc::domainIntegrate((rho - thermo.rho())*voidfraction)/totalMass).value(); + + cumulativeContErr += globalContErr; + + Info<< "time step continuity errors : sum local = " << sumLocalContErr + << ", global = " << globalContErr + << ", cumulative = " << cumulativeContErr + << endl; +} + +// ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H index ae743253..ca4f77a7 100755 --- a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H +++ b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H @@ -33,8 +33,8 @@ Description #ifndef versionInfo_H #define versionInfo_H -word CFDEMversion="cfdem-2.8.2"; -word compatibleLIGGGHTSversion="3.0.6"; +word CFDEMversion="cfdem-2.9.0PFM"; +word compatibleLIGGGHTSversion="3.0.6PFM"; word OFversion="2.3.x-commit-4d6f4a3115ff76ec4154c580eb041bc95ba4ec09"; Info << "\nCFDEMcoupling version: " << CFDEMversion << endl; diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C index a913c413..4820d62a 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C @@ -93,6 +93,7 @@ Foam::cfdemCloud::cfdemCloud particleVolumes_(NULL), particleV_(NULL), numberOfParticles_(0), + d32_(-1), numberOfParticlesChanged_(false), arraysReallocated_(false), forceModels_(couplingProperties_.lookup("forceModels")), @@ -456,12 +457,12 @@ label Foam::cfdemCloud::liggghtsCommandModelIndex(word name) return index; } -std::vector* Foam::cfdemCloud::getVprobe() +std::vector< std::vector >* Foam::cfdemCloud::getVprobe() { return probeModel_->getVprobe(); } -std::vector* Foam::cfdemCloud::getSprobe() +std::vector< std::vector >* Foam::cfdemCloud::getSprobe() { return probeModel_->getSprobe(); } @@ -480,13 +481,13 @@ bool Foam::cfdemCloud::evolve numberOfParticlesChanged_ = false; arraysReallocated_=false; bool doCouple=false; - probeModel_->clearProbes(); if(!ignore()) { - if (dataExchangeM().couple()) + if (dataExchangeM().doCoupleNow()) { Info << "\n Coupling..." << endl; + dataExchangeM().couple(0); doCouple=true; // reset vol Fields @@ -591,6 +592,8 @@ bool Foam::cfdemCloud::evolve clockM().start(23,"giveDEMdata"); giveDEMdata(); clockM().stop("giveDEMdata"); + + dataExchangeM().couple(1); }//end dataExchangeM().couple() diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H index cc6565b1..f3c6edfe 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H @@ -127,6 +127,8 @@ protected: int numberOfParticles_; + scalar d32_; + bool numberOfParticlesChanged_; mutable bool arraysReallocated_; @@ -305,6 +307,7 @@ public: virtual inline double d(int); + inline scalar d32(bool recalc=true); virtual inline double dMin() {return -1;} virtual inline double dMax() {return -1;} virtual inline int minType() {return -1;} @@ -399,9 +402,9 @@ public: void resetArray(double**&,int,int,double resetVal=0.); - std::vector* getVprobe(); - - std::vector* getSprobe(); + std::vector< std::vector >* getVprobe(); + + std::vector< std::vector >* getSprobe(); }; diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H index 7f7d02cd..57405936 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H @@ -197,6 +197,25 @@ inline double cfdemCloud::d(int index) return 2*radii_[index][0]; } +inline double cfdemCloud::d32(bool recalc) +{ + if(d32_<0 || recalc) + { + scalar Ntot(0); + scalar Dtot(0); + scalar r(0); + for(int index = 0;index < numberOfParticles(); ++index) + { + r=radii_[index][0]; + Ntot+=2*r*r*r; + Dtot+=r*r; + } + d32_=Ntot/Dtot; + } + + return d32_; +} + inline int cfdemCloud::numberOfParticles() const { return numberOfParticles_; diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C index 94e9636b..44a9424e 100644 --- a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C +++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C @@ -101,19 +101,20 @@ bool Foam::cfdemCloudIB::evolve() arraysReallocated_=false; bool doCouple=false; - if (dataExchangeM().couple()) + if (dataExchangeM().doCoupleNow()) { Info << "\n timeStepFraction() = " << dataExchangeM().timeStepFraction() << endl; + dataExchangeM().couple(0); doCouple=true; -// Info << "skipLagrangeToEulerMapping_: " << skipLagrangeToEulerMapping_ +// Info << "skipLagrangeToEulerMapping_: " << skipLagrangeToEulerMapping_ // << " haveEvolvedOnce_: " << haveEvolvedOnce_ << endl; if(!skipLagrangeToEulerMapping_ || !haveEvolvedOnce_) { if(verbose_) Info << "- getDEMdata()" << endl; getDEMdata(); Info << "nr particles = " << numberOfParticles() << endl; - + // search cellID of particles if(verbose_) Info << "- findCell()" << endl; locateM().findCell(NULL,positions_,cellIDs_,numberOfParticles()); @@ -124,7 +125,7 @@ bool Foam::cfdemCloudIB::evolve() voidFractionM().setvoidFraction(NULL,voidfractions_,particleWeights_,particleVolumes_,particleV_); if(verbose_) Info << "setvoidFraction done." << endl; } - + // set particles forces if(verbose_) Info << "- setForce(forces_)" << endl; for(int index = 0;index < numberOfParticles_; ++index){ @@ -140,7 +141,9 @@ bool Foam::cfdemCloudIB::evolve() // write DEM data if(verbose_) Info << " -giveDEMdata()" << endl; giveDEMdata(); - + + dataExchangeM().couple(1); + haveEvolvedOnce_=true; } Info << "evolve done." << endl; @@ -197,11 +200,11 @@ void Foam::cfdemCloudIB::calcVelocityCorrection ( fvm::laplacian(phiIB) == fvc::div(U) + fvc::ddt(voidfraction) ); - if(phiIB.needReference()) - { - phiIBEqn.setReference(pRefCell_, pRefValue_); - } - + if(phiIB.needReference()) + { + phiIBEqn.setReference(pRefCell_, pRefValue_); + } + phiIBEqn.solve(); U=U-fvc::grad(phiIB); @@ -211,18 +214,18 @@ void Foam::cfdemCloudIB::calcVelocityCorrection p=p+phiIB/U.mesh().time().deltaT(); // do we have to account for rho here? p.correctBoundaryConditions(); - if (couplingProperties_.found("checkinterface")) - { - Info << "checking no-slip on interface..." << endl; + if (couplingProperties_.found("checkinterface")) + { + Info << "checking no-slip on interface..." << endl; // #include "checkInterfaceVelocity.H" //TODO: check carefully! - } + } } vector Foam::cfdemCloudIB::angularVelocity(int index) { vector vel; - for(int i=0;i<3;i++) vel[i] = angularVelocities_[index][i]; + for(int i=0;i<3;i++) vel[i] = angularVelocities_[index][i]; return vel; } diff --git a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H b/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H index ba6a30dd..bc3c6931 100644 --- a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H +++ b/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H @@ -1,5 +1,5 @@ -#define version23 // currently being tested -//#define version22 // currently being used +#define version23 // currently being used +//#define version22 //#define version21 //#define version16ext //#define version15 diff --git a/src/lagrangian/cfdemParticle/etc/additionalLibs b/src/lagrangian/cfdemParticle/etc/additionalLibs new file mode 100644 index 00000000..771640ae --- /dev/null +++ b/src/lagrangian/cfdemParticle/etc/additionalLibs @@ -0,0 +1,8 @@ +# paths for additional libraries +CFDEM_ADD_LIB_PATHS = \ + +# additional libraries to be linked to solvers +CFDEM_ADD_LIBS = \ + +# additional static libraries to be linked to lagrangian library +CFDEM_ADD_STATICLIBS = \ diff --git a/src/lagrangian/cfdemParticle/etc/bashrc b/src/lagrangian/cfdemParticle/etc/bashrc index 391fe5cb..3f11759f 100755 --- a/src/lagrangian/cfdemParticle/etc/bashrc +++ b/src/lagrangian/cfdemParticle/etc/bashrc @@ -42,7 +42,7 @@ if [[ $CFDEM_LAMMPS_LIB_DIR == "" ]]; then export CFDEM_LAMMPS_LIB_DIR=$CFDEM_LIGGGHTS_SRC_DIR/../lib/ else - echo "using already defined CFDEM_LAMMPS_LIB_DIR=$CFDEM_LAMMPS_LIB_DIR ." + echo "using CFDEM_LAMMPS_LIB_DIR=$CFDEM_LAMMPS_LIB_DIR defined by user." fi #- LIGGGHTS lib name @@ -54,6 +54,13 @@ export CFDEM_LIB_NAME=lagrangianCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION #- CFDEM compressible lib name export CFDEM_LIB_COMP_NAME=lagrangianCFDEMcomp-$CFDEM_VERSION-$WM_PROJECT_VERSION +#check if additional libraries should be compiled together with solvers +if [[ $CFDEM_ADD_LIBS_DIR == "" ]]; then + export CFDEM_ADD_LIBS_DIR=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc +else + echo "using CFDEM_ADD_LIBS_DIR=$CFDEM_ADD_LIBS_DIR defined by user." +fi + #----------------------------------------------------- # additional libraries diff --git a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh index c3da9ab9..66b686a2 100755 --- a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh +++ b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh @@ -11,10 +11,15 @@ source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh #- show gcc settings checkGPP="true" +#- sys check for add on +checkAddOn="true" + #- system settings -echo "*******************" -echo "system settings:" -echo "*******************" +printHeader + +echo "*********************************" +echo "CFDEM(R)coupling system settings:" +echo "*********************************" echo "CFDEM_VERSION=$CFDEM_VERSION" echo "couple to OF_VERSION=$WM_PROJECT_VERSION" @@ -29,8 +34,10 @@ checkDirComment "$CFDEM_SOLVER_DIR" '$CFDEM_SOLVER_DIR' "yes" checkDirComment "$CFDEM_TUT_DIR" '$CFDEM_TUT_DIR' "yes" checkDirComment "$CFDEM_LIGGGHTS_SRC_DIR" '$CFDEM_LIGGGHTS_SRC_DIR' "yes" checkDirComment "$CFDEM_LPP_DIR" '$CFDEM_LPP_DIR' "yes" +checkDirComment "$CFDEM_ADD_LIBS_DIR" '$CFDEM_ADD_LIBS_DIR' "yes" checkDirComment "$CFDEM_PIZZA_DIR" '$CFDEM_PIZZA_DIR' "no" checkDirComment "$CFDEM_TEST_HARNESS_PATH" '$CFDEM_TEST_HARNESS_PATH' "no" +checkDirComment "$C3PO_SRC_DIR" '$C3PO_SRC_DIR' "no" echo "" echo "library names" @@ -61,3 +68,16 @@ if [ $checkGPP == "true" ] mpirun --version fi +echo "**********************" +echo "additional packages..." + +if [ $checkAddOn == "true" ] + then + packageName=c3po + filePath=$CFDEM_SRC_DIR/$packageName + if [ $(checkDir $filePath) == "true" ]; then + source $filePath/etc/$packageName"SystemTest.sh" + else + echo "$packageName does not exist." + fi +fi diff --git a/src/lagrangian/cfdemParticle/etc/cshrc b/src/lagrangian/cfdemParticle/etc/cshrc index 4e07778e..54154dfb 100755 --- a/src/lagrangian/cfdemParticle/etc/cshrc +++ b/src/lagrangian/cfdemParticle/etc/cshrc @@ -37,6 +37,13 @@ #- export environment variables (adapt to your paths) #------------------------------------------------------------------------------ +#check if default lammps lib path should be used +if ( ! ($?CFDEM_LAMMPS_LIB_DIR) ) then + setenv CFDEM_LAMMPS_LIB_DIR $CFDEM_LIGGGHTS_SRC_DIR"/../lib/" +else + echo "using CFDEM_LAMMPS_LIB_DIR=$CFDEM_LAMMPS_LIB_DIR defined by user." +endif + #- LIGGGHTS lib name setenv CFDEM_LIGGGHTS_LIB_NAME lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME @@ -46,6 +53,16 @@ setenv CFDEM_LIB_NAME lagrangianCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION #- CFDEM compressible lib name setenv CFDEM_LIB_COMP_NAME lagrangianCFDEMcomp-$CFDEM_VERSION-$WM_PROJECT_VERSION +#check if additional libraries should be compiled together with solvers +if ( ! ($?CFDEM_ADD_LIBS_DIR) ) then + setenv CFDEM_ADD_LIBS_DIR $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc +else + echo "using CFDEM_ADD_LIBS_DIR=$CFDEM_ADD_LIBS_DIR defined by user." +endif + +#----------------------------------------------------- +# additional libraries + #- LMP Many2Many lib path and makefile setenv CFDEM_Many2ManyLIB_PATH $CFDEM_SRC_DIR/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/library setenv CFDEM_Many2ManyLIB_MAKEFILENAME $CFDEM_LIGGGHTS_MAKEFILE_NAME diff --git a/src/lagrangian/cfdemParticle/etc/functions.sh b/src/lagrangian/cfdemParticle/etc/functions.sh index c719776b..2524130b 100755 --- a/src/lagrangian/cfdemParticle/etc/functions.sh +++ b/src/lagrangian/cfdemParticle/etc/functions.sh @@ -930,6 +930,52 @@ checkDirComment() fi } +#========================================# +#- function to check if a variable exits +checkEnv() +{ + #--------------------------------------------------------------------------------# + #- define variables + var="$1" + #--------------------------------------------------------------------------------# + if [[ $var == "" ]]; then + echo "false" + else + echo "true" + fi +} + +#========================================# +#- function to check if a variable exits +checkEnvComment() +{ + #--------------------------------------------------------------------------------# + #- define variables + var="$1" + varName="$2" + critical="$3" + #--------------------------------------------------------------------------------# + if [ $(checkEnv $var) == "true" ]; then + echo "valid:yes critical:$critical - $varName = $var" + else + echo "valid:NO critical:$critical - $varName = $var variable not set!" + fi +} + +#========================================# +#- function to print a header to terminal +printHeader() +{ + echo "" + echo "*********************************************" + echo "* C F D E M (R) c o u p l i n g *" + echo "* *" + echo "* by DCS Computing GmbH *" + echo "* www.dcs-computing.com *" + echo "*********************************************" + echo "" +} + #========================================# #- track memory usage trackMem() diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.C b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.C index 15b1bd4e..164d0ac3 100755 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.C +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.C @@ -196,7 +196,7 @@ void Foam::dataExchangeModel::destroy(double* array) const //==== -bool Foam::dataExchangeModel::couple() const +bool Foam::dataExchangeModel::couple(int i) const { bool coupleNow = false; if (doCoupleNow()) diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H index c9ecf470..a1c7b78c 100755 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H @@ -69,7 +69,6 @@ protected: int couplingInterval_; // Protected member functions - void setNumberOfParticles(int) const; public: @@ -116,6 +115,8 @@ public: // Member Function + void setNumberOfParticles(int) const; + inline const int& maxNumberOfParticles() const { return maxNumberOfParticles_; } template @@ -175,7 +176,7 @@ public: virtual void destroy(double*) const; //==== - virtual bool couple() const; + virtual bool couple(int) const; virtual scalar timeStepFraction() const; diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C index 90d132cb..7edf96e7 100644 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C @@ -108,7 +108,9 @@ twoWayMPI::twoWayMPI // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // twoWayMPI::~twoWayMPI() -{} +{ + if (liggghts == 1) delete lmp; +} // * * * * * * * * * * * * * * * public Member Functions * * * * * * * * * * * * * // void twoWayMPI::getData @@ -239,10 +241,10 @@ void Foam::twoWayMPI::destroy(double* array) const } //============ -bool Foam::twoWayMPI::couple() const +bool Foam::twoWayMPI::couple(int i) const { bool coupleNow = false; - if (doCoupleNow()) + if (i==0) { couplingStep_++; coupleNow = true; @@ -293,9 +295,9 @@ bool Foam::twoWayMPI::couple() const DEMstepsToInterrupt[ind] -= DEMstepsToInterrupt[ind-1]; } - Info << "Foam::twoWayMPI::couple(): interruptTimes=" << interruptTimes << endl; - Info << "Foam::twoWayMPI::couple(): DEMstepsToInterrupt=" << DEMstepsToInterrupt << endl; - Info << "Foam::twoWayMPI::couple(): lcModel=" << lcModel << endl; + Info << "Foam::twoWayMPI::couple(i): interruptTimes=" << interruptTimes << endl; + Info << "Foam::twoWayMPI::couple(i): DEMstepsToInterrupt=" << DEMstepsToInterrupt << endl; + Info << "Foam::twoWayMPI::couple(i): lcModel=" << lcModel << endl; } if(particleCloud_.liggghtsCommand()[i]().type()=="runLiggghts") diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.H b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.H index 5e18455e..3e05b3a2 100644 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.H +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.H @@ -91,10 +91,11 @@ private: MPI_Comm comm_liggghts; - LAMMPS_NS::LAMMPS *lmp; - // private member functions +protected: + LAMMPS_NS::LAMMPS *lmp; + public: //- Runtime type information @@ -158,7 +159,7 @@ public: void destroy(int*) const; //============== - bool couple() const; + bool couple(int) const; int getNumberOfParticles() const; int getNumberOfClumps() const; diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/twoWayMany2Many.C b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/twoWayMany2Many.C index 6a8d0795..0e32b66e 100644 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/twoWayMany2Many.C +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/twoWayMany2Many.C @@ -388,11 +388,10 @@ void inline Foam::twoWayMany2Many::destroy(int* array) const //============== -bool Foam::twoWayMany2Many::couple() const +bool Foam::twoWayMany2Many::couple(int i) const { bool coupleNow = false; - label commandLines(0); - if (doCoupleNow()) + if (i==0) { couplingStep_++; coupleNow = true; @@ -408,7 +407,7 @@ bool Foam::twoWayMany2Many::couple() const if (particleCloud_.liggghtsCommand()[i]().runCommand(couplingStep())) { - commandLines=particleCloud_.liggghtsCommand()[i]().commandLines(); + label commandLines = particleCloud_.liggghtsCommand()[i]().commandLines(); for (int j=0; j-1 && index <102) diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C index 778a1e01..eaaeb94a 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C @@ -223,8 +223,8 @@ void GidaspowDrag::setForce() const drag = dragCoefficient * Ur; - // explicitInterpCorr - forceSubM(0).explicitInterpCorr(dragExplicit,dragCoefficient,Ufluid,U_[cellI],Us,UsField_[cellI],forceSubM(0).verbose()); + // explicitCorr + forceSubM(0).explicitCorr(drag,dragExplicit,dragCoefficient,Ufluid,U_[cellI],Us,UsField_[cellI],forceSubM(0).verbose()); if(forceSubM(0).verbose() && index >=0 && index <2) { diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C index 34bb2b8d..c4207680 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C @@ -231,8 +231,8 @@ void KochHillDrag::setForce() const { drag = dragCoefficient * Ur; - // explicitInterpCorr - forceSubM(0).explicitInterpCorr(dragExplicit,dragCoefficient,Ufluid,U_[cellI],Us,UsField_[cellI],forceSubM(0).verbose()); + // explicitCorr + forceSubM(0).explicitCorr(drag,dragExplicit,dragCoefficient,Ufluid,U_[cellI],Us,UsField_[cellI],forceSubM(0).verbose()); } } diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C index 228f2867..cdb546b6 100755 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C @@ -353,8 +353,8 @@ void KochHillRWDrag::setForce() const drag = dragCoefficient * Ur; - // explicitInterpCorr - forceSubM(0).explicitInterpCorr(dragExplicit,dragCoefficient,Ufluid,U_[cellI],Us,UsField_[cellI],verbose_); + // explicitCorr + forceSubM(0).explicitCorr(drag,dragExplicit,dragCoefficient,Ufluid,U_[cellI],Us,UsField_[cellI],verbose_); } if(verbose_ && index >=0 && index <2) diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C index a1cce23c..e49c258c 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C @@ -179,8 +179,9 @@ void forceSubModel::partToArray // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -void forceSubModel::explicitInterpCorr +void forceSubModel::explicitCorr ( + vector& dragImplicit, vector& dragExplicit, scalar& dragCoefficient, vector& Ufluid, @@ -218,11 +219,15 @@ void forceSubModel::readSwitches() const particleCloud_.impDEMdrag_=true; // do sanity check + // This can work if the accumulator is used, but is explicitely applied on the CFD side + // Sanity check is therefore not necessary here + /* if(switches_[0]) // treatExplicit=true { - FatalError << "Please check your settings, treatExplicit together with implForceDEM does not work!." + FatalError << "Please check your settings, treatExplicit together with implForceDEM does not work!." << abort(FatalError); } + */ } if(switches_[7]) // implForceDEMaccumulated=true @@ -320,7 +325,7 @@ const volVectorField& forceSubModel::divTauField(const volVectorField& U) const const volVectorField& forceSubModel::IBDragPerV(const volVectorField& U,const volScalarField& p) const { #ifdef compre - IBDragPerV_ = muField()*fvc::laplacian(U)-fvc::grad(p) + IBDragPerV_ = muField()*fvc::laplacian(U)-fvc::grad(p); #else IBDragPerV_ = rhoField()*(nuField()*fvc::laplacian(U)-fvc::grad(p)); #endif diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H index e4cc63e5..935adac9 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H @@ -132,7 +132,7 @@ public: // Member Functions void partToArray(label&, vector&, const vector&, const vector& Ufluid=vector::zero, scalar Cd=scalar(0)) const; - virtual void explicitInterpCorr(vector&, scalar&, vector&, const vector&, vector&, const vector&, bool,label index=100) const; + virtual void explicitCorr(vector&, vector&, scalar&, vector&, const vector&, vector&, const vector&, bool,label index=100) const; // Access diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C index 73c93e16..d00aaab9 100644 --- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C @@ -30,6 +30,7 @@ Description \*---------------------------------------------------------------------------*/ #include "error.H" +#include #include "liggghtsCommandModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -120,8 +121,8 @@ void liggghtsCommandModel::checkTimeSettings(const dictionary& propsDict) timeInterval_ = -1; // calculate coupling times - firstCouplingStep_ = floor(startTime_/DEMts/couplingInterval); - lastCouplingStep_ = floor(endTime_/DEMts/couplingInterval); + firstCouplingStep_ = floor((startTime_+SMALL)/DEMts/couplingInterval); + lastCouplingStep_ = floor((endTime_+SMALL)/DEMts/couplingInterval); couplingStepInterval_ = -1; } else //runEveryCouplingStep of every n steps or every writeStep @@ -134,6 +135,7 @@ void liggghtsCommandModel::checkTimeSettings(const dictionary& propsDict) timeInterval_ = readScalar(propsDict.lookup("timeInterval")); // calculate coupling times + // if this makes troubles try floor((startTime_+SMALL)/.. as above firstCouplingStep_ = floor(startTime_/DEMts/couplingInterval)+1; lastCouplingStep_ = floor(endTime_/DEMts/couplingInterval)+1; couplingStepInterval_ = floor(timeInterval_/DEMts/couplingInterval)+1; @@ -238,6 +240,13 @@ DynamicList liggghtsCommandModel::executionsWithinPeriod(scalar TSstart, return executions; } +bool liggghtsCommandModel::checkPath(fileName path) +{ + struct stat buffer; + return (stat (path.c_str(), &buffer) == 0); +} + + void liggghtsCommandModel::parseCommandList(wordList& commandList,labelList& labelList,scalarList& scalarList,word& command, dictionary& propsDict, bool timeStamp) { bool addBlank = true; // std no blanks after each word diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H index cba32881..57144f5c 100644 --- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H @@ -160,6 +160,8 @@ public: DynamicList executionsWithinPeriod(scalar,scalar); + bool checkPath(fileName); + // Access int nextRun(){return nextRun_;}; diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/writeLiggghts/writeLiggghts.C b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/writeLiggghts/writeLiggghts.C index 967216ef..19547a66 100644 --- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/writeLiggghts/writeLiggghts.C +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/writeLiggghts/writeLiggghts.C @@ -81,6 +81,15 @@ writeLiggghts::writeLiggghts writeLast_=Switch(propsDict_.lookup("writeLast")); } + if (propsDict_.found("path")) + { + path_=fileName(propsDict_.lookup("path")); + if (!checkPath(path_)) + FatalError<<"The path you provided in writeLiggghtsProps is incorrect: " << path_ << "\n" << abort(FatalError); + else + Info << "Using user defined path to write LIGGGHTS restart file: " << path_ << endl; + } + if(propsDict_.found("writeName")) { propsDict_.lookup("writeName") >> writeName_; diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C index bfa1335f..02f62f60 100644 --- a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C +++ b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C @@ -99,7 +99,9 @@ particleProbe::particleProbe // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // particleProbe::~particleProbe() -{} +{ + clearProbes(); +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -112,6 +114,7 @@ void particleProbe::setOutputFile() const else currItemId_+=1; sPtr = sPtrList_[currItemId_-1]; //set the pointer to the output file from list + probeIndex_=currItemId_-1; } @@ -216,14 +219,79 @@ void particleProbe::writeHeader() const void particleProbe::clearProbes() const { for (unsigned int i=0; i sValues, Field vValues) const +{ + int vSize_=vProbes_.size(); + int sSize_=sProbes_.size(); + + //check if the particle already has an allocated vector. If not, create it. It should be only called at the beginning. + while(index >= vSize_) + { + std::vector particleVector_; + vProbes_.push_back(particleVector_); + vSize_=vProbes_.size(); + } + + while(index >= sSize_) + { + std::vector particleScalar_; + sProbes_.push_back(particleScalar_); + sSize_=sProbes_.size(); + } + + //register vector probes on the corresponding vector + forAll(vValues, iter) + { + int ProbeSize_=vProbes_[index].size(); + + if(probeIndex_ sValues, Field vValues) const { + updateProbes(index,sValues,vValues); //update probe vectors + + if(printNow_ && checkIDForPrint(index) && verboseToFile_) { //index and time @@ -231,7 +299,6 @@ void particleProbe::writeProbe(int index, Field sValues, Field v *sPtr << index << tab << particleCloud_.mesh().time().value() << " "; *sPtr << "|| "; - int vsize_ = vProbes_.size(); //vectorFields *sPtr << setprecision(writePrecision_); forAll(vValues, iter) @@ -241,21 +308,6 @@ void particleProbe::writeProbe(int index, Field sValues, Field v *sPtr << vValues[iter][1] << " "; *sPtr << vValues[iter][2] << " "; - if(index < vsize_) - { - vProbes_[index][0] += vValues[iter][0]; - vProbes_[index][1] += vValues[iter][1]; - vProbes_[index][2] += vValues[iter][2]; - } - else - { - double * vprobe_ = new double[3]; - vprobe_[0] = vValues[iter][0]; - vprobe_[1] = vValues[iter][1]; - vprobe_[2] = vValues[iter][2]; - - vProbes_.push_back(vprobe_); - } } //scalarFields @@ -265,7 +317,6 @@ void particleProbe::writeProbe(int index, Field sValues, Field v forAll(sValues, iter) { *sPtr << sValues[iter] << " "; - sProbes_.push_back(sValues[iter]); } } diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H index 6aee1c94..cbcfb4bb 100644 --- a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H +++ b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H @@ -101,10 +101,14 @@ private: mutable bool printNow_; - mutable std::vector sProbes_; - - mutable std::vector vProbes_; - + mutable std::vector< std::vector > sProbes_; + + mutable std::vector< std::vector > vProbes_; + + mutable std::vector probeName_; + + mutable int probeIndex_; + public: //- Runtime type information @@ -127,6 +131,7 @@ public: ~particleProbe(); // Member Functions + void updateProbes(int index, Field sValues, Field vValues) const; void initialize(word typeName, word logFileName) const; void setOutputFile() const; void writeHeader() const; @@ -134,8 +139,9 @@ public: bool checkIDForPrint(int) const; void setCounter() const; void clearProbes() const; - std::vector* getVprobe() { return &vProbes_; } - std::vector* getSprobe() { return &sProbes_; } + std::vector< std::vector >* getVprobe() { return &vProbes_; } + std::vector< std::vector >* getSprobe() { return &sProbes_; } + }; diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H b/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H index 3179ee0b..e7a45494 100644 --- a/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H +++ b/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H @@ -140,8 +140,8 @@ public: virtual bool checkIDForPrint(int) const { return false; } virtual void setCounter() const {} virtual bool active() const { return true; } - virtual std::vector* getVprobe() { return NULL; } - virtual std::vector* getSprobe() { return NULL; } + virtual std::vector< std::vector >* getVprobe() { return NULL; } + virtual std::vector< std::vector >* getSprobe() { return NULL; } virtual void clearProbes() const {} // Access diff --git a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh index 183fe2e4..0c5232c9 100755 --- a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh +++ b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh @@ -23,5 +23,5 @@ else fi -gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI CFD' -e "bash $casePath/parCFDDEMrun.sh" - +#gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI CFD' -e "bash $casePath/parCFDDEMrun.sh" +bash $casePath/parCFDDEMrun.sh diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh index d1ebdd40..fdfed502 100755 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh @@ -26,4 +26,5 @@ else fi #- run parallel CFD-DEM in new terminal -gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh" +#gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh" +bash $casePath/parCFDDEMrun.sh diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties b/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties index 8c0ae32d..2c6aee77 100644 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties @@ -26,6 +26,9 @@ FoamFile //===========================================================================// // sub-models & settings +syncMode false; +//verbose; + modelType "A"; // A or B couplingInterval 100; @@ -171,7 +174,7 @@ KochHillDragProps //); implForceDEM true; //implForceDEMaccumulated true; - //explicitInterpCorr true; + //explicitCorr true; } BeetstraDragProps diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/controlDict b/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/controlDict index 55a2adba..596886d1 100644 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/controlDict +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/controlDict @@ -63,27 +63,27 @@ functions name probes; probeLocations ( - (0 0 0.0001) - (0 0 0.0026) - (0 0 0.0051) - (0 0 0.0076) - (0 0 0.0101) - (0 0 0.0126) - (0 0 0.0151) - (0 0 0.0176) - (0 0 0.0201) - (0 0 0.0226) - (0 0 0.0251) - (0 0 0.0276) - (0 0 0.0301) - (0 0 0.0326) - (0 0 0.0351) - (0 0 0.0375) - (0 0 0.0401) - (0 0 0.0426) - (0 0 0.0451) - (0 0 0.0476) - (0 0 0.0529) + (0.00003 0 0.0001) + (0.00003 0 0.0026) + (0.00003 0 0.0051) + (0.00003 0 0.0076) + (0.00003 0 0.0101) + (0.00003 0 0.0126) + (0.00003 0 0.0151) + (0.00003 0 0.0176) + (0.00003 0 0.0201) + (0.00003 0 0.0226) + (0.00003 0 0.0251) + (0.00003 0 0.0276) + (0.00003 0 0.0301) + (0.00003 0 0.0326) + (0.00003 0 0.0351) + (0.00003 0 0.0375) + (0.00003 0 0.0401) + (0.00003 0 0.0426) + (0.00003 0 0.0451) + (0.00003 0 0.0476) + (0.00003 0 0.0529) ); // Fields to be probed diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh index 9642f34e..73c92d20 100644 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh @@ -21,7 +21,7 @@ logfileName="log_$headerText" solverName="cfdemSolverPiso" nrProcs="4" machineFileName="none" # yourMachinefileName | none -debugMode="off" # on | off| strict # on | off| strict +debugMode="off" # on | off| strict testHarnessPath="$CFDEM_TEST_HARNESS_PATH" runOctave="true" postproc="false" diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh index 95e8b6cc..8a87b183 100755 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh @@ -26,5 +26,5 @@ else fi #- run parallel CFD-DEM in new terminal -gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh" - +#gnome-terminal --title='cfdemSolverPiso ErgunTestMPI_cgs CFD' -e "bash $casePath/parCFDDEMrun.sh" +bash $casePath/parCFDDEMrun.sh diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh index f2dee44f..a5564adb 100755 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh @@ -49,7 +49,8 @@ cp $casePath/CFD/constant/couplingProperties_restart $casePath/CFD/constant/coup cp $casePath/CFD/system/controlDict_restart $casePath/CFD/system/controlDict #- run parallel CFD-DEM in new terminal -gnome-terminal --title='cfdemSolverPiso ErgunTestMPI_restart CFD' -e "bash $casePath/parCFDDEMrun.sh" +#gnome-terminal --title='cfdemSolverPiso ErgunTestMPI_restart CFD' -e "bash $casePath/parCFDDEMrun.sh" +bash $casePath/parCFDDEMrun.sh #- wait until sim has finished then run octave diff --git a/tutorials/cfdemSolverPiso/settlingTestMPI/Allrun.sh b/tutorials/cfdemSolverPiso/settlingTestMPI/Allrun.sh index 5cf3e338..3ccf874b 100755 --- a/tutorials/cfdemSolverPiso/settlingTestMPI/Allrun.sh +++ b/tutorials/cfdemSolverPiso/settlingTestMPI/Allrun.sh @@ -19,5 +19,5 @@ else fi #- run parallel CFD-DEM in new terminal -gnome-terminal --title='cfdemSolverPiso settlingTest CFD' -e "bash $casePath/parCFDDEMrun.sh" - +#gnome-terminal --title='cfdemSolverPiso settlingTest CFD' -e "bash $casePath/parCFDDEMrun.sh" +bash $casePath/parCFDDEMrun.sh diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh b/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh index 5696225a..4bb08142 100755 --- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh +++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh @@ -26,5 +26,5 @@ else fi #- run parallel CFD-DEM in new terminal -gnome-terminal --title='cfdemSolverPisoScalar packedBedTemp CFD' -e "bash $casePath/parCFDDEMrun.sh" - +#gnome-terminal --title='cfdemSolverPisoScalar packedBedTemp CFD' -e "bash $casePath/parCFDDEMrun.sh" +bash $casePath/parCFDDEMrun.sh