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
56 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf,
58 const DimensionedField<vector, volMesh>& iF,
59 const fvPatchFieldMapper& mapper
62 fixedGradientFvPatchVectorField(tdpvf, p, iF, mapper),
63 traction_(mapper(tdpvf.traction_)),
64 pressure_(mapper(tdpvf.pressure_))
68 tractionDisplacementCorrectionFvPatchVectorField::
69 tractionDisplacementCorrectionFvPatchVectorField
72 const DimensionedField<vector, volMesh>& iF,
73 const dictionary& dict
76 fixedGradientFvPatchVectorField(p, iF),
77 traction_(
"traction", dict, p.size()),
78 pressure_(
"pressure", dict, p.size())
80 fvPatchVectorField::operator=(patchInternalField());
85 tractionDisplacementCorrectionFvPatchVectorField::
86 tractionDisplacementCorrectionFvPatchVectorField
88 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf
91 fixedGradientFvPatchVectorField(tdpvf),
92 traction_(tdpvf.traction_),
93 pressure_(tdpvf.pressure_)
97 tractionDisplacementCorrectionFvPatchVectorField::
98 tractionDisplacementCorrectionFvPatchVectorField
100 const tractionDisplacementCorrectionFvPatchVectorField& tdpvf,
101 const DimensionedField<vector, volMesh>& iF
104 fixedGradientFvPatchVectorField(tdpvf, iF),
105 traction_(tdpvf.traction_),
106 pressure_(tdpvf.pressure_)
112 void tractionDisplacementCorrectionFvPatchVectorField::autoMap
114 const fvPatchFieldMapper& m
117 fixedGradientFvPatchVectorField::autoMap(m);
118 m(traction_, traction_);
119 m(pressure_, pressure_);
124 void tractionDisplacementCorrectionFvPatchVectorField::rmap
130 fixedGradientFvPatchVectorField::rmap(ptf, addr);
132 const tractionDisplacementCorrectionFvPatchVectorField& dmptf =
133 refCast<const tractionDisplacementCorrectionFvPatchVectorField>(ptf);
135 traction_.rmap(dmptf.traction_, addr);
136 pressure_.rmap(dmptf.pressure_, addr);
141 void tractionDisplacementCorrectionFvPatchVectorField::updateCoeffs()
148 const label patchi = patch().index();
150 const solidDisplacementThermo& thermo =
151 db().lookupObject<solidDisplacementThermo>
163 ? nu*E/((1 + nu)*(1 - nu))
164 : nu*E/((1 + nu)*(1 - 2*nu))
169 const fvPatchField<symmTensor>& sigmaD =
172 const fvPatchField<tensor>& sigmaExp =
177 (traction_ + pressure_*
n) - (
n & (sigmaD + sigmaExp))
180 fixedGradientFvPatchVectorField::updateCoeffs();
198 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
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.
const word dictName("particleTrackDict")
volScalarField scalarField(fieldObject, mesh)
tractionDisplacementCorrectionFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
const dimensionedScalar & mu
Atomic mass unit.
dimensionedScalar lambda(laminarTransport.lookup("lambda"))
Tensor< scalar > tensor
Tensor of scalars.