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_);
112 void tractionDisplacementCorrectionFvPatchVectorField::rmap
118 fixedGradientFvPatchVectorField::rmap(ptf, addr);
120 const tractionDisplacementCorrectionFvPatchVectorField& dmptf =
121 refCast<const tractionDisplacementCorrectionFvPatchVectorField>(ptf);
123 traction_.rmap(dmptf.traction_, addr);
124 pressure_.rmap(dmptf.pressure_, addr);
129 void tractionDisplacementCorrectionFvPatchVectorField::updateCoeffs()
136 const label patchi = patch().index();
138 const solidDisplacementThermo& thermo =
139 db().lookupObject<solidDisplacementThermo>
151 ? nu*E/((1 + nu)*(1 - nu))
152 : nu*E/((1 + nu)*(1 - 2*nu))
157 const fvPatchField<symmTensor>& sigmaD =
160 const fvPatchField<tensor>& sigmaExp =
165 (traction_ + pressure_*
n) - (
n & (sigmaD + sigmaExp))
168 fixedGradientFvPatchVectorField::updateCoeffs();
186 tractionDisplacementCorrectionFvPatchVectorField
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
fvPatchField< vector > fvPatchVectorField
dimensionedScalar lambda(laminarTransport.lookup("lambda"))
GeometricField< tensor, fvPatchField, volMesh > volTensorField
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.
const word dictName("noiseDict")