71 compactNormalStress(
pimple.
dict().lookup(
"compactNormalStress")),
94 ? nu*E/((1 + nu)*(1 - nu))
95 : nu*E/((1 + nu)*(1 - 2*nu))
100 thermo_.planeStress()
105 threeKalpha(
"threeKalpha", threeK*thermo_.alphav()),
154 if (
thermo.thermalStress())
163 if (
thermo.thermalStress())
177 scalar initialResidual = 0;
190 if (
thermo.thermalStress())
197 initialResidual = DEqn.
solve().max().initialResidual();
201 if (mesh.schemes().steady() && accFac > 1)
203 D += (accFac - 1)*(
D -
D.oldTime());
206 if (!compactNormalStress)
215 if (compactNormalStress)
228 }
while (initialResidual > convergenceTolerance && ++iCorr < nCorr);
234 if (
thermo.thermalStress())
243 if (runTime.writeTime())
256 if (
thermo.thermalStress())
272 Info<<
"Max sigmaEq = " <<
max(sigmaEq).value()
static const Foam::dimensionedScalar D("D", Foam::dimTemperature, 257.14)
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const word & name() const
Return name.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
bool constrain(fvMatrix< Type > &eqn) const
Apply constraints to an equation.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
tmp< SurfaceField< Type > > flux() const
Return the face-flux field from the matrix.
Mesh data needed to do the Finite Volume discretisation.
const fvSchemes & schemes() const
Return the fvSchemes.
void setFluxRequired(const word &name) const
virtual bool write(const bool write=true) const
Write using setting from DB.
virtual const dictionary & dict() const
Return the solution dictionary.
Fundamental solid thermodynamic properties.
Base-class for solid thermodynamic properties.
Abstract base class for run-time selectable region solvers.
pimpleNoLoopControl pimple
PIMPLE inner-loop controls.
const fvMesh & mesh
Region mesh.
Solver module for steady or transient segregated finite-volume solution of linear-elastic,...
virtual void thermophysicalPredictor()
Construct and solve the energy equation,.
scalar convergenceTolerance
Convergence tolerance for the displacement/stress correctors.
virtual ~solidDisplacement()
Destructor.
virtual void prePredictor()
Called at the beginning of the PIMPLE loop.
virtual void postSolve()
Called after the PIMPLE loop at the end of the time-step.
scalar accFac
Acceleration factor for faster steady-state simulations.
Switch compactNormalStress
Switch for normal stress discretisation (required)
solidDisplacement(fvMesh &mesh)
Construct from region mesh.
const volVectorField & D
Reference to the Displacement field.
virtual void pressureCorrector()
Construct and solve the displacement equation to obtain the stress.
virtual void postCorrector()
Correct the thermophysical transport modelling.
virtual void readControls()
Read controls.
int nCorr
Maximum number of displacement/stress correctors per time-step.
Solver module for thermal transport in solid domains and regions for conjugate heat transfer,...
virtual void thermophysicalPredictor()
Construct and solve the energy equation,.
virtual void prePredictor()
Called at the beginning of the PIMPLE loop.
virtual void postCorrector()
Correct the thermophysical transport modelling.
virtual void readControls()
Read controls.
Foam::fvConstraints & fvConstraints(Foam::fvConstraints::New(mesh))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
pimpleControl pimple(mesh)
Calculate the divergence of the given field.
Calculate the gradient of the given field.
Calculate the laplacian of the given field.
Calculate the matrix for the second-order temporal derivative.
Calculate the matrix for the laplacian of the field.
dimensionedScalar lambda(viscosity->lookup("lambda"))
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
const dimensionedScalar mu
Atomic mass unit.
tmp< VolField< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< VolField< Type > > d2dt2(const VolField< Type > &vf)
tmp< fvMatrix< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > d2dt2(const VolField< Type > &vf)
addToRunTimeSelectionTable(solver, compressibleMultiphaseVoF, fvMesh)
defineTypeNameAndDebug(compressibleMultiphaseVoF, 0)
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
To & refCast(From &r)
Reference type cast template function.
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
static const Identity< scalar > I
dimensionedScalar sqrt(const dimensionedScalar &ds)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
word name(const complex &)
Return a string representation of a complex.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensioned< scalar > magSqr(const dimensioned< Type > &)
fluidMulticomponentThermo & thermo