The electrostaticDeposition
is a boundary condition to calculate electric potential (V
) on a given boundary based on film thickness (h
) and film resistance (R
) fields which are updated based on a given patch-normal current density field (jn
), Coulombic efficiency and film resistivity.
More...
Public Member Functions | |
TypeName ("electrostaticDeposition") | |
Runtime type information. More... | |
electrostaticDepositionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
electrostaticDepositionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
electrostaticDepositionFvPatchScalarField (const electrostaticDepositionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given electrostaticDepositionFvPatchScalarField onto a new patch. More... | |
electrostaticDepositionFvPatchScalarField (const electrostaticDepositionFvPatchScalarField &) | |
Construct as copy. More... | |
electrostaticDepositionFvPatchScalarField (const electrostaticDepositionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchField< scalar > > | clone () const |
Return a clone. More... | |
virtual tmp< fvPatchField< scalar > > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Clone with an internal field reference. More... | |
const scalarField & | h () const noexcept |
Return const access to film thickness patch field. More... | |
virtual void | autoMap (const fvPatchFieldMapper &) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const fvPatchScalarField &, const labelList &) |
Reverse map the given fvPatchField onto this fvPatchField. More... | |
tmp< scalarField > | sigma () const |
Return the isotropic electrical conductivity field of mixture. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
The electrostaticDeposition
is a boundary condition to calculate electric potential (V
) on a given boundary based on film thickness (h
) and film resistance (R
) fields which are updated based on a given patch-normal current density field (jn
), Coulombic efficiency and film resistivity.
where
= | Patch-normal current density [A/m^2] | |
= | Electric potential on film-fluid interface [volt = kg m^2/(A s^3)] | |
= | Previous time-step electric potential on the interface [volt] | |
= | Electric potential due to film resistance [volt] | |
= | Electric potential due to body resistance [volt] | |
= | Initial electric potential [volt] | |
= | Film resistance (finite increment) [ohm m^2 = kg m^4/(A^2 s^3)] | |
= | Body resistance [ohm m^2 = kg m^4/(A^2 s^3)] | |
= | Isotropic film resistivity [ohm m = kg m^3/(A^2 s^3)] | |
= | Film thickness [m] | |
= | Volumetric Coulombic efficiency [m^3/(A s)] | |
= | Minimum current density for deposition onset [A/m^2] | |
= | Isotropic conductivity of mixture [S/m = A^2 s^3/(kg m^3)] | |
= | Patch-normal unit vector [-] |
<patchName> { // Mandatory entries type electrostaticDeposition; h <scalarField>; CoulombicEfficiency <PatchFunction1>; resistivity <PatchFunction1>; // Conditional mandatory entries // Option-1: single-phase sigma <scalar>; // Option-2: multiphase phases { alpha.air { sigma <scalar>; } alpha.water { sigma <scalar>; } alpha.mercury { sigma <scalar>; } ... } // Optional entries jMin <scalar>; qMin <scalar>; Rbody <scalar>; Vi <scalar>; Vanode <scalar>; qCumulative <scalarField>; // Inherited entries ... }
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
type | Type name: electrostaticDeposition | word | yes | - |
h | Film thickness | scalarField | yes | - |
CoulombicEfficiency | Coulombic efficiency | PatchFunction1<scalar> | yes | - |
resistivity | Isotropic film resistivity | PatchFunction1<scalar> | yes | - |
sigma | Isotropic electrical conductivity of phase | scalar | yes | - |
jMin | Minimum current density for deposition onset | scalar | no | 0 |
qMin | Minimum accumulative specific charge for deposition onset | scalar | no | 0 |
Rbody | Resistance due to main body and/or pretreatment layers | scalar | no | 0 |
Vi | Initial electric potential | scalar | no | 0 |
Vanode | Anode electric potential | scalar | no | GREAT |
qCumulative | Accumulative specific charge [A s/m^2] | scalarField | no | 0 |
The inherited entries are elaborated in:
qCumulative
) is less than minimum accumulative specific charge (qMin
), no deposition occurs.resistivity
, jMin
, qMin
and Rbody
are always non-negative.Definition at line 315 of file electrostaticDepositionFvPatchScalarField.H.
electrostaticDepositionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 134 of file electrostaticDepositionFvPatchScalarField.C.
electrostaticDepositionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 162 of file electrostaticDepositionFvPatchScalarField.C.
References dict, Foam::dimCurrent, Foam::dimLength, Foam::dimMass, Foam::dimTime, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, forAll, MinMax< scalar >::ge(), dictionary::getCheck(), Foam::glTF::key(), Foam::nl, phasei, Foam::pow3(), and Foam::sqr().
electrostaticDepositionFvPatchScalarField | ( | const electrostaticDepositionFvPatchScalarField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given electrostaticDepositionFvPatchScalarField onto a new patch.
Definition at line 261 of file electrostaticDepositionFvPatchScalarField.C.
Construct as copy.
Definition at line 291 of file electrostaticDepositionFvPatchScalarField.C.
electrostaticDepositionFvPatchScalarField | ( | const electrostaticDepositionFvPatchScalarField & | ptf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 318 of file electrostaticDepositionFvPatchScalarField.C.
TypeName | ( | "electrostaticDeposition" | ) |
Runtime type information.
|
inlinevirtual |
Return a clone.
Definition at line 504 of file electrostaticDepositionFvPatchScalarField.H.
References fvPatchField< Type >::Clone().
|
inlinevirtual |
Clone with an internal field reference.
Definition at line 513 of file electrostaticDepositionFvPatchScalarField.H.
References fvPatchField< Type >::Clone().
|
inlinenoexcept |
Return const access to film thickness patch field.
Definition at line 528 of file electrostaticDepositionFvPatchScalarField.H.
|
virtual |
Map (and resize as needed) from self given a mapping object.
Definition at line 347 of file electrostaticDepositionFvPatchScalarField.C.
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Definition at line 370 of file electrostaticDepositionFvPatchScalarField.C.
Foam::tmp< Foam::scalarField > sigma | ( | ) | const |
Return the isotropic electrical conductivity field of mixture.
Definition at line 397 of file electrostaticDepositionFvPatchScalarField.C.
References tmp< T >::New(), Foam::foamVersion::patch, and tmp< T >::ref().
|
virtual |
Update the coefficients associated with the patch field.
Definition at line 419 of file electrostaticDepositionFvPatchScalarField.C.
References Foam::endl(), forAll, Foam::gAverage(), Foam::gMax(), Foam::gMin(), Foam::Info, UPstream::master(), Foam::max(), Foam::min(), Foam::nl, Foam::operator==(), Foam::foamVersion::patch, tmp< T >::ref(), sigma(), and timeIndex.
|
virtual |
Write.
Definition at line 520 of file electrostaticDepositionFvPatchScalarField.C.
References os(), fvPatchField< Type >::write(), Ostream::writeEntry(), Ostream::writeEntryIfDifferent(), and fvPatchField< Type >::writeValueEntry().