46 fixedGradientFvPatchVectorField(
p, iF),
47 traction_(
p.size(),
Zero),
48 pressure_(
p.size(),
Zero)
50 extrapolateInternal();
55tractionDisplacementCorrectionFvPatchVectorField::
56tractionDisplacementCorrectionFvPatchVectorField
58 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf,
60 const DimensionedField<vector, volMesh>& iF,
61 const fvPatchFieldMapper& mapper
64 fixedGradientFvPatchVectorField(tdpvf,
p, iF, mapper),
65 traction_(tdpvf.traction_, mapper),
66 pressure_(tdpvf.pressure_, mapper)
70tractionDisplacementCorrectionFvPatchVectorField::
71tractionDisplacementCorrectionFvPatchVectorField
74 const DimensionedField<vector, volMesh>& iF,
78 fixedGradientFvPatchVectorField(
p, iF),
79 traction_(
"traction",
dict,
p.size()),
80 pressure_(
"pressure",
dict,
p.size())
82 extrapolateInternal();
87tractionDisplacementCorrectionFvPatchVectorField::
88tractionDisplacementCorrectionFvPatchVectorField
90 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf
93 fixedGradientFvPatchVectorField(tdpvf),
94 traction_(tdpvf.traction_),
95 pressure_(tdpvf.pressure_)
99tractionDisplacementCorrectionFvPatchVectorField::
100tractionDisplacementCorrectionFvPatchVectorField
102 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf,
103 const DimensionedField<vector, volMesh>& iF
106 fixedGradientFvPatchVectorField(tdpvf, iF),
107 traction_(tdpvf.traction_),
108 pressure_(tdpvf.pressure_)
114void tractionDisplacementCorrectionFvPatchVectorField::autoMap
116 const fvPatchFieldMapper& m
119 fixedGradientFvPatchVectorField::autoMap(m);
120 traction_.autoMap(m);
121 pressure_.autoMap(m);
126void tractionDisplacementCorrectionFvPatchVectorField::rmap
128 const fvPatchVectorField& ptf,
129 const labelList& addr
132 fixedGradientFvPatchVectorField::rmap(ptf, addr);
134 const tractionDisplacementCorrectionFvPatchVectorField& dmptf =
135 refCast<const tractionDisplacementCorrectionFvPatchVectorField>(ptf);
137 traction_.rmap(dmptf.traction_, addr);
138 pressure_.rmap(dmptf.pressure_, addr);
143void tractionDisplacementCorrectionFvPatchVectorField::updateCoeffs()
150 const dictionary& mechanicalProperties = db().lookupObject<IOdictionary>
152 "mechanicalProperties"
163 if (mechanicalProperties.get<
bool>(
"planeStress"))
175 (traction_ + pressure_*
n)/
rho - (
n & (sigmaD + sigmaExp))
178 fixedGradientFvPatchVectorField::updateCoeffs();
183void tractionDisplacementCorrectionFvPatchVectorField::write(Ostream&
os)
const
185 fvPatchField<vector>::write(
os);
186 traction_.writeEntry(
"traction",
os);
187 pressure_.writeEntry(
"pressure",
os);
188 fvPatchField<vector>::writeValueEntry(
os);
197 tractionDisplacementCorrectionFvPatchVectorField
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...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
tractionDisplacementCorrectionFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
Define a concrete fvPatchField type and add to run-time tables Example, (fvPatchScalarField,...
const std::string patch
OpenFOAM patch number as a std::string.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
GeometricField< tensor, fvPatchField, volMesh > volTensorField
Field< vector > vectorField
Specialisation of Field<T> for vector.
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
static constexpr const zero Zero
Global zero (0).
dimensionedScalar lambda("lambda", dimTime/sqr(dimLength), laminarTransport)