Public Member Functions | List of all members
jouleHeatingSource Class Reference

Evolves an electrical potential equation. More...

Inheritance diagram for jouleHeatingSource:
Inheritance graph
[legend]
Collaboration diagram for jouleHeatingSource:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("jouleHeatingSource")
 
 jouleHeatingSource (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 
 jouleHeatingSource (const jouleHeatingSource &)=delete
 
void operator= (const jouleHeatingSource &)=delete
 
virtual ~jouleHeatingSource ()=default
 
virtual void addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 
virtual bool read (const dictionary &dict)
 
- Public Member Functions inherited from option
 TypeName ("option")
 
 declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh))
 
 option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 
autoPtr< optionclone () const
 
virtual ~option ()=default
 
const wordname () const noexcept
 
const fvMeshmesh () const noexcept
 
const dictionarycoeffs () const noexcept
 
bool active () const noexcept
 
void setApplied (const label fieldi)
 
bool active (const bool on) noexcept
 
virtual bool isActive ()
 
virtual label applyToField (const word &fieldName) const
 
virtual void checkApplied () const
 
virtual void addSup (fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void correct (volScalarField &field)
 
virtual void correct (volVectorField &field)
 
virtual void correct (volSphericalTensorField &field)
 
virtual void correct (volSymmTensorField &field)
 
virtual void correct (volTensorField &field)
 
virtual void postProcessSens (scalarField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void postProcessSens (vectorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void postProcessSens (tensorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void writeHeader (Ostream &) const
 
virtual void writeFooter (Ostream &) const
 
virtual void writeData (Ostream &) const
 

Additional Inherited Members

- Static Public Member Functions inherited from option
static autoPtr< optionNew (const word &name, const dictionary &dict, const fvMesh &mesh)
 
- Public Attributes inherited from option
bool log
 
- Protected Member Functions inherited from option
void resetApplied ()
 
- Protected Attributes inherited from option
const word name_
 
const word modelType_
 
const fvMeshmesh_
 
dictionary dict_
 
dictionary coeffs_
 
wordList fieldNames_
 
List< boolapplied_
 
bool active_
 

Detailed Description

Evolves an electrical potential equation.

\[ \grad \left( \sigma \grad V \right) \]

where $ V $ is electrical potential and $\sigma$ is the electrical current.

To provide a Joule heating contribution according to:

Differential form of Joule heating - power per unit volume:

\[ \frac{d(P)}{d(V)} = J \cdot E \]

where $ J $ is the current density and $ E $ the electric field. If no magnetic field is present:

\[ J = \sigma E \]

The electric field given by

\[ E = \grad V \]

Therefore:

\[ \frac{d(P)}{d(V)} = J \cdot E = (sigma E) \cdot E = (sigma \grad V) \cdot \grad V \]

Usage
Minimal example by using constant/fvOptions:
jouleHeatingSource1
{
    // Mandatory entries (unmodifiable)
    type                 jouleHeatingSource;

    // Mandatory entries (runtime modifiable)
    anisotropicElectricalConductivity true;

    // Optional entries (runtime modifiable)
    T       <Tname>;

    // Conditional mandatory entries (runtime modifiable)

        // when anisotropicElectricalConductivity=true
        coordinateSystem
        {
            origin  (0 0 0);
            e1      (1 0 0);
            e3      (0 0 1);
        }

    // Conditional optional entries (runtime modifiable)

        // when anisotropicElectricalConductivity=false
        // Specify the conductivity as a function of temperature
        // If not supplied, this will be read from the time directory
        sigma           table
        (
            (273        1e5)
            (1000       1e5)
        );

        // when anisotropicElectricalConductivity=true
        sigma           (31900 63800 127600);
        //sigma           table
        //(
        //    (0      (0 0 0))
        //    (1000   (127600 127600 127600))
        //);

    // Mandatory/Optional (inherited) entries
    ...
}

where the entries mean:

Property Description Type Reqd Dflt
type Type name: jouleHeatingSource word yes -
anisotropicElectricalConductivity Flag to indicate that if the electrical conductivity is anisotropic bool yes -
T Name of operand temperature field word no T
sigma Electrical conductivity as a function of temperature table no -
coordinateSystem User-specified coordinate system coordSystem no -

The inherited entries are elaborated in:

Note
  • anisotropicElectricalConductivity=true enables anisotropic (vectorial) electrical conductivity.
  • anisotropicElectricalConductivity=false enables isotropic (scalar) electrical conductivity.
  • The electrical conductivity can be specified using either:
See also
Source files

Definition at line 213 of file jouleHeatingSource.H.

Constructor & Destructor Documentation

◆ jouleHeatingSource() [1/2]

jouleHeatingSource ( const word sourceName,
const word modelType,
const dictionary dict,
const fvMesh mesh 
)

Definition at line 98 of file jouleHeatingSource.C.

References dict, basicThermo::dictName, Foam::read(), and option::resetApplied().

Here is the call graph for this function:

◆ jouleHeatingSource() [2/2]

jouleHeatingSource ( const jouleHeatingSource )
delete

◆ ~jouleHeatingSource()

virtual ~jouleHeatingSource ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "jouleHeatingSource"  )

◆ operator=()

void operator= ( const jouleHeatingSource )
delete

◆ addSup()

void addSup ( const volScalarField rho,
fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

Reimplemented from option.

Definition at line 141 of file jouleHeatingSource.C.

References DebugInfo, Foam::endl(), Foam::fvc::grad(), Foam::fvm::laplacian(), Foam::name(), fvMatrix::psi(), fvMatrix::relax(), sigma(), and fvMatrix::solve().

Here is the call graph for this function:

◆ read()

bool read ( const dictionary dict)
virtual

Reimplemented from option.

Definition at line 197 of file jouleHeatingSource.C.

References dict, Foam::endl(), Foam::Info, coordinateSystem::New(), and option::read().

Here is the call graph for this function:

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