41 const DimensionedField<vector, volMesh>& iF
44 fixedGradientFvPatchVectorField(p, iF),
45 traction_(p.size(),
Zero),
46 pressure_(p.size(), 0.0)
48 fvPatchVectorField::operator=(patchInternalField());
53 tractionDisplacementCorrectionFvPatchVectorField::
54 tractionDisplacementCorrectionFvPatchVectorField
57 const DimensionedField<vector, volMesh>& iF,
58 const dictionary& dict
61 fixedGradientFvPatchVectorField(p, iF),
62 traction_(
"traction", dict, p.size()),
63 pressure_(
"pressure", dict, p.size())
65 fvPatchVectorField::operator=(patchInternalField());
70 tractionDisplacementCorrectionFvPatchVectorField::
71 tractionDisplacementCorrectionFvPatchVectorField
73 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf,
75 const DimensionedField<vector, volMesh>& iF,
76 const fvPatchFieldMapper& mapper
79 fixedGradientFvPatchVectorField(tdpvf, p, iF, mapper),
80 traction_(mapper(tdpvf.traction_)),
81 pressure_(mapper(tdpvf.pressure_))
85 tractionDisplacementCorrectionFvPatchVectorField::
86 tractionDisplacementCorrectionFvPatchVectorField
88 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf,
89 const DimensionedField<vector, volMesh>& iF
92 fixedGradientFvPatchVectorField(tdpvf, iF),
93 traction_(tdpvf.traction_),
94 pressure_(tdpvf.pressure_)
100 void tractionDisplacementCorrectionFvPatchVectorField::autoMap
102 const fvPatchFieldMapper& m
105 fixedGradientFvPatchVectorField::autoMap(m);
106 m(traction_, traction_);
107 m(pressure_, pressure_);
111 void tractionDisplacementCorrectionFvPatchVectorField::rmap
117 fixedGradientFvPatchVectorField::rmap(ptf, addr);
119 const tractionDisplacementCorrectionFvPatchVectorField& dmptf =
120 refCast<const tractionDisplacementCorrectionFvPatchVectorField>(ptf);
122 traction_.rmap(dmptf.traction_, addr);
123 pressure_.rmap(dmptf.pressure_, addr);
127 void tractionDisplacementCorrectionFvPatchVectorField::reset
132 fixedGradientFvPatchVectorField::reset(ptf);
134 const tractionDisplacementCorrectionFvPatchVectorField& dmptf =
135 refCast<const tractionDisplacementCorrectionFvPatchVectorField>(ptf);
137 traction_.reset(dmptf.traction_);
138 pressure_.reset(dmptf.pressure_);
142 void tractionDisplacementCorrectionFvPatchVectorField::updateCoeffs()
149 const label patchi = patch().index();
151 const solidDisplacementThermo& thermo =
152 db().lookupObject<solidDisplacementThermo>
154 physicalProperties::typeName
164 ? nu*E/((1 + nu)*(1 - nu))
165 : nu*E/((1 + nu)*(1 - 2*nu))
170 const fvPatchField<symmTensor>& sigmaD =
173 const fvPatchField<tensor>& sigmaExp =
178 (traction_ + pressure_*
n) - (
n & (sigmaD + sigmaExp))
181 fixedGradientFvPatchVectorField::updateCoeffs();
199 tractionDisplacementCorrectionFvPatchVectorField
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
FvWallInfoData< WallInfo, label > label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
fvPatchField< vector > fvPatchVectorField
GeometricField< tensor, fvPatchField, volMesh > volTensorField
dimensionedScalar lambda(viscosity->lookup("lambda"))
volVectorField vectorField(fieldObject, mesh)
Macros for easy insertion into run-time selection tables.
SymmTensor< scalar > symmTensor
SymmTensor of scalars.
void write(std::ostream &os, const bool binary, List< floatScalar > &fField)
Write floats ascii or binary.
List< label > labelList
A List of labels.
volScalarField scalarField(fieldObject, mesh)
const dimensionedScalar mu
Atomic mass unit.
tractionDisplacementCorrectionFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
Tensor< scalar > tensor
Tensor of scalars.