32 #include "addToRunTimeSelectionTable.H"
33 #include "volFields.H"
45 const DimensionedField<vector, volMesh>& iF)
46 : fixedGradientFvPatchVectorField(
p, iF)
54 const DimensionedField<vector, volMesh>& iF,
55 const fvPatchFieldMapper& mapper)
56 : fixedGradientFvPatchVectorField(tdpvf,
p, iF, mapper)
63 const DimensionedField<vector, volMesh>& iF,
64 const dictionary& dict)
65 : fixedGradientFvPatchVectorField(
p, iF),
66 traction_(
"traction", dict,
p.size()),
67 pressure_(
"pressure", dict,
p.size())
69 fvPatchVectorField::operator=(patchInternalField());
76 : fixedGradientFvPatchVectorField(tdpvf)
83 const DimensionedField<vector, volMesh>& iF)
84 : fixedGradientFvPatchVectorField(tdpvf, iF)
96 const fvPatchField<scalar>&
rho =
97 patch().lookupPatchField<volScalarField, scalar>(
"solid:rho");
99 const fvPatchField<scalar>&
lambda =
100 patch().lookupPatchField<volScalarField, scalar>(
"solid:lambda");
102 const fvPatchField<scalar>&
mu =
103 patch().lookupPatchField<volScalarField, scalar>(
"solid:mu");
105 const fvPatchField<tensor>&
gradD =
106 patch().lookupPatchField<volTensorField, tensor>(
"gradD");
110 vectorField n(patch().nf());
111 gradient() = ((traction_ - pressure_ * n) /
rho
116 fixedGradientFvPatchVectorField::updateCoeffs();
121 fvPatchVectorField::write(os);
122 traction_.writeEntry(
"traction", os);
123 pressure_.writeEntry(
"pressure", os);
124 writeEntry(
"value", os);