diff --git a/README b/README new file mode 100644 index 00000000..a677e0a8 --- /dev/null +++ b/README @@ -0,0 +1,82 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright 2009-2012 JKU Linz + Copyright 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS + and OpenFOAM. Note: this code is not part of OpenFOAM (see DISCLAIMER). +\*---------------------------------------------------------------------------*/ + + +CFDEM coupling provides an open source parallel coupled CFD-DEM framework +combining the strengths of LIGGGHTS DEM code and the Open Source +CFD package OpenFOAM(R)(*). The CFDEMcoupling toolbox allows to expand +standard CFD solvers of OpenFOAM(R)(*) to include a coupling to the DEM +code LIGGGHTS. In this toolbox the particle representation within the +CFD solver is organized by "cloud" classes. Key functionalities are organised +in sub-models (e.g. force models, data exchange models, etc.) which can easily +be selected and combined by dictionary settings. + +The coupled solvers run fully parallel on distributed-memory clusters. + +Features are: + +- its modular approach allows users to easily implement new models +- its MPI parallelization enables to use it for large scale problems +- the "forum"_lws on CFD-DEM gives the possibility to exchange with other + users / developers +- the use of GIT allows to easily update to the latest version +- basic documentation is provided + +The file structure: + +- "src" directory including the source files of the coupling toolbox and models +- "applications" directory including the solver files for coupled CFD-DEM simulations +- "doc" directory including the documentation of CFDEMcoupling +- "tutorials" directory including basic tutorial cases showing the functionality + + + +Details on installation are given on the "www.cfdem.com" + +The functionality of this CFD-DEM framwork is described via "tutorial cases" showing +how to use different solvers and models. + +CFDEMcoupling stands for Computational Fluid Dynamics (CFD) - +Discrete Element Method (DEM) coupling. + +CFDEMcoupling is an open-source code, distributed freely under the terms of the +GNU Public License (GPL). + +Core development of CFDEMcoupling is done by +Christoph Goniva and Christoph Kloss, both at DCS Computing GmbH, 2012 + + +\*---------------------------------------------------------------------------*/ +(*) "OpenFOAM(R)"_of is a registered trade mark of Silicon Graphics +International Corp. This offering is not affiliated, approved or endorsed by +Silicon Graphics International Corp., the producer of the OpenFOAM(R) software +and owner of the OpenFOAM(R) trademark. +\*---------------------------------------------------------------------------*/ diff --git a/doc/CFDEMcoupling_Manual.pdf b/doc/CFDEMcoupling_Manual.pdf index 2d19fcb4..351b314f 100644 Binary files a/doc/CFDEMcoupling_Manual.pdf and b/doc/CFDEMcoupling_Manual.pdf differ diff --git a/doc/CFDEMcoupling_Manual.txt b/doc/CFDEMcoupling_Manual.txt index b35b211e..ebc3abb7 100644 --- a/doc/CFDEMcoupling_Manual.txt +++ b/doc/CFDEMcoupling_Manual.txt @@ -408,6 +408,8 @@ Reasonable example settings for the "liggghtsCommands" dictionary are given in t + + diff --git a/doc/githubAccess_public.html b/doc/githubAccess_public.html index 6d7b5274..c8e5a91c 100644 --- a/doc/githubAccess_public.html +++ b/doc/githubAccess_public.html @@ -48,7 +48,7 @@ After setting some environment variables LIGGGHTS and CFDEMcoupling can be compi

To clone the public LIGGGHTS repository, open a terminal and execute:

-
git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghtsdev LIGGGHTS-PUBLIC +
git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC

If not already done, open a terminal and create a directory for CFDEMcoupling in $HOME:

diff --git a/doc/githubAccess_public.pdf b/doc/githubAccess_public.pdf index 2113f61d..47c73839 100644 Binary files a/doc/githubAccess_public.pdf and b/doc/githubAccess_public.pdf differ diff --git a/doc/githubAccess_public.txt b/doc/githubAccess_public.txt index 123f0c45..0b5695ed 100644 --- a/doc/githubAccess_public.txt +++ b/doc/githubAccess_public.txt @@ -35,7 +35,7 @@ cd LIGGGHTS :pre To clone the public LIGGGHTS repository, open a terminal and execute: -git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghtsdev LIGGGHTS-PUBLIC :pre,h6 +git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC :pre,h6 If not already done, open a terminal and create a directory for CFDEMcoupling in $HOME: diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files new file mode 100644 index 00000000..4e16cfac --- /dev/null +++ b/src/finiteVolume/Make/files @@ -0,0 +1,5 @@ +fvPatchFields = fields/fvPatchFields +derivedFvPatchFields = $(fvPatchFields)/derived +$(derivedFvPatchFields)/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.C + +LIB = $(FOAM_USER_LIBBIN)/libfiniteVolumeCFDEM diff --git a/src/finiteVolume/Make/options b/src/finiteVolume/Make/options new file mode 100644 index 00000000..00691b90 --- /dev/null +++ b/src/finiteVolume/Make/options @@ -0,0 +1,9 @@ +EXE_INC = \ + -I$(LIB_SRC)/triSurface/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + +LIB_LIBS = \ + -lOpenFOAM \ + -ltriSurface \ + -lmeshTools diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchField.C new file mode 100644 index 00000000..ed490709 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchField.C @@ -0,0 +1,157 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "uniformFixedValueVoidfractionFvPatchField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +uniformFixedValueVoidfractionFvPatchField::uniformFixedValueVoidfractionFvPatchField +( + const fvPatch& p, + const DimensionedField& iF +) +: + fixedValueFvPatchField(p, iF), + uniformValue_(), + //voidfractionFieldName_(dict.lookupOrDefault("voidfraction", "voidfraction")) + voidfractionFieldName_("voidfraction") +{} + + +template +uniformFixedValueVoidfractionFvPatchField::uniformFixedValueVoidfractionFvPatchField +( + const uniformFixedValueVoidfractionFvPatchField& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& +) +: + fixedValueFvPatchField(p, iF), + uniformValue_(ptf.uniformValue_().clone().ptr()), + voidfractionFieldName_("voidfraction") +{ + const scalar t = this->db().time().timeOutputValue(); + fvPatchField::operator==(uniformValue_->value(t)); +} + + +template +uniformFixedValueVoidfractionFvPatchField::uniformFixedValueVoidfractionFvPatchField +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + fixedValueFvPatchField(p, iF), + uniformValue_(DataEntry::New("uniformValue", dict)), + voidfractionFieldName_("voidfraction") +{ + const scalar t = this->db().time().timeOutputValue(); + fvPatchField::operator==(uniformValue_->value(t)); +} + + +template +uniformFixedValueVoidfractionFvPatchField::uniformFixedValueVoidfractionFvPatchField +( + const uniformFixedValueVoidfractionFvPatchField& ptf +) +: + fixedValueFvPatchField(ptf), + uniformValue_(ptf.uniformValue_().clone().ptr()), + voidfractionFieldName_("voidfraction") +{ + const scalar t = this->db().time().timeOutputValue(); + fvPatchField::operator==(uniformValue_->value(t)); +} + + +template +uniformFixedValueVoidfractionFvPatchField::uniformFixedValueVoidfractionFvPatchField +( + const uniformFixedValueVoidfractionFvPatchField& ptf, + const DimensionedField& iF +) +: + fixedValueFvPatchField(ptf, iF), + uniformValue_(ptf.uniformValue_().clone().ptr()), + voidfractionFieldName_("voidfraction") +{ + const scalar t = this->db().time().timeOutputValue(); + fvPatchField::operator==(uniformValue_->value(t)); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +void uniformFixedValueVoidfractionFvPatchField::autoMap +( + const fvPatchFieldMapper& m +) +{ + this->setSize(m.size()); + const scalar t = this->db().time().timeOutputValue(); + fvPatchField::operator==(uniformValue_->value(t)); +} + + +template +void uniformFixedValueVoidfractionFvPatchField::updateCoeffs() +{ + if (this->updated()) + { + return; + } + + const fvPatchField& voidfraction = this->patch().template lookupPatchField(voidfractionFieldName_); + const scalar t = this->db().time().timeOutputValue(); + fvPatchField::operator==(1./voidfraction*uniformValue_->value(t)); + + fixedValueFvPatchField::updateCoeffs(); +} + + +template +void uniformFixedValueVoidfractionFvPatchField::write(Ostream& os) const +{ + fvPatchField::write(os); + uniformValue_->writeData(os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchField.H new file mode 100644 index 00000000..02c230e7 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchField.H @@ -0,0 +1,169 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright (C) 2011 OpenFOAM Foundation + 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 . + +Class + Foam::uniformFixedValueVoidfractionFvPatchField + +Description + Foam::uniformFixedValueVoidfractionFvPatchField is an evolution of + Foam::uniformFixedValueFvPatchField + +SourceFiles + uniformFixedValueVoidfractionFvPatchField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef uniformFixedValueVoidfractionFvPatchField_H +#define uniformFixedValueVoidfractionFvPatchField_H + +#include "Random.H" +#include "fixedValueFvPatchFields.H" +#include "DataEntry.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class uniformFixedValueVoidfractionFvPatch Declaration +\*---------------------------------------------------------------------------*/ + +template +class uniformFixedValueVoidfractionFvPatchField +: + public fixedValueFvPatchField +{ + // Private data + + autoPtr > uniformValue_; + + word voidfractionFieldName_; + +public: + + //- Runtime type information + TypeName("uniformFixedValueVoidfraction"); + + + // Constructors + + //- Construct from patch and internal field + uniformFixedValueVoidfractionFvPatchField + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + uniformFixedValueVoidfractionFvPatchField + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given uniformFixedValueVoidfractionFvPatchField + // onto a new patch + uniformFixedValueVoidfractionFvPatchField + ( + const uniformFixedValueVoidfractionFvPatchField&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + uniformFixedValueVoidfractionFvPatchField + ( + const uniformFixedValueVoidfractionFvPatchField& + ); + + //- Construct and return a clone + virtual tmp > clone() const + { + return tmp > + ( + new uniformFixedValueVoidfractionFvPatchField(*this) + ); + } + + //- Construct as copy setting internal field reference + uniformFixedValueVoidfractionFvPatchField + ( + const uniformFixedValueVoidfractionFvPatchField&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp > clone + ( + const DimensionedField& iF + ) const + { + return tmp > + ( + new uniformFixedValueVoidfractionFvPatchField(*this, iF) + ); + } + + + // Member functions + + // Mapping functions + + //- Map (and resize as needed) from self given a mapping object + virtual void autoMap + ( + const fvPatchFieldMapper& + ); + + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); + + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "uniformFixedValueVoidfractionFvPatchField.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.C new file mode 100644 index 00000000..b8f670e5 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.C @@ -0,0 +1,45 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright (C) 2011 OpenFOAM Foundation + 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 . + +\*---------------------------------------------------------------------------*/ + +#include "uniformFixedValueVoidfractionFvPatchFields.H" +#include "addToRunTimeSelectionTable.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +makePatchFields(uniformFixedValueVoidfraction); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.H new file mode 100644 index 00000000..a2f099b6 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.H @@ -0,0 +1,51 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright (C) 2011 OpenFOAM Foundation + 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 . + +\*---------------------------------------------------------------------------*/ + +#ifndef uniformFixedValueVoidfractionFvPatchFields_H +#define uniformFixedValueVoidfractionFvPatchFields_H + +#include "uniformFixedValueVoidfractionFvPatchField.H" +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeFieldTypedefs(uniformFixedValueVoidfraction); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFieldsFwd.H new file mode 100644 index 00000000..a6ec6797 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFieldsFwd.H @@ -0,0 +1,52 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright (C) 2011 OpenFOAM Foundation + 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 . + +\*---------------------------------------------------------------------------*/ + +#ifndef uniformFixedValueFvPatchFieldsFwd_H +#define uniformFixedValueFvPatchFieldsFwd_H + +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +template class uniformFixedValueFvPatchField; + +makePatchTypeFieldTypedefs(uniform); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/Make/files b/src/lagrangian/cfdemParticle/Make/files index 4188c2c5..8c035bf7 100644 --- a/src/lagrangian/cfdemParticle/Make/files +++ b/src/lagrangian/cfdemParticle/Make/files @@ -1,5 +1,6 @@ cfdemCloud = cfdemCloud forceModels = subModels/forceModel +forceModelsMS = subModels/forceModelMS IOModels = subModels/IOModel voidFractionModels = subModels/voidFractionModel locateModels = subModels/locateModel @@ -13,34 +14,53 @@ liggghtsCommandModels = subModels/liggghtsCommandModel $(cfdemCloud)/cfdemCloud.C derived/cfdemCloudIB/cfdemCloudIB.C +derived/cfdemCloudMS/cfdemCloudMS.C $(forceModels)/forceModel/forceModel.C $(forceModels)/forceModel/newForceModel.C $(forceModels)/noDrag/noDrag.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)/LaEuScalarLiquid/LaEuScalarLiquid.C $(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C +$(forceModels)/LaEuScalarDust/LaEuScalarDust.C $(forceModels)/virtualMassForce/virtualMassForce.C $(forceModels)/gradPForce/gradPForce.C +$(forceModels)/gradULiftForce/gradULiftForce.C $(forceModels)/viscForce/viscForce.C $(forceModels)/MeiLift/MeiLift.C +$(forceModels)/KochHillDragNLift/KochHillDragNLift.C +$(forceModels)/solidsPressureForce/solidsPressureForce.C +$(forceModels)/periodicPressure/periodicPressure.C +$(forceModels)/averageSlipVel/averageSlipVel.C + +$(forceModelsMS)/forceModelMS/forceModelMS.C +$(forceModelsMS)/forceModelMS/newForceModelMS.C +$(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C $(IOModels)/IOModel/IOModel.C $(IOModels)/IOModel/newIOModel.C $(IOModels)/noIO/noIO.C $(IOModels)/basicIO/basicIO.C $(IOModels)/trackIO/trackIO.C +$(IOModels)/sophIO/sophIO.C $(voidFractionModels)/voidFractionModel/voidFractionModel.C $(voidFractionModels)/voidFractionModel/newVoidFractionModel.C $(voidFractionModels)/centreVoidFraction/centreVoidFraction.C $(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C +$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C $(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C $(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C $(voidFractionModels)/IBVoidFraction/IBVoidFraction.C @@ -56,16 +76,19 @@ $(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 +$(regionModels)/differentialRegion/differentialRegion.C $(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C $(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C diff --git a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H index 83a50a6a..cfb5bcbd 100755 --- a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H +++ b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H @@ -1,5 +1,7 @@ -word CFDEMversion="cfdem-2.4.3"; +word CFDEMversion="cfdem-2.4.4"; +word compatibleLIGGGHTSversion="2.0.4"; -Info << "\ncfdem version: " << CFDEMversion << "\n" << endl; +Info << "\nCFDEMcoupling version: " << CFDEMversion << "\n" << endl; +Info << "\n, compatible to LIGGGHTS version: " << compatibleLIGGGHTSversion << "\n" << endl; diff --git a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init index e7634d4b..cf38ff8c 100755 --- a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init +++ b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init @@ -30,7 +30,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.9 fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #pair style -pair_style gran/hertz/history 1 0 #Hertzian without cohesion +pair_style gran/hertz/history #Hertzian without cohesion pair_coeff * * #timestep, gravity @@ -40,11 +40,12 @@ timestep 0.00003 fix gravi all gravity 981 vector 0.0 0.0 -1.0 #walls -fix xwalls all wall/gran/hertz/history 1 0 xplane 0 1 1 -#fix ywalls all wall/gran/hertz/history 1 0 yplane -1 1f 1 -fix ywalls all wall/gran/hertz/history 1 0 yplane 0 1 1 -fix zwalls all wall/gran/hertz/history 1 0 zplane 0 4 1 -#--modified C.K. deleted z-wall +fix xwalls1 all wall/gran/hertz/history primitive type 1 xplane 0. +fix xwalls2 all wall/gran/hertz/history primitive type 1 xplane 1. +fix ywalls1 all wall/gran/hertz/history primitive type 1 yplane 0. +fix ywalls2 all wall/gran/hertz/history primitive type 1 yplane 1. +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0. +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 4. #-import mesh from cad: #fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0. diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init index 75affbf9..295d529e 100755 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init @@ -1,5 +1,5 @@ # Pour granular particles into chute container, then induce flow - +echo both atom_style granular atom_modify map array communicate single vel yes @@ -24,7 +24,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #pair style -pair_style gran/hertz/history 1 0 #Hertzian without cohesion +pair_style gran/hertz/history #Hertzian without cohesion pair_coeff * * #timestep, gravity @@ -32,20 +32,19 @@ timestep 0.00001 fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 #walls -fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1 -fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1 +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 0.0553 +fix cylwalls all wall/gran/hertz/history primitive type 1 zcylinder 0.01385 0. 0. tangential_damping off -#cfd coupling -#fix cfd all couple/cfd +#particle distributions and insertion +region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box +fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 200 radius constant 0.0005 +fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0 -#particle insertion -group nve_group region reg -region bc cylinder z 0.0 0.0 0.012 0.02 0.03 units box -fix ins nve_group pour 10000 1 1 vol 0.7 100 diam uniform 0.001 0.001 dens uniform 200 200 vel uniform 0. 0. 0. 0. -1.0 region bc +fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc #apply nve integration to all particles that are inserted as single particles -fix integr nve_group nve/sphere - +fix integr all nve/sphere #screen output compute 1 all erotate/sphere diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_resume b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_resume index c2f58797..4f0b0c53 100644 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_resume +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_resume @@ -28,16 +28,16 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #pair style -pair_style gran/hertz/history 1 0 #Hertzian without cohesion +pair_style gran/hertz/history #Hertzian without cohesion pair_coeff * * #timestep, gravity timestep 0.00001 fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 -#walls -fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1 -fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1 +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 0.0553 +fix cylwalls all wall/gran/hertz/history primitive type 1 zcylinder 0.01385 0. 0. tangential_damping off # change the particles density set group all density 2000 @@ -47,18 +47,17 @@ fix cfd all couple/cfd couple_every 100 mpi fix cfd2 all couple/cfd/force #apply nve integration to all particles that are inserted as single particles -#group nve_group region reg -fix integr nve_group nve/sphere +fix integr all nve/sphere #center of mass compute centerOfMass all com #compute total dragforce -#compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3] +compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3] #screen output compute 1 all erotate/sphere -thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] #c_dragtotal[1] c_dragtotal[2] c_dragtotal[3] +thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3] thermo 10 thermo_modify lost ignore norm no compute_modify thermo_temp dynamic yes @@ -66,7 +65,7 @@ compute_modify thermo_temp dynamic yes #insert the first particles so that dump is not empty dump myDump all stl 1 post/dump_*.stl #run 1 -dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius +dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius undump myDump run 1 diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart index 448e55ba..b42fba18 100644 Binary files a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart and b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart differ diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init index 75affbf9..432f9862 100755 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init @@ -1,5 +1,5 @@ # Pour granular particles into chute container, then induce flow - +echo both atom_style granular atom_modify map array communicate single vel yes @@ -24,7 +24,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #pair style -pair_style gran/hertz/history 1 0 #Hertzian without cohesion +pair_style gran/hertz/history #Hertzian without cohesion pair_coeff * * #timestep, gravity @@ -32,19 +32,22 @@ timestep 0.00001 fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 #walls -fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1 -fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1 +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 0.0553 +fix cylwalls all wall/gran/hertz/history primitive type 1 zcylinder 0.01385 0. 0. tangential_damping off #cfd coupling #fix cfd all couple/cfd -#particle insertion -group nve_group region reg -region bc cylinder z 0.0 0.0 0.012 0.02 0.03 units box -fix ins nve_group pour 10000 1 1 vol 0.7 100 diam uniform 0.001 0.001 dens uniform 200 200 vel uniform 0. 0. 0. 0. -1.0 region bc +#particle distributions and insertion +region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box +fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 200 radius constant 0.0005 +fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0 + +fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc #apply nve integration to all particles that are inserted as single particles -fix integr nve_group nve/sphere +fix integr all nve/sphere #screen output diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart index ac83f2fd..17651640 100644 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart @@ -28,7 +28,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #pair style -pair_style gran/hertz/history 1 0 #Hertzian without cohesion +pair_style gran/hertz/history #Hertzian without cohesion pair_coeff * * #timestep, gravity @@ -36,8 +36,10 @@ timestep 0.00001 fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 #walls -fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1 -fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1 +#walls +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 0.0553 +fix cylwalls all wall/gran/hertz/history primitive type 1 zcylinder 0.01385 0. 0. tangential_damping off # change the particles density set group all density 2000 @@ -47,8 +49,7 @@ fix cfd all couple/cfd couple_every 100 mpi fix cfd2 all couple/cfd/force #apply nve integration to all particles that are inserted as single particles -#group nve_group region reg -fix integr nve_group nve/sphere +fix integr all nve/sphere #center of mass compute centerOfMass all com diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_resume b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_resume index 7be22182..d5cdf55d 100644 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_resume +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_resume @@ -28,7 +28,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #pair style -pair_style gran/hertz/history 1 0 #Hertzian without cohesion +pair_style gran/hertz/history #Hertzian without cohesion pair_coeff * * #timestep, gravity @@ -36,8 +36,9 @@ timestep 0.00001 fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 #walls -fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1 -fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1 +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 0.0553 +fix cylwalls all wall/gran/hertz/history primitive type 1 zcylinder 0.01385 0. 0. tangential_damping off # change the particles density set group all density 2000 @@ -47,8 +48,7 @@ fix cfd all couple/cfd couple_every 100 mpi fix cfd2 all couple/cfd/force #apply nve integration to all particles that are inserted as single particles -#group nve_group region reg -fix integr nve_group nve/sphere +fix integr all nve/sphere #center of mass compute centerOfMass all com diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/liggghts.restart b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/liggghts.restart index 448e55ba..fbbeb42d 100644 Binary files a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/liggghts.restart and b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/liggghts.restart differ diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/dummy b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/dummy index 2dfe60a2..5e4682fa 100644 --- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/dummy +++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/dummy @@ -18,3 +18,8 @@ dummyfile dummyfile dummyfile dummyfile +dummyfile +dummyfile +dummyfile +dummyfile +dummyfile diff --git a/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/in.liggghts_init b/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/in.liggghts_init index 2d788435..3fa3e665 100755 --- a/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/in.liggghts_init +++ b/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/in.liggghts_init @@ -27,17 +27,20 @@ fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 fix m5 all property/global characteristicVelocity scalar 2.0 #pair style -pair_style gran/hooke 1 0 #Hookean without cohesion +pair_style gran/hooke/history #Hookean without cohesion pair_coeff * * #timestep, gravity timestep 0.00001 fix gravi all gravity 9.81 vector 0.0 -1.0 0.0 -#walls -fix xwalls all wall/gran/hooke 1 0 xplane 0.0 0.1 1 -fix ywalls all wall/gran/hooke 1 0 yplane 0 0.1 1 -fix zwalls all wall/gran/hooke 1 0 zplane 0 0.01 1 +#walls (liggghts 2.0) +fix xwalls1 all wall/gran/hooke/history primitive type 1 xplane 0.0 +fix xwalls2 all wall/gran/hooke/history primitive type 1 xplane 0.1 +fix ywalls1 all wall/gran/hooke/history primitive type 1 yplane 0.0 +fix ywalls2 all wall/gran/hooke/history primitive type 1 yplane 0.1 +fix zwalls1 all wall/gran/hooke/history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran/hooke/history primitive type 1 zplane 0.01 #-import mesh from cad: #fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0. diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties b/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties index e41d131a..67e3299e 100644 --- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties +++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties @@ -38,7 +38,7 @@ meshMotionModel noMeshMotion; regionModel allRegion; -IOModel off; +IOModel basicIO; dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;// diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/octave/totalPressureDropAndNusselt.m b/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/octave/totalPressureDropAndNusselt.m index b8626f41..4df0cba2 100644 --- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/octave/totalPressureDropAndNusselt.m +++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/octave/totalPressureDropAndNusselt.m @@ -13,7 +13,7 @@ clc; fprintf('\ncalc Ergun eqn:\n') dp = 0.022; % particle diameter phip = 1; % sphericity -epsilon = 0.41; % voidfraction +epsilon = 0.4436; % voidfraction U = 1; % superficial velocity L = 1; % length of bed rhoG = 1.188; % density in kg/m diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init index 9da5f38b..bb3722c7 100755 --- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init +++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init @@ -13,9 +13,6 @@ processors 1 1 2 #read the restart file read_restart ../DEM/liggghts.restart -#region reg block 0 0.1 0 0.1 0 0.1 units box -#create_box 1 reg - neighbor 0.003 bin neigh_modify delay 0 binsize 0.01 @@ -28,7 +25,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #pair style -pair_style gran/hertz/history 1 0 #Hertzian without cohesion +pair_style gran/hertz/history #Hertzian without cohesion pair_coeff * * #timestep, gravity @@ -36,15 +33,19 @@ timestep 0.00001 fix gravi all gravity 9.81 vector 0. 0. -1. #walls -fix xwalls all wall/gran/hertz/history 1 0 xplane 0. 0.1 1 -fix ywalls all wall/gran/hertz/history 1 0 yplane 0. 0.1 1 -fix zwalls all wall/gran/hertz/history 1 0 zplane 0. 1.1 1 #temperature 283 +#walls +fix xwalls1 all wall/gran/hertz/history primitive type 1 xplane 0. +fix xwalls2 all wall/gran/hertz/history primitive type 1 xplane 0.1 +fix ywalls1 all wall/gran/hertz/history primitive type 1 yplane 0. +fix ywalls2 all wall/gran/hertz/history primitive type 1 yplane 0.1 +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0. +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 1.1 #heat transfer fix ftco all property/global thermalConductivity peratomtype 5. # lambda in [W/(K*m)] fix ftca all property/global thermalCapacity peratomtype 0.1 # cp in [J/(kg*K)] -fix heattransfer all heat/gran 600. +fix heattransfer all heat/gran initial_temperature 600. #set particle temperature for the bed run 0 diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.packing b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.packing new file mode 100644 index 00000000..a2a263fd --- /dev/null +++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.packing @@ -0,0 +1,73 @@ +#Particle packing by insertion and successive growing of particles + +atom_style granular +atom_modify map array +boundary m m m +newton off +echo both + +communicate single vel yes + +units si +processors 1 1 2 + +region reg block 0. 0.1 0. 0.1 0. 1.1 units box +create_box 1 reg + +neighbor 0.002 bin +neigh_modify delay 0 + + +#Material properties required for new pair styles + +fix m1 all property/global youngsModulus peratomtype 5.e6 +fix m2 all property/global poissonsRatio peratomtype 0.45 +fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 +fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 + +#New pair style +pair_style gran/hertz/history #Hertzian without cohesion +pair_coeff * * + +timestep 0.00001 + +#walls +fix xwalls1 all wall/gran/hertz/history primitive type 1 xplane 0. +fix xwalls2 all wall/gran/hertz/history primitive type 1 xplane 0.1 +fix ywalls1 all wall/gran/hertz/history primitive type 1 yplane 0. +fix ywalls2 all wall/gran/hertz/history primitive type 1 yplane 0.1 +fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0. +fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 1.1 + +fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 + +#heat transfer +fix ftco all property/global thermalConductivity peratomtype 5. +fix ftca all property/global thermalCapacity peratomtype 10. +fix heattransfer all heat/gran initial_temperature 263. + +#particle distributions and insertion +region bc block 0. 0.1 0. 0.1 0. 1.1 units box +fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.011 +fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0 + +fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -3. insert_every 10000 overlapcheck yes all_in yes particles_in_region 1005 region bc + +#apply nve integration to all particles that are inserted as single particles +fix integr all nve/sphere + +#output settings, include total thermal energy +compute 1 all erotate/sphere +thermo_style custom step atoms ke c_1 f_heattransfer vol +thermo 1000 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic yes + +#insert the first particles +run 1 +dump dmp all custom 1000 post/dump.packing id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius f_heattransfer[0] f_heatFlux[0] + +run 150000 + +write_restart liggghts.restart + diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/liggghts.restart b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/liggghts.restart index 9fad0300..ac58871e 100644 Binary files a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/liggghts.restart and b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/liggghts.restart differ