41 fixedValueFvPatchScalarField(
p, iF,
dict, false),
42 Ap_(
dict.lookup<scalar>(
"Ap")),
43 Sp_(
dict.lookup<scalar>(
"Sp")),
44 VsI_(
dict.lookup<scalar>(
"VsI")),
45 tas_(
dict.lookup<scalar>(
"tas")),
46 tae_(
dict.lookup<scalar>(
"tae")),
47 tds_(
dict.lookup<scalar>(
"tds")),
48 tde_(
dict.lookup<scalar>(
"tde")),
49 psI_(
dict.lookup<scalar>(
"psI")),
50 psi_(
dict.lookup<scalar>(
"psi")),
51 ams_(
dict.lookup<scalar>(
"ams")),
53 phiName_(
dict.lookupOrDefault<
word>(
"phi",
"phi")),
56 scalar ps = (psI_*VsI_ + ams_/psi_)/Vs(db().time().value());
69 fixedValueFvPatchScalarField(sppsf,
p, iF, mapper),
81 phiName_(sppsf.phiName_),
92 fixedValueFvPatchScalarField(sppsf, iF),
104 phiName_(sppsf.phiName_),
111 Foam::scalar Foam::syringePressureFvPatchScalarField::Vs(
const scalar t)
const
121 + 0.5*Ap_*Sp_*
sqr(t - tas_)/(tae_ - tas_);
127 + 0.5*Ap_*Sp_*(tae_ - tas_)
128 + Ap_*Sp_*(t - tae_);
134 + 0.5*Ap_*Sp_*(tae_ - tas_)
135 + Ap_*Sp_*(tds_ - tae_)
137 - 0.5*Ap_*Sp_*
sqr(t - tds_)/(tde_ - tds_);
143 + 0.5*Ap_*Sp_*(tae_ - tas_)
144 + Ap_*Sp_*(tds_ - tae_)
145 + 0.5*Ap_*Sp_*(tde_ - tds_);
157 if (curTimeIndex_ != db().time().
timeIndex())
160 curTimeIndex_ = db().time().timeIndex();
163 scalar t = db().time().value();
164 scalar deltaT = db().time().deltaTValue();
174 ams_ = ams0_ + deltaT*
sum((*
this*psi_)*phip);
178 ams_ = ams0_ + deltaT*
sum(phip);
183 <<
"dimensions of phi are not correct"
184 <<
"\n on patch " << this->patch().name()
185 <<
" of field " << this->internalField().name()
186 <<
" in file " << this->internalField().objectPath()
190 scalar ps = (psI_*VsI_ + ams_/psi_)/Vs(t);
194 fixedValueFvPatchScalarField::updateCoeffs();
212 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet & dimensions() const
Return dimensions.
Generic GeometricField class.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base class for field mapping.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void write(Ostream &) const
Write.
virtual void operator=(const UList< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
This boundary condition provides a pressure condition, obtained from a zero-D model of the cylinder o...
virtual void write(Ostream &) const
Write.
syringePressureFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
const dimensionSet dimMassFlux
const dimensionSet dimVolumetricFlux
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
SurfaceField< scalar > surfaceScalarField
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)