anisotropic< SolidThermophysicalTransportModel > Class Template Reference

Solid thermophysical transport model for anisotropic thermal conductivity. More...

Inheritance diagram for anisotropic< SolidThermophysicalTransportModel >:
Collaboration diagram for anisotropic< SolidThermophysicalTransportModel >:

Public Types

typedef SolidThermophysicalTransportModel::alphaField alphaField
 

Public Member Functions

 TypeName ("anisotropic")
 Runtime type information. More...
 
 anisotropic (const alphaField &alpha, const solidThermo &thermo, const word &type=typeName)
 Construct from solid thermophysical properties. More...
 
virtual ~anisotropic ()
 Destructor. More...
 
virtual bool read ()
 Read thermophysicalTransport dictionary. More...
 
virtual tmp< volScalarFieldkappa () const
 Thermal conductivity [W/m/K]. More...
 
virtual tmp< scalarFieldkappa (const label patchi) const
 Thermal conductivity for patch [W/m/K]. More...
 
virtual tmp< surfaceScalarFieldq () const
 Return the heat flux [W/m^2]. More...
 
virtual tmp< scalarFieldq (const label patchi) const
 Return the patch heat flux [W/m^2]. More...
 
virtual tmp< scalarFieldqCorr (const label patchi) const
 Return the patch heat flux correction [W/m^2]. More...
 
virtual tmp< fvScalarMatrixdivq (volScalarField &he) const
 Return the source term for the energy equation. More...
 
virtual void predict ()
 Correct the anisotropic viscosity. More...
 
virtual bool movePoints ()
 Update for mesh motion. More...
 
virtual void topoChange (const polyTopoChangeMap &map)
 Update topology using the given map. More...
 
virtual void mapMesh (const polyMeshMap &map)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &map)
 Redistribute or update using the given distribution map. More...
 
- Public Member Functions inherited from TopoChangeableMeshObject< fvMesh >
 TopoChangeableMeshObject (Type &mo)
 
virtual void swap (fvMesh &otherMesh)
 Swap mesh. More...
 
- Public Member Functions inherited from DistributeableMeshObject< Mesh >
template<class Type >
 DistributeableMeshObject (Type &mo)
 
- Public Member Functions inherited from MoveableMeshObject< Mesh >
template<class Type >
 MoveableMeshObject (Type &mo)
 
- Public Member Functions inherited from DeletableMeshObject< Mesh >
template<class Type >
 DeletableMeshObject (Type &mo)
 
virtual ~DeletableMeshObject ()=default
 Virtual destructor to make class polymorphic. More...
 

Detailed Description

template<class SolidThermophysicalTransportModel>
class Foam::solidThermophysicalTransportModels::anisotropic< SolidThermophysicalTransportModel >

Solid thermophysical transport model for anisotropic thermal conductivity.

The anisotropic thermal conductivity field is evaluated from the solid material anisotropic kappa specified in the physicalProperties dictionary transformed into the global coordinate system using default coordinate system and optionally additional coordinate systems specified per-zone in the thermophysicalTransport dictionary.

If the coordinate transformed kappa does not align exactly with the boundary because the patch face orientations do not conform to the coordinate system exactly it may be beneficial for convergence and accuracy to enforce alignment at the boundary by setting the optional boundaryAligned to true.

Usage
Example of the anisotropic thermal conductivity specification in thermophysicalTransport with two zone-based coordinate systems in addition to the default:
model anisotropic;

// Force aligned handling of kappa irrespective
// of the calculated patch alignment factors.
boundaryAligned true;

// Default coordinate system
coordinateSystem
{
    type        cartesian;
    origin      (0 0 0);
    coordinateRotation
    {
        type        cylindrical;
        e3          (1 0 0);
    }
}

