Evolves an electrical potential equation. More...
Public Member Functions | |
TypeName ("jouleHeatingSource") | |
Runtime type information. More... | |
jouleHeatingSource (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from explicit source name and mesh. More... | |
jouleHeatingSource (const jouleHeatingSource &)=delete | |
No copy construct. More... | |
void | operator= (const jouleHeatingSource &)=delete |
No copy assignment. More... | |
virtual | ~jouleHeatingSource ()=default |
Destructor. More... | |
virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
Add explicit contribution to compressible momentum equation. More... | |
virtual bool | read (const dictionary &dict) |
Read source dictionary. More... | |
![]() | |
TypeName ("option") | |
Runtime type information. More... | |
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) | |
Construct from components. More... | |
autoPtr< option > | clone () const |
Return clone. More... | |
virtual | ~option ()=default |
Destructor. More... | |
const word & | name () const noexcept |
Return const access to the source name. More... | |
const fvMesh & | mesh () const noexcept |
Return const access to the mesh database. More... | |
const dictionary & | coeffs () const noexcept |
Return dictionary. More... | |
bool | active () const noexcept |
True if source is active. More... | |
void | setApplied (const label fieldi) |
Set the applied flag to true for field index fieldi. More... | |
bool | active (const bool on) noexcept |
Change source active flag, return previous value. More... | |
virtual bool | isActive () |
Is the source active? More... | |
virtual label | applyToField (const word &fieldName) const |
Return index of field name if found in fieldNames list. More... | |
virtual void | checkApplied () const |
Check that the source has been applied. More... | |
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 |
Write the source header information. More... | |
virtual void | writeFooter (Ostream &) const |
Write the source footer information. More... | |
virtual void | writeData (Ostream &) const |
Write the source properties. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
Return a reference to the selected fvOption model. More... | |
![]() | |
bool | log |
Switch write log to Info. More... | |
![]() | |
void | resetApplied () |
Resize/reset applied flag list for all fieldNames_ entries. More... | |
![]() | |
const word | name_ |
Source name. More... | |
const word | modelType_ |
Model type. More... | |
const fvMesh & | mesh_ |
Reference to the mesh database. More... | |
dictionary | dict_ |
Top level source dictionary. More... | |
dictionary | coeffs_ |
Dictionary containing source coefficients. More... | |
wordList | fieldNames_ |
Field names to apply source to - populated by derived models. More... | |
List< bool > | applied_ |
Applied flag list - corresponds to each fieldNames_ entry. More... | |
bool | active_ |
Source active flag. More... | |
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 \]
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:
anisotropicElectricalConductivity=true
enables anisotropic (vectorial) electrical conductivity.anisotropicElectricalConductivity=false
enables isotropic (scalar) electrical conductivity.sigma
entry is present the electrical conductivity is specified as a function of temperature using a Function1
type.sigma
field will be read from file.anisotropicElectricalConductivity
flag is set to true
, sigma
should be specified as a vector quantity.Definition at line 217 of file jouleHeatingSource.H.
jouleHeatingSource | ( | const word & | sourceName, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Construct from explicit source name and mesh.
Definition at line 105 of file jouleHeatingSource.C.
References dict, dictionary::dictName(), Foam::read(), and option::resetApplied().
|
delete |
No copy construct.
|
virtualdefault |
Destructor.
TypeName | ( | "jouleHeatingSource" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Add explicit contribution to compressible momentum equation.
Reimplemented from option.
Definition at line 148 of file jouleHeatingSource.C.
References DebugInfo, Foam::endl(), Foam::fvc::grad(), Foam::fvm::laplacian(), Foam::name(), fvMatrix< Type >::psi(), fvMatrix< Type >::relax(), sigma(), and fvMatrix< Type >::solve().
|
virtual |
Read source dictionary.
Reimplemented from option.
Definition at line 204 of file jouleHeatingSource.C.
References dict, Foam::endl(), Foam::Info, coordinateSystem::New(), and option::read().