This boundary condition provides a pressure condition, obtained from a zero-D model of the cylinder of a syringe. More...
Public Member Functions | |
TypeName ("syringePressure") | |
Runtime type information. More... | |
syringePressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
syringePressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
syringePressureFvPatchScalarField (const syringePressureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given syringePressureFvPatchScalarField. More... | |
virtual tmp< fvPatchScalarField > | clone () const |
Construct and return a clone. More... | |
syringePressureFvPatchScalarField (const syringePressureFvPatchScalarField &) | |
Construct as copy. More... | |
syringePressureFvPatchScalarField (const syringePressureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchScalarField > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Construct and return a clone setting internal field reference. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
Private Member Functions | |
scalar | Vs (const scalar t) const |
Return the volume of the syringe at time t. More... | |
Private Attributes | |
scalar | Ap_ |
Syringe piston area. More... | |
scalar | Sp_ |
Syringe piston speed. More... | |
scalar | VsI_ |
Initial syringe volume. More... | |
scalar | tas_ |
Start of piston acceleration. More... | |
scalar | tae_ |
End of piston acceleration. More... | |
scalar | tds_ |
Start of piston deceleration. More... | |
scalar | tde_ |
End of piston deceleration. More... | |
scalar | psI_ |
Initial syringe pressure. More... | |
scalar | psi_ |
Gas compressibility. More... | |
scalar | ams_ |
Added gas mass. More... | |
scalar | ams0_ |
Added gas mass at previous time step. More... | |
word | phiName_ |
Name of the flux transporting the field. More... | |
label | curTimeIndex_ |
Current time index used to store ms0_. More... | |
This boundary condition provides a pressure condition, obtained from a zero-D model of the cylinder of a syringe.
The syringe cylinder is defined by its initial volume, piston area and velocity profile specified by regions of constant acceleration, speed and deceleration. The gas in the cylinder is described by its initial pressure and compressibility which is assumed constant, i.e. isothermal expansion/compression.
Patch usage
Property | Description | Required | Default value |
---|---|---|---|
Ap | syringe piston area [m2] | yes | |
Sp | syringe piston speed [m/s] | yes | |
VsI | initial syringe volume [m3] | yes | |
tas | start of piston acceleration [s] | yes | |
tae | end of piston acceleration [s] | yes | |
tds | start of piston deceleration [s] | yes | |
tde | end of piston deceleration [s] | yes | |
psI | initial syringe pressure [Pa] | yes | |
psi | gas compressibility [m2/s2] | yes | |
ams | added (or removed) gas mass [kg] | yes |
Example of the BC specification:
myPatch { type syringePressure; Ap 1.388e-6; Sp 0.01; VsI 1.388e-8; tas 0.001; tae 0.002; tds 0.005; tde 0.006; psI 1e5; psi 1e-5; ams 0; value uniform 0; }
Definition at line 151 of file syringePressureFvPatchScalarField.H.
syringePressureFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 35 of file syringePressureFvPatchScalarField.C.
Referenced by syringePressureFvPatchScalarField::clone().
syringePressureFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 47 of file syringePressureFvPatchScalarField.C.
syringePressureFvPatchScalarField | ( | const syringePressureFvPatchScalarField & | sppsf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given syringePressureFvPatchScalarField.
onto a new patch
Definition at line 74 of file syringePressureFvPatchScalarField.C.
syringePressureFvPatchScalarField | ( | const syringePressureFvPatchScalarField & | sppsf | ) |
Construct as copy.
Definition at line 122 of file syringePressureFvPatchScalarField.C.
syringePressureFvPatchScalarField | ( | const syringePressureFvPatchScalarField & | sppsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 99 of file syringePressureFvPatchScalarField.C.
|
private |
Return the volume of the syringe at time t.
Definition at line 145 of file syringePressureFvPatchScalarField.C.
References syringePressureFvPatchScalarField::Ap_, syringePressureFvPatchScalarField::Sp_, Foam::sqr(), syringePressureFvPatchScalarField::tae_, syringePressureFvPatchScalarField::tas_, syringePressureFvPatchScalarField::tde_, syringePressureFvPatchScalarField::tds_, and syringePressureFvPatchScalarField::VsI_.
TypeName | ( | "syringePressure" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Definition at line 237 of file syringePressureFvPatchScalarField.H.
References syringePressureFvPatchScalarField::syringePressureFvPatchScalarField().
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Definition at line 260 of file syringePressureFvPatchScalarField.H.
References syringePressureFvPatchScalarField::syringePressureFvPatchScalarField().
|
virtual |
Update the coefficients associated with the patch field.
Definition at line 184 of file syringePressureFvPatchScalarField.C.
References Foam::dimArea, Foam::dimDensity, dimensionedInternalField(), Foam::dimVelocity, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::operator==(), phi, Foam::sum(), and timeIndex.
|
virtual |
Write.
Definition at line 232 of file syringePressureFvPatchScalarField.C.
References token::END_STATEMENT, Foam::nl, fvPatchField::write(), and Ostream::writeKeyword().
|
private |
Syringe piston area.
Definition at line 158 of file syringePressureFvPatchScalarField.H.
Referenced by syringePressureFvPatchScalarField::Vs().
|
private |
Syringe piston speed.
Definition at line 161 of file syringePressureFvPatchScalarField.H.
Referenced by syringePressureFvPatchScalarField::Vs().
|
private |
Initial syringe volume.
Definition at line 164 of file syringePressureFvPatchScalarField.H.
Referenced by syringePressureFvPatchScalarField::Vs().
|
private |
Start of piston acceleration.
Definition at line 167 of file syringePressureFvPatchScalarField.H.
Referenced by syringePressureFvPatchScalarField::Vs().
|
private |
End of piston acceleration.
Definition at line 170 of file syringePressureFvPatchScalarField.H.
Referenced by syringePressureFvPatchScalarField::Vs().
|
private |
Start of piston deceleration.
Definition at line 173 of file syringePressureFvPatchScalarField.H.
Referenced by syringePressureFvPatchScalarField::Vs().
|
private |
End of piston deceleration.
Definition at line 176 of file syringePressureFvPatchScalarField.H.
Referenced by syringePressureFvPatchScalarField::Vs().
|
private |
Initial syringe pressure.
Definition at line 179 of file syringePressureFvPatchScalarField.H.
|
private |
Gas compressibility.
Definition at line 182 of file syringePressureFvPatchScalarField.H.
|
private |
Added gas mass.
Definition at line 185 of file syringePressureFvPatchScalarField.H.
|
private |
Added gas mass at previous time step.
Definition at line 188 of file syringePressureFvPatchScalarField.H.
|
private |
Name of the flux transporting the field.
Definition at line 191 of file syringePressureFvPatchScalarField.H.
|
private |
Current time index used to store ms0_.
Definition at line 194 of file syringePressureFvPatchScalarField.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.