// Optional zone coordinate systems
zones
{
    coil1
    {
        type        cartesian;
        origin      (0.1 0.2 0.7);
        coordinateRotation
        {
            type        cylindrical;
            e3          (0.5 0.866 0);
        }
    }

    coil2
    {
        type        cartesian;
        origin      (0.4 0.5 1);
        coordinateRotation
        {
            type        cylindrical;
            e3          (0.866 0.5 0);
        }
    }
}
Source files

Definition at line 117 of file anisotropic.H.

Member Typedef Documentation

◆ alphaField

typedef SolidThermophysicalTransportModel::alphaField alphaField

Definition at line 154 of file anisotropic.H.

Constructor & Destructor Documentation

◆ anisotropic()

◆ ~anisotropic()

virtual ~anisotropic ( )
inlinevirtual

Destructor.

Definition at line 173 of file anisotropic.H.

Member Function Documentation

◆ TypeName()

TypeName ( "anisotropic< SolidThermophysicalTransportModel >"  )

Runtime type information.

◆ read()

bool read
virtual

Read thermophysicalTransport dictionary.

Definition at line 215 of file anisotropic.C.

◆ kappa() [1/2]

Foam::tmp< Foam::volScalarField > kappa
virtual

Thermal conductivity [W/m/K].

Definition at line 362 of file anisotropic.C.

References NotImplemented.

◆ kappa() [2/2]

Foam::tmp< Foam::scalarField > kappa ( const label  patchi) const
virtual

Thermal conductivity for patch [W/m/K].

Definition at line 372 of file anisotropic.C.

References boundary(), mesh, n, patchi, and thermo.

Here is the call graph for this function:

◆ q() [1/2]

Return the heat flux [W/m^2].

Definition at line 385 of file anisotropic.C.

References alpha(), Foam::fvm::laplacian(), fvMesh::magSf(), mesh, GeometricField< Type, GeoMesh, PrimitiveField >::New(), and thermo.

Here is the call graph for this function:

◆ q() [2/2]

Foam::tmp< Foam::scalarField > q ( const label  patchi) const
virtual

Return the patch heat flux [W/m^2].

Definition at line 401 of file anisotropic.C.

References NotImplemented.

◆ qCorr()

Foam::tmp< Foam::scalarField > qCorr ( const label  patchi) const
virtual

Return the patch heat flux correction [W/m^2].

For patch-aligned thermal conductivity qCorr is null

Definition at line 411 of file anisotropic.C.

References alpha(), boundary(), Foam::fvc::grad(), mesh, n, patchi, Foam::T(), and thermo.

Here is the call graph for this function:

◆ divq()

Foam::tmp< Foam::fvScalarMatrix > divq ( volScalarField he) const
virtual

Return the source term for the energy equation.

Definition at line 439 of file anisotropic.C.

References alpha(), Foam::e, Foam::fvc::interpolate(), Foam::fvc::laplacian(), Foam::fvm::laplacianCorrection(), Foam::sqr(), and thermo.

Here is the call graph for this function:

◆ predict()

void predict
virtual

Correct the anisotropic viscosity.

Definition at line 464 of file anisotropic.C.

◆ movePoints()

bool movePoints
virtual

Update for mesh motion.

Implements MoveableMeshObject< Mesh >.

Definition at line 479 of file anisotropic.C.

◆ topoChange()

void topoChange ( const polyTopoChangeMap map)
virtual

Update topology using the given map.

Implements TopoChangeableMeshObject< fvMesh >.

Definition at line 487 of file anisotropic.C.

◆ mapMesh()

void mapMesh ( const polyMeshMap map)
virtual

Update from another mesh using the given map.

Implements TopoChangeableMeshObject< fvMesh >.

Definition at line 499 of file anisotropic.C.

◆ distribute()

void distribute ( const polyDistributionMap map)
virtual

Redistribute or update using the given distribution map.

Implements DistributeableMeshObject< Mesh >.

Definition at line 511 of file anisotropic.C.


The documentation for this class was generated from the following files: