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... | |
virtual | ~jouleHeatingSource () |
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... | |
template<class Type > | |
const Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > & | updateSigma (const autoPtr< Function1< Type >> &sigmaVsTPtr) const |
Public Member Functions inherited from option | |
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 |
Return const access to the source name. More... | |
const fvMesh & | mesh () const |
Return const access to the mesh database. More... | |
const dictionary & | coeffs () const |
Return dictionary. More... | |
bool | active () const |
Return const access to the source active flag. More... | |
void | setApplied (const label fieldi) |
Set the applied flag to true for field index fieldi. More... | |
Switch & | active () |
Return access to the source active flag. 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 | 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 Public Member Functions inherited from option | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
Return a reference to the selected fvOption model. More... | |
Public Attributes inherited from option | |
bool | log |
Switch write log to Info. More... | |
Protected Attributes inherited from option | |
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... | |
Switch | active_ |
Source active flag. 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... | |
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 \]
jouleHeatingSourceCoeffs { anisotropicElectricalConductivity no; // Optionally specify the conductivity as a function of temperature // Note: if not supplied, this will be read from the time directory sigma table ( (273 1e5) (1000 1e5) ); }
Anisotropic (vectorial) electrical conductivity jouleHeatingSourceCoeffs { anisotropicElectricalConductivity yes;
coordinateSystem { origin (0 0 0); e1 (1 0 0); e3 (0 0 1); }
Optionally specify sigma as a function of temperature sigma (31900 63800 127600);
sigma table ( (0 (0 0 0)) (1000 (127600 127600 127600)) ); }
Where:
Property | Description | Required | Default value |
---|---|---|---|
T | Name of temperature field | no | T |
sigma | Electrical conductivity as a function of temperature | no | |
anisotropicElectricalConductivity | Anisotropic flag | yes |
The electrical conductivity can be specified using either:
sigma
entry is present the electrical conductivity is specified as a function of temperature using a Function1 typeDefinition at line 173 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 114 of file jouleHeatingSource.C.
References dict, dictionary::dictName(), and Foam::read().
|
virtual |
Destructor.
Definition at line 157 of file jouleHeatingSource.C.
TypeName | ( | "jouleHeatingSource" | ) |
Runtime type information.
|
virtual |
Add explicit contribution to compressible momentum equation.
Reimplemented from option.
Definition at line 164 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 222 of file jouleHeatingSource.C.
References dict, Foam::endl(), Foam::Info, coordinateSystem::New(), and option::read().
const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>& updateSigma | ( | const autoPtr< Function1< Type >> & | sigmaVsTPtr | ) | const |
Definition at line 89 of file jouleHeatingSourceTemplates.C.
References forAll, Foam::isA(), sigma(), and Foam::T().