mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2012-08-01_14-14-45
This commit is contained in:
82
README
Normal file
82
README
Normal file
@ -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.
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
Binary file not shown.
@ -408,6 +408,8 @@ Reasonable example settings for the "liggghtsCommands" dictionary are given in t
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ After setting some environment variables LIGGGHTS and CFDEMcoupling can be compi
|
|||||||
</PRE>
|
</PRE>
|
||||||
<P>To clone the public LIGGGHTS repository, open a terminal and execute:
|
<P>To clone the public LIGGGHTS repository, open a terminal and execute:
|
||||||
</P>
|
</P>
|
||||||
<PRE><H6>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
|
||||||
</H6></PRE>
|
</H6></PRE>
|
||||||
<P>If not already done, open a terminal and create a directory for CFDEMcoupling in $HOME:
|
<P>If not already done, open a terminal and create a directory for CFDEMcoupling in $HOME:
|
||||||
</P>
|
</P>
|
||||||
|
|||||||
Binary file not shown.
@ -35,7 +35,7 @@ cd LIGGGHTS :pre
|
|||||||
|
|
||||||
To clone the public LIGGGHTS repository, open a terminal and execute:
|
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:
|
If not already done, open a terminal and create a directory for CFDEMcoupling in $HOME:
|
||||||
|
|
||||||
|
|||||||
5
src/finiteVolume/Make/files
Normal file
5
src/finiteVolume/Make/files
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
fvPatchFields = fields/fvPatchFields
|
||||||
|
derivedFvPatchFields = $(fvPatchFields)/derived
|
||||||
|
$(derivedFvPatchFields)/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.C
|
||||||
|
|
||||||
|
LIB = $(FOAM_USER_LIBBIN)/libfiniteVolumeCFDEM
|
||||||
9
src/finiteVolume/Make/options
Normal file
9
src/finiteVolume/Make/options
Normal file
@ -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
|
||||||
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "uniformFixedValueVoidfractionFvPatchField.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
uniformFixedValueVoidfractionFvPatchField<Type>::uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<Type, volMesh>& iF
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedValueFvPatchField<Type>(p, iF),
|
||||||
|
uniformValue_(),
|
||||||
|
//voidfractionFieldName_(dict.lookupOrDefault<word>("voidfraction", "voidfraction"))
|
||||||
|
voidfractionFieldName_("voidfraction")
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
uniformFixedValueVoidfractionFvPatchField<Type>::uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const uniformFixedValueVoidfractionFvPatchField<Type>& ptf,
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<Type, volMesh>& iF,
|
||||||
|
const fvPatchFieldMapper&
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedValueFvPatchField<Type>(p, iF),
|
||||||
|
uniformValue_(ptf.uniformValue_().clone().ptr()),
|
||||||
|
voidfractionFieldName_("voidfraction")
|
||||||
|
{
|
||||||
|
const scalar t = this->db().time().timeOutputValue();
|
||||||
|
fvPatchField<Type>::operator==(uniformValue_->value(t));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
uniformFixedValueVoidfractionFvPatchField<Type>::uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<Type, volMesh>& iF,
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedValueFvPatchField<Type>(p, iF),
|
||||||
|
uniformValue_(DataEntry<Type>::New("uniformValue", dict)),
|
||||||
|
voidfractionFieldName_("voidfraction")
|
||||||
|
{
|
||||||
|
const scalar t = this->db().time().timeOutputValue();
|
||||||
|
fvPatchField<Type>::operator==(uniformValue_->value(t));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
uniformFixedValueVoidfractionFvPatchField<Type>::uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const uniformFixedValueVoidfractionFvPatchField<Type>& ptf
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedValueFvPatchField<Type>(ptf),
|
||||||
|
uniformValue_(ptf.uniformValue_().clone().ptr()),
|
||||||
|
voidfractionFieldName_("voidfraction")
|
||||||
|
{
|
||||||
|
const scalar t = this->db().time().timeOutputValue();
|
||||||
|
fvPatchField<Type>::operator==(uniformValue_->value(t));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
uniformFixedValueVoidfractionFvPatchField<Type>::uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const uniformFixedValueVoidfractionFvPatchField<Type>& ptf,
|
||||||
|
const DimensionedField<Type, volMesh>& iF
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedValueFvPatchField<Type>(ptf, iF),
|
||||||
|
uniformValue_(ptf.uniformValue_().clone().ptr()),
|
||||||
|
voidfractionFieldName_("voidfraction")
|
||||||
|
{
|
||||||
|
const scalar t = this->db().time().timeOutputValue();
|
||||||
|
fvPatchField<Type>::operator==(uniformValue_->value(t));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
void uniformFixedValueVoidfractionFvPatchField<Type>::autoMap
|
||||||
|
(
|
||||||
|
const fvPatchFieldMapper& m
|
||||||
|
)
|
||||||
|
{
|
||||||
|
this->setSize(m.size());
|
||||||
|
const scalar t = this->db().time().timeOutputValue();
|
||||||
|
fvPatchField<Type>::operator==(uniformValue_->value(t));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
void uniformFixedValueVoidfractionFvPatchField<Type>::updateCoeffs()
|
||||||
|
{
|
||||||
|
if (this->updated())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const fvPatchField<scalar>& voidfraction = this->patch().template lookupPatchField<volScalarField, scalar>(voidfractionFieldName_);
|
||||||
|
const scalar t = this->db().time().timeOutputValue();
|
||||||
|
fvPatchField<Type>::operator==(1./voidfraction*uniformValue_->value(t));
|
||||||
|
|
||||||
|
fixedValueFvPatchField<Type>::updateCoeffs();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
void uniformFixedValueVoidfractionFvPatchField<Type>::write(Ostream& os) const
|
||||||
|
{
|
||||||
|
fvPatchField<Type>::write(os);
|
||||||
|
uniformValue_->writeData(os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
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 Type>
|
||||||
|
class uniformFixedValueVoidfractionFvPatchField
|
||||||
|
:
|
||||||
|
public fixedValueFvPatchField<Type>
|
||||||
|
{
|
||||||
|
// Private data
|
||||||
|
|
||||||
|
autoPtr<DataEntry<Type> > uniformValue_;
|
||||||
|
|
||||||
|
word voidfractionFieldName_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("uniformFixedValueVoidfraction");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from patch and internal field
|
||||||
|
uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<Type, volMesh>&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct from patch, internal field and dictionary
|
||||||
|
uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<Type, volMesh>&,
|
||||||
|
const dictionary&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct by mapping given uniformFixedValueVoidfractionFvPatchField
|
||||||
|
// onto a new patch
|
||||||
|
uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const uniformFixedValueVoidfractionFvPatchField<Type>&,
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<Type, volMesh>&,
|
||||||
|
const fvPatchFieldMapper&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct as copy
|
||||||
|
uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const uniformFixedValueVoidfractionFvPatchField<Type>&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct and return a clone
|
||||||
|
virtual tmp<fvPatchField<Type> > clone() const
|
||||||
|
{
|
||||||
|
return tmp<fvPatchField<Type> >
|
||||||
|
(
|
||||||
|
new uniformFixedValueVoidfractionFvPatchField<Type>(*this)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//- Construct as copy setting internal field reference
|
||||||
|
uniformFixedValueVoidfractionFvPatchField
|
||||||
|
(
|
||||||
|
const uniformFixedValueVoidfractionFvPatchField<Type>&,
|
||||||
|
const DimensionedField<Type, volMesh>&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct and return a clone setting internal field reference
|
||||||
|
virtual tmp<fvPatchField<Type> > clone
|
||||||
|
(
|
||||||
|
const DimensionedField<Type, volMesh>& iF
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return tmp<fvPatchField<Type> >
|
||||||
|
(
|
||||||
|
new uniformFixedValueVoidfractionFvPatchField<Type>(*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
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "uniformFixedValueVoidfractionFvPatchFields.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
#include "volFields.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
makePatchFields(uniformFixedValueVoidfraction);
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef uniformFixedValueVoidfractionFvPatchFields_H
|
||||||
|
#define uniformFixedValueVoidfractionFvPatchFields_H
|
||||||
|
|
||||||
|
#include "uniformFixedValueVoidfractionFvPatchField.H"
|
||||||
|
#include "fieldTypes.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
makePatchTypeFieldTypedefs(uniformFixedValueVoidfraction);
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef uniformFixedValueFvPatchFieldsFwd_H
|
||||||
|
#define uniformFixedValueFvPatchFieldsFwd_H
|
||||||
|
|
||||||
|
#include "fieldTypes.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
template<class Type> class uniformFixedValueFvPatchField;
|
||||||
|
|
||||||
|
makePatchTypeFieldTypedefs(uniform);
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -1,5 +1,6 @@
|
|||||||
cfdemCloud = cfdemCloud
|
cfdemCloud = cfdemCloud
|
||||||
forceModels = subModels/forceModel
|
forceModels = subModels/forceModel
|
||||||
|
forceModelsMS = subModels/forceModelMS
|
||||||
IOModels = subModels/IOModel
|
IOModels = subModels/IOModel
|
||||||
voidFractionModels = subModels/voidFractionModel
|
voidFractionModels = subModels/voidFractionModel
|
||||||
locateModels = subModels/locateModel
|
locateModels = subModels/locateModel
|
||||||
@ -13,34 +14,53 @@ liggghtsCommandModels = subModels/liggghtsCommandModel
|
|||||||
|
|
||||||
$(cfdemCloud)/cfdemCloud.C
|
$(cfdemCloud)/cfdemCloud.C
|
||||||
derived/cfdemCloudIB/cfdemCloudIB.C
|
derived/cfdemCloudIB/cfdemCloudIB.C
|
||||||
|
derived/cfdemCloudMS/cfdemCloudMS.C
|
||||||
|
|
||||||
$(forceModels)/forceModel/forceModel.C
|
$(forceModels)/forceModel/forceModel.C
|
||||||
$(forceModels)/forceModel/newForceModel.C
|
$(forceModels)/forceModel/newForceModel.C
|
||||||
$(forceModels)/noDrag/noDrag.C
|
$(forceModels)/noDrag/noDrag.C
|
||||||
$(forceModels)/DiFeliceDrag/DiFeliceDrag.C
|
$(forceModels)/DiFeliceDrag/DiFeliceDrag.C
|
||||||
|
$(forceModels)/DiFeliceDragNLift/DiFeliceDragNLift.C
|
||||||
$(forceModels)/GidaspowDrag/GidaspowDrag.C
|
$(forceModels)/GidaspowDrag/GidaspowDrag.C
|
||||||
$(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C
|
$(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C
|
||||||
$(forceModels)/Archimedes/Archimedes.C
|
$(forceModels)/Archimedes/Archimedes.C
|
||||||
$(forceModels)/ArchimedesIB/ArchimedesIB.C
|
$(forceModels)/ArchimedesIB/ArchimedesIB.C
|
||||||
$(forceModels)/interface/interface.C
|
$(forceModels)/interface/interface.C
|
||||||
$(forceModels)/ShirgaonkarIB/ShirgaonkarIB.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)/KochHillDrag/KochHillDrag.C
|
||||||
|
$(forceModels)/LaEuScalarLiquid/LaEuScalarLiquid.C
|
||||||
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
||||||
|
$(forceModels)/LaEuScalarDust/LaEuScalarDust.C
|
||||||
$(forceModels)/virtualMassForce/virtualMassForce.C
|
$(forceModels)/virtualMassForce/virtualMassForce.C
|
||||||
$(forceModels)/gradPForce/gradPForce.C
|
$(forceModels)/gradPForce/gradPForce.C
|
||||||
|
$(forceModels)/gradULiftForce/gradULiftForce.C
|
||||||
$(forceModels)/viscForce/viscForce.C
|
$(forceModels)/viscForce/viscForce.C
|
||||||
$(forceModels)/MeiLift/MeiLift.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/IOModel.C
|
||||||
$(IOModels)/IOModel/newIOModel.C
|
$(IOModels)/IOModel/newIOModel.C
|
||||||
$(IOModels)/noIO/noIO.C
|
$(IOModels)/noIO/noIO.C
|
||||||
$(IOModels)/basicIO/basicIO.C
|
$(IOModels)/basicIO/basicIO.C
|
||||||
$(IOModels)/trackIO/trackIO.C
|
$(IOModels)/trackIO/trackIO.C
|
||||||
|
$(IOModels)/sophIO/sophIO.C
|
||||||
|
|
||||||
$(voidFractionModels)/voidFractionModel/voidFractionModel.C
|
$(voidFractionModels)/voidFractionModel/voidFractionModel.C
|
||||||
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
|
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
|
||||||
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
|
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
|
||||||
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
|
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
|
||||||
|
$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C
|
||||||
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
|
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
|
||||||
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
|
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
|
||||||
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
|
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
|
||||||
@ -56,16 +76,19 @@ $(locateModels)/engineSearchIB/engineSearchIB.C
|
|||||||
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
||||||
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
||||||
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
||||||
|
$(meshMotionModels)/DEMdrivenMeshMotion/DEMdrivenMeshMotion.C
|
||||||
|
|
||||||
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
||||||
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
||||||
$(momCoupleModels)/explicitCouple/explicitCouple.C
|
$(momCoupleModels)/explicitCouple/explicitCouple.C
|
||||||
|
$(momCoupleModels)/explicitCoupleSource/explicitCoupleSource.C
|
||||||
$(momCoupleModels)/implicitCouple/implicitCouple.C
|
$(momCoupleModels)/implicitCouple/implicitCouple.C
|
||||||
$(momCoupleModels)/noCouple/noCouple.C
|
$(momCoupleModels)/noCouple/noCouple.C
|
||||||
|
|
||||||
$(regionModels)/regionModel/regionModel.C
|
$(regionModels)/regionModel/regionModel.C
|
||||||
$(regionModels)/regionModel/newRegionModel.C
|
$(regionModels)/regionModel/newRegionModel.C
|
||||||
$(regionModels)/allRegion/allRegion.C
|
$(regionModels)/allRegion/allRegion.C
|
||||||
|
$(regionModels)/differentialRegion/differentialRegion.C
|
||||||
|
|
||||||
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
||||||
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.9
|
|||||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
pair_style gran/hertz/history #Hertzian without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
@ -40,11 +40,12 @@ timestep 0.00003
|
|||||||
fix gravi all gravity 981 vector 0.0 0.0 -1.0
|
fix gravi all gravity 981 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
#walls
|
#walls
|
||||||
fix xwalls all wall/gran/hertz/history 1 0 xplane 0 1 1
|
fix xwalls1 all wall/gran/hertz/history primitive type 1 xplane 0.
|
||||||
#fix ywalls all wall/gran/hertz/history 1 0 yplane -1 1f 1
|
fix xwalls2 all wall/gran/hertz/history primitive type 1 xplane 1.
|
||||||
fix ywalls all wall/gran/hertz/history 1 0 yplane 0 1 1
|
fix ywalls1 all wall/gran/hertz/history primitive type 1 yplane 0.
|
||||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0 4 1
|
fix ywalls2 all wall/gran/hertz/history primitive type 1 yplane 1.
|
||||||
#--modified C.K. deleted z-wall
|
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:
|
#-import mesh from cad:
|
||||||
#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
|
#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
# Pour granular particles into chute container, then induce flow
|
# Pour granular particles into chute container, then induce flow
|
||||||
|
echo both
|
||||||
atom_style granular
|
atom_style granular
|
||||||
atom_modify map array
|
atom_modify map array
|
||||||
communicate single vel yes
|
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
|
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
pair_style gran/hertz/history #Hertzian without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
@ -32,20 +32,19 @@ timestep 0.00001
|
|||||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
#walls
|
#walls
|
||||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0
|
||||||
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1
|
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
|
#particle distributions and insertion
|
||||||
#fix cfd all couple/cfd
|
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
|
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
|
||||||
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
|
|
||||||
|
|
||||||
#apply nve integration to all particles that are inserted as single particles
|
#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
|
#screen output
|
||||||
compute 1 all erotate/sphere
|
compute 1 all erotate/sphere
|
||||||
|
|||||||
@ -28,16 +28,16 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
|||||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
pair_style gran/hertz/history #Hertzian without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
timestep 0.00001
|
timestep 0.00001
|
||||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
#walls
|
fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0
|
||||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
fix zwalls2 all wall/gran/hertz/history primitive type 1 zplane 0.0553
|
||||||
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1
|
fix cylwalls all wall/gran/hertz/history primitive type 1 zcylinder 0.01385 0. 0. tangential_damping off
|
||||||
|
|
||||||
# change the particles density
|
# change the particles density
|
||||||
set group all density 2000
|
set group all density 2000
|
||||||
@ -47,18 +47,17 @@ fix cfd all couple/cfd couple_every 100 mpi
|
|||||||
fix cfd2 all couple/cfd/force
|
fix cfd2 all couple/cfd/force
|
||||||
|
|
||||||
#apply nve integration to all particles that are inserted as single particles
|
#apply nve integration to all particles that are inserted as single particles
|
||||||
#group nve_group region reg
|
fix integr all nve/sphere
|
||||||
fix integr nve_group nve/sphere
|
|
||||||
|
|
||||||
#center of mass
|
#center of mass
|
||||||
compute centerOfMass all com
|
compute centerOfMass all com
|
||||||
|
|
||||||
#compute total dragforce
|
#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
|
#screen output
|
||||||
compute 1 all erotate/sphere
|
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 10
|
||||||
thermo_modify lost ignore norm no
|
thermo_modify lost ignore norm no
|
||||||
compute_modify thermo_temp dynamic yes
|
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
|
#insert the first particles so that dump is not empty
|
||||||
dump myDump all stl 1 post/dump_*.stl
|
dump myDump all stl 1 post/dump_*.stl
|
||||||
#run 1
|
#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
|
undump myDump
|
||||||
|
|
||||||
run 1
|
run 1
|
||||||
|
|||||||
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
# Pour granular particles into chute container, then induce flow
|
# Pour granular particles into chute container, then induce flow
|
||||||
|
echo both
|
||||||
atom_style granular
|
atom_style granular
|
||||||
atom_modify map array
|
atom_modify map array
|
||||||
communicate single vel yes
|
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
|
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
pair_style gran/hertz/history #Hertzian without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
@ -32,19 +32,22 @@ timestep 0.00001
|
|||||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
#walls
|
#walls
|
||||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0
|
||||||
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1
|
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
|
#cfd coupling
|
||||||
#fix cfd all couple/cfd
|
#fix cfd all couple/cfd
|
||||||
|
|
||||||
#particle insertion
|
#particle distributions and insertion
|
||||||
group nve_group region reg
|
region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
|
||||||
region bc cylinder z 0.0 0.0 0.012 0.02 0.03 units box
|
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 200 radius constant 0.0005
|
||||||
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 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
|
#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
|
#screen output
|
||||||
|
|||||||
@ -28,7 +28,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
|||||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
pair_style gran/hertz/history #Hertzian without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
@ -36,8 +36,10 @@ timestep 0.00001
|
|||||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
#walls
|
#walls
|
||||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
#walls
|
||||||
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
|
# change the particles density
|
||||||
set group all density 2000
|
set group all density 2000
|
||||||
@ -47,8 +49,7 @@ fix cfd all couple/cfd couple_every 100 mpi
|
|||||||
fix cfd2 all couple/cfd/force
|
fix cfd2 all couple/cfd/force
|
||||||
|
|
||||||
#apply nve integration to all particles that are inserted as single particles
|
#apply nve integration to all particles that are inserted as single particles
|
||||||
#group nve_group region reg
|
fix integr all nve/sphere
|
||||||
fix integr nve_group nve/sphere
|
|
||||||
|
|
||||||
#center of mass
|
#center of mass
|
||||||
compute centerOfMass all com
|
compute centerOfMass all com
|
||||||
|
|||||||
@ -28,7 +28,7 @@ fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
|||||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
pair_style gran/hertz/history #Hertzian without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
@ -36,8 +36,9 @@ timestep 0.00001
|
|||||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
#walls
|
#walls
|
||||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
fix zwalls1 all wall/gran/hertz/history primitive type 1 zplane 0.0
|
||||||
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1
|
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
|
# change the particles density
|
||||||
set group all density 2000
|
set group all density 2000
|
||||||
@ -47,8 +48,7 @@ fix cfd all couple/cfd couple_every 100 mpi
|
|||||||
fix cfd2 all couple/cfd/force
|
fix cfd2 all couple/cfd/force
|
||||||
|
|
||||||
#apply nve integration to all particles that are inserted as single particles
|
#apply nve integration to all particles that are inserted as single particles
|
||||||
#group nve_group region reg
|
fix integr all nve/sphere
|
||||||
fix integr nve_group nve/sphere
|
|
||||||
|
|
||||||
#center of mass
|
#center of mass
|
||||||
compute centerOfMass all com
|
compute centerOfMass all com
|
||||||
|
|||||||
Binary file not shown.
@ -18,3 +18,8 @@ dummyfile
|
|||||||
dummyfile
|
dummyfile
|
||||||
dummyfile
|
dummyfile
|
||||||
dummyfile
|
dummyfile
|
||||||
|
dummyfile
|
||||||
|
dummyfile
|
||||||
|
dummyfile
|
||||||
|
dummyfile
|
||||||
|
dummyfile
|
||||||
|
|||||||
@ -27,17 +27,20 @@ fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
|||||||
fix m5 all property/global characteristicVelocity scalar 2.0
|
fix m5 all property/global characteristicVelocity scalar 2.0
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hooke 1 0 #Hookean without cohesion
|
pair_style gran/hooke/history #Hookean without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
timestep 0.00001
|
timestep 0.00001
|
||||||
fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
|
fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
|
||||||
|
|
||||||
#walls
|
#walls (liggghts 2.0)
|
||||||
fix xwalls all wall/gran/hooke 1 0 xplane 0.0 0.1 1
|
fix xwalls1 all wall/gran/hooke/history primitive type 1 xplane 0.0
|
||||||
fix ywalls all wall/gran/hooke 1 0 yplane 0 0.1 1
|
fix xwalls2 all wall/gran/hooke/history primitive type 1 xplane 0.1
|
||||||
fix zwalls all wall/gran/hooke 1 0 zplane 0 0.01 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:
|
#-import mesh from cad:
|
||||||
#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
|
#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
|
||||||
|
|||||||
@ -38,7 +38,7 @@ meshMotionModel noMeshMotion;
|
|||||||
|
|
||||||
regionModel allRegion;
|
regionModel allRegion;
|
||||||
|
|
||||||
IOModel off;
|
IOModel basicIO;
|
||||||
|
|
||||||
dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//
|
dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ clc;
|
|||||||
fprintf('\ncalc Ergun eqn:\n')
|
fprintf('\ncalc Ergun eqn:\n')
|
||||||
dp = 0.022; % particle diameter
|
dp = 0.022; % particle diameter
|
||||||
phip = 1; % sphericity
|
phip = 1; % sphericity
|
||||||
epsilon = 0.41; % voidfraction
|
epsilon = 0.4436; % voidfraction
|
||||||
U = 1; % superficial velocity
|
U = 1; % superficial velocity
|
||||||
L = 1; % length of bed
|
L = 1; % length of bed
|
||||||
rhoG = 1.188; % density in kg/m
|
rhoG = 1.188; % density in kg/m
|
||||||
|
|||||||
@ -13,9 +13,6 @@ processors 1 1 2
|
|||||||
#read the restart file
|
#read the restart file
|
||||||
read_restart ../DEM/liggghts.restart
|
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
|
neighbor 0.003 bin
|
||||||
neigh_modify delay 0 binsize 0.01
|
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
|
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||||
|
|
||||||
#pair style
|
#pair style
|
||||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
pair_style gran/hertz/history #Hertzian without cohesion
|
||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
#timestep, gravity
|
#timestep, gravity
|
||||||
@ -36,15 +33,19 @@ timestep 0.00001
|
|||||||
fix gravi all gravity 9.81 vector 0. 0. -1.
|
fix gravi all gravity 9.81 vector 0. 0. -1.
|
||||||
|
|
||||||
#walls
|
#walls
|
||||||
fix xwalls all wall/gran/hertz/history 1 0 xplane 0. 0.1 1
|
#walls
|
||||||
fix ywalls all wall/gran/hertz/history 1 0 yplane 0. 0.1 1
|
fix xwalls1 all wall/gran/hertz/history primitive type 1 xplane 0.
|
||||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0. 1.1 1 #temperature 283
|
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
|
#heat transfer
|
||||||
fix ftco all property/global thermalConductivity peratomtype 5. # lambda in [W/(K*m)]
|
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 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
|
#set particle temperature for the bed
|
||||||
run 0
|
run 0
|
||||||
|
|||||||
73
tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.packing
Normal file
73
tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.packing
Normal file
@ -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
|
||||||
|
|
||||||
Binary file not shown.
Reference in New Issue
Block a user