46 void Foam::solvers::solid::correctDiNum()
61 *
mesh.surfaceInterpolation::deltaCoeffs()
67 const scalar meanDiNum =
gAverage(DiNumvf);
68 const scalar maxDiNum =
gMax(DiNumvf);
70 Info<<
"Diffusion Number mean: " << meanDiNum
71 <<
" max: " << maxDiNum <<
endl;
81 return runTime.controlDict().modified();
90 runTime.controlDict().lookupOrDefault<scalar>(
"maxDi", 1.0);
93 runTime.controlDict().found(
"maxDeltaT")
94 ? runTime.controlDict().lookup<scalar>(
"maxDeltaT", runTime.userUnits())
111 thermoPtr_(thermoPtr),
112 thermo_(thermoPtr_()),
133 <<
" solver does not support LTS, use 'steadyState' ddtScheme"
163 deltaT =
min(deltaT, maxDi/DiNum*runTime.deltaTValue());
186 if (
pimple.firstIter() ||
pimple.moveMeshOuterCorrectors())
188 if (!mesh_.mover().solidBody())
191 <<
"Region " <<
name() <<
" of type " <<
type()
192 <<
" does not support non-solid body mesh motion"
207 if (
pimple.predictTransport())
223 while (
pimple.correctNonOrthogonal())
252 if (
pimple.correctTransport())
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
DimensionedField< Type, GeoMesh > Internal
Type of the internal field from which this GeometricField is derived.
dimensionedScalar deltaT() const
Return time step.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
virtual const volScalarField & Cp() const =0
Heat capacity at constant pressure [J/kg/K].
void validate(const string &app, const word &) const
Check that the thermodynamics package is consistent.
virtual const volScalarField & kappa() const =0
Thermal conductivity of mixture [W/m/K].
virtual tmp< volScalarField > rho() const =0
Density [kg/m^3].
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....
void relax(const scalar alpha)
Relax matrix (for steady-state solution).
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
Mesh data needed to do the Finite Volume discretisation.
const DimensionedField< scalar, volMesh > & V() const
Return cell volumes.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
virtual void preUpdateMesh()
Prepare for mesh update.
Base-class for solid thermodynamic properties.
virtual const volVectorField & Kappa() const =0
Anisotropic thermal conductivity [W/m/K].
virtual bool isotropic() const =0
Return true if thermal conductivity is isotropic.
Abstract base class for solid thermophysical transport models.
Abstract base class for run-time selectable region solvers.
bool LTS
Switch for local time step transient operation.
const Time & runTime
Time.
const fvMesh & mesh
Region mesh.
virtual bool read()
Read controls.
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 postSolve()
Called after the PIMPLE loop at the end of the time-step.
virtual bool dependenciesModified() const
Return true if the solver's dependencies have been modified.
virtual void moveMesh()
Called at the start of the PIMPLE loop to move the mesh.
virtual scalar maxDeltaT() const
Return the current maximum time-step for stable solution.
virtual void motionCorrector()
Corrections that follow mesh motion.
const solidThermo & thermo
Reference to the solid thermophysical properties.
virtual void pressureCorrector()
Construct and solve the pressure equation in the PISO loop.
virtual void postCorrector()
Correct the thermophysical transport modelling.
virtual void momentumPredictor()
Construct and optionally solve the momentum equation.
solid(fvMesh &mesh, autoPtr< solidThermo >)
Construct from region mesh and thermophysical properties.
virtual void preSolve()
Called at the start of the time-step, before the PIMPLE loop.
virtual bool read()
Read controls.
virtual ~solid()
Destructor.
Foam::fvConstraints & fvConstraints(Foam::fvConstraints::New(mesh))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
pimpleControl pimple(mesh)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField.
Info<< "Creating thermophysical transport model\n"<< endl;turbulenceThermophysicalTransportModels::unityLewisEddyDiffusivity< RASThermophysicalTransportModel< ThermophysicalTransportModel< compressibleMomentumTransportModel, fluidThermo > >> thermophysicalTransport(turbulence(), thermo, true)
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
tmp< VolField< Type > > surfaceSum(const SurfaceField< Type > &ssf)
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
addToRunTimeSelectionTable(solver, compressibleMultiphaseVoF, fvMesh)
defineTypeNameAndDebug(compressibleMultiphaseVoF, 0)
errorManipArg< error, int > exit(error &err, const int errNo=1)
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
VolField< scalar > volScalarField
dimensioned< scalar > mag(const dimensioned< Type > &)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Type gAverage(const FieldField< Field, Type > &f)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Type gMax(const FieldField< Field, Type > &f)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
fluidMulticomponentThermo & thermo