Go to the documentation of this file.
47 <<
"Negative resistances are invalid, resistance = " << resist
57 val[cmpt] *= -maxCmpt;
67 if (!coordSys_.R().uniform())
80 const word& modelType,
83 const word& cellZoneName
102 zoneName_(cellZoneName),
109 dict_.lookup(
"cellZone") >> zoneName_;
112 cellZoneIDs_ = mesh_.cellZones().findIndices(zoneName_);
114 Info<<
" creating porous zone: " << zoneName_ <<
endl;
116 bool foundZone = !cellZoneIDs_.empty();
122 <<
"cannot find porous cellZone " << zoneName_
138 if (!mesh_.upToDatePoints(*
this))
140 calcTransformModelData();
143 mesh_.setUpToDatePoints(*
this);
155 transformModelData();
159 if (!cellZoneIDs_.empty())
161 this->calcForce(
U,
rho,
mu, tforce());
170 if (cellZoneIDs_.empty())
175 transformModelData();
187 if (cellZoneIDs_.empty())
192 transformModelData();
204 if (cellZoneIDs_.empty())
209 transformModelData();
233 cellZoneIDs_ = mesh_.cellZones().findIndices(zoneName_);
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual ~porosityModel()
Destructor.
A class for handling words, derived from string.
const dimensionedScalar mu
Atomic mass unit.
A class for managing temporary objects.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
virtual bool read()
Read object.
@ nComponents
Number of components in this vector space.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Type & value() const
Return const reference to value.
Field< vector > vectorField
Specialisation of Field<T> for vector.
void cmptMax(FieldField< Field, typename FieldField< Field, Type >::cmptType > &cf, const FieldField< Field, Type > &f)
void reduce(const List< UPstream::commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
virtual void transformModelData()
Transform the model data wrt mesh changes.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
tmp< fvVectorMatrix > UEqn(fvm::div(phi, U)+MRF.DDt(U)+turbulence->divDevReff(U)==fvOptions(U))
void adjustNegativeResistance(dimensionedVector &resist)
Adjust negative resistance values to be multiplier of max value.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
errorManipArg< error, int > exit(error &err, const int errNo=1)
void correctBoundaryConditions()
Correct boundary field.
static bool master(const label communicator=0)
Am I the master process.
virtual bool writeData(Ostream &os) const
Write.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
label fieldIndex(const label index) const
Return label index.
static const word null
An empty word.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
const Time & time() const
Return the top-level database.
porosityModel(const porosityModel &)
Disallow default bitwise copy construct.
virtual void addResistance(fvVectorMatrix &UEqn)
Add resistance.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
Generic GeometricField class.
defineTypeNameAndDebug(combustionModel, 0)
static autoPtr< coordinateSystem > New(const objectRegistry &obr, const dictionary &dict)
Select constructed from dictionary and objectRegistry.
word name(const complex &)
Return a string representation of a complex.