Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Website Update - AuxKernels #225

Merged
merged 10 commits into from
Jan 9, 2024
13 changes: 5 additions & 8 deletions doc/content/source/auxkernels/AbsValueAux.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
# AbsValueAux

!alert construction title=Undocumented Class
The AbsValueAux has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/AbsValueAux

## Overview

!! Replace these lines with information regarding the AbsValueAux object.
`AbsValueAux` returns the absolute value a coupled variable.

## Example Input File Syntax

!! Describe and include an example of how to use the AbsValueAux object.
An example of how to use `AbsValueAux` can be found in the
test file `TM_steady.i`.

!listing test/tests/TM10_circular_wg/TM_steady.i block=AuxKernels/Hphi_mag

!syntax parameters /AuxKernels/AbsValueAux

Expand Down
36 changes: 28 additions & 8 deletions doc/content/source/auxkernels/Current.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,40 @@
# Current

!alert construction title=Undocumented Class
The Current has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/Current
csdechant marked this conversation as resolved.
Show resolved Hide resolved

## Overview

!! Replace these lines with information regarding the Current object.
`Current` returns the electric current density of a species in logarithmic form. `Current`
assumes the electrostatic approximation for the electric field.

The electrostatic current density is defined as

\begin{equation}
J_{j} = q_{j} (\text{sign}_{j} \mu_{j} \left( \text{-} \nabla V\right) n_{j} - D_{j} \nabla (n_{j}))
\end{equation}

Where $J_{j}$ is the current density, $q_{j}$ is the charge of the species, $\text{sign}_{j}$ indicates the advection behavior ($\text{+}1$ for positively charged species and $\text{-}1$ for negatively charged species), $\mu_{j}$ is the mobility coefficient, $V$ is the potential, $n_{j}$ is the density, and $D_{j}$ is the diffusion coefficient. When converting the density to logarithmic form and applying a scaling factor of the mesh, `Current` is defined as

\begin{equation}
J_{j} = q_{j} N_{A} \left(\text{sign}_{j} \mu_{j} \frac{\text{-} \nabla (V)}{l_{c}} \exp(N_{j}) - D_{j} \exp(N_{j}) \frac{\nabla (N_{j})}{l_{c}} \right)
\end{equation}

Where $N_{j}$ is the molar density of the specie in logarithmic form, $N_{A}$ is Avogadro's number, $l_{c}$ is the scaling factor of the mesh.

For the case of the where artificial diffusion is introduced to the charge specie flux, an additional term is included in the current density, such that:

\begin{equation}
J_{j,\text{ Total}} = J_{j} + q_{j} N_{A} \mu_{j} \frac{\text{-}\lVert \nabla (V) \rVert_{2}}{l_{c}} \frac{h_\text{max}}{2} \exp(N_{j}) \frac{\nabla (N_{j})}{l_{c}}
\end{equation}

Where $h_\text{max}$ is the max length of the current element.

## Example Input File Syntax

!! Describe and include an example of how to use the Current object.
An example of how to use `Current` can be found in the
test file `Lymberopoulos_with_argon_metastables.i`.

!listing test/tests/Lymberopoulos_rf_discharge/Lymberopoulos_with_argon_metastables.i block=AuxKernels/Current_em

!syntax parameters /AuxKernels/Current

Expand Down
19 changes: 11 additions & 8 deletions doc/content/source/auxkernels/DensityMoles.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
# DensityMoles

!alert construction title=Undocumented Class
The DensityMoles has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/DensityMoles
csdechant marked this conversation as resolved.
Show resolved Hide resolved

## Overview

!! Replace these lines with information regarding the DensityMoles object.
`DensityMoles` converts the density value of a coupled species from a logarithmic molar density into units of #/m$^{3}$, such that:

\begin{equation}
n_{j} = N_{A} \exp(N_{j})
\end{equation}

Where $n_{j}$ is the density, $N_{j}$ is the molar density of the specie in logarithmic form, and $N_{A}$ is Avogadro's number. This is often needed due to Zapdos solving densities using a logarithmic molar formulation to help avoid negative densities and ill-conditioned matrices.

## Example Input File Syntax

!! Describe and include an example of how to use the DensityMoles object.
An example of how to use `DensityMoles` can be found in the
test file `Lymberopoulos_with_argon_metastables.i`.

!listing test/tests/Lymberopoulos_rf_discharge/Lymberopoulos_with_argon_metastables.i block=AuxKernels/em_lin

!syntax parameters /AuxKernels/DensityMoles

Expand Down
33 changes: 26 additions & 7 deletions doc/content/source/auxkernels/DensityNormalization.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,40 @@
# DensityNormalization

!alert construction title=Undocumented Class
The DensityNormalization has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/DensityNormalization

## Overview
csdechant marked this conversation as resolved.
Show resolved Hide resolved

!! Replace these lines with information regarding the DensityNormalization object.
`DensityNormalization` is similar to [`NormalizationAux`](/auxkernels/NormalizationAux.md), except it normalizes a variable in logarithmic form based on a Postprocessor value.

The formulation of `DensityNormalization` is defined as

\begin{equation}
\frac{\exp(\text{variable})*\text{normal factor}}{\text{normalization}} - \text{shift}
\end{equation}

!alert warning title=Untested Class
The DensityNormalization does not have a formulized test, yet. For this reason,
users should be aware of unforseen debugs when using DensityNormalization. To
report debug or discuss future contributions to Zapdos, please refer to the
csdechant marked this conversation as resolved.
Show resolved Hide resolved
[Zapdos GitHub Discussions page](https://github.com/shannon-lab/zapdos/discussions).
For standards of have to contribute to Zapdos and the MOOSE framework,
csdechant marked this conversation as resolved.
Show resolved Hide resolved
please refer to the [MOOSE Contributing page](framework/contributing.md).

## Example Input File Syntax

!! Describe and include an example of how to use the DensityNormalization object.

```text
[AuxKernels]
[Normalized_Electrons]
type = DensityNormalization
variable = norm_electrons
Density = electrons
normalization = max_electron
[]
[]
```

!syntax parameters /AuxKernels/DensityNormalization

!syntax inputs /AuxKernels/DensityNormalization
Expand Down
30 changes: 22 additions & 8 deletions doc/content/source/auxkernels/DiffusiveFlux.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,34 @@
# DiffusiveFlux

!alert construction title=Undocumented Class
The DiffusiveFlux has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/DiffusiveFlux

## Overview

!! Replace these lines with information regarding the DiffusiveFlux object.
`DiffusiveFlux` returns the diffusive flux of a species in logarithmic form.

The diffusive flux is defined as

\begin{equation}
\Gamma_{\text{Diffusion}} = \text{-}D_{j} \nabla (n_{j})
\end{equation}

Where $\Gamma_{\text{Diffusion}}$ is the diffusive flux, $D_{j}$ is the diffusion coefficient and $n_{j}$ is the density.
When converting the density to logarithmic form and applying a scaling factor of the mesh,
`DiffusiveFlux` is defined as

\begin{equation}
\Gamma_{\text{Diffusion}} = \text{-}D_{j} N_{A} \exp(N_{j}) \frac{\nabla (N_{j})}{l_{c}}
\end{equation}

Where $N_{j}$ is the molar density of the specie in logarithmic form, $N_{A}$ is Avogadro's
number, $l_{c}$ is the scaling factor of the mesh.

## Example Input File Syntax

!! Describe and include an example of how to use the DiffusiveFlux object.
An example of how to use `DiffusiveFlux` can be found in the
test file `mean_en.i`.

!listing test/tests/1d_dc/mean_en.i block=AuxKernels/DiffusiveFlux_em

!syntax parameters /AuxKernels/DiffusiveFlux

Expand Down
42 changes: 35 additions & 7 deletions doc/content/source/auxkernels/DriftDiffusionFluxAux.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,49 @@
# DriftDiffusionFluxAux

!alert construction title=Undocumented Class
The DriftDiffusionFluxAux has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/DriftDiffusionFluxAux

## Overview
csdechant marked this conversation as resolved.
Show resolved Hide resolved

!! Replace these lines with information regarding the DriftDiffusionFluxAux object.
`DriftDiffusionFluxAux` returns the simplified drift-diffusion flux of a species. `DriftDiffusionFluxAux`
assumes a mobility and diffusion coefficient of unity, the electrostatic approximation for the electric field, and a non-scaled version of the specie's density.

The electrostatic flux is defined as

\begin{equation}
\Gamma_{j} = \text{sign}_{j} \left( \text{-}\nabla V\right) n_{j} - \nabla (n_{j})
\end{equation}

Where $\Gamma_{j}$ is the flux assuming drift-diffusion formulation, $\text{sign}_{j}$ indicates the advection behavior ($\text{+}1$ for positively charged species and $\text{-}1$ for negatively charged species),
$V$ is the potential, and $n_{j}$ is the density.

!alert note
When calculating the drift-diffusion flux for scaled densities and non-unity coefficients, please refer to [`TotalFlux`](/auxkernels/TotalFlux.md).

!alert warning title=Undocumented Test
The DriftDiffusionFluxAux does not have a formulized test, yet. For this reason,
users should be aware of unforseen debugs when using DriftDiffusionFluxAux. To
report debug or discuss future contributions to Zapdos, please refer to the
[Zapdos GitHub Discussions page](https://github.com/shannon-lab/zapdos/discussions).
For standards of have to contribute to Zapdos and the MOOSE framework,
please refer to the [MOOSE Contributing page](framework/contributing.md).
csdechant marked this conversation as resolved.
Show resolved Hide resolved

## Example Input File Syntax

!! Describe and include an example of how to use the DriftDiffusionFluxAux object.

```text
[AuxKernels]
[Electron_Flux]
type = DriftDiffusionFluxAux
variable = electron_flux
u = electrons
potential = potential
positive_charge = false
component = 0
[]
[]
```

!syntax parameters /AuxKernels/DriftDiffusionFluxAux

!syntax inputs /AuxKernels/DriftDiffusionFluxAux
Expand Down
30 changes: 22 additions & 8 deletions doc/content/source/auxkernels/EFieldAdvAux.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,34 @@
# EFieldAdvAux

!alert construction title=Undocumented Class
The EFieldAdvAux has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/EFieldAdvAux

## Overview

!! Replace these lines with information regarding the EFieldAdvAux object.
`EFieldAdvAux` returns electric field driven advective flux of defined species in logarithmic form. `EFieldAdvAux`
assumes the electrostatic approximation for the electric field.

The advective flux is defined as

\begin{equation}
\Gamma_{\text{Advection}} = \text{sign}_{j} \mu_{j} \left( \text{-} \nabla V\right) n_{j}
\end{equation}

Where $\Gamma_{\text{Advection}}$ is the advective flux, $\text{sign}_{j}$ indicates the advection behavior ($\text{+}1$ for positively charged species and $\text{-}1$ for negatively charged species), $\mu_{j}$ is the mobility coefficient, $V$ is the potential, and $n_{j}$ is the density. When converting the density to logarithmic form and applying a scaling factor of the mesh,
`EFieldAdvAux` is defined as

\begin{equation}
\Gamma_{\text{Advection}} = N_{A} \text{sign}_{j} \mu_{j} \frac{\text{-} \nabla (V)}{l_{c}} \exp(N_{j})
\end{equation}

Where $N_{j}$ is the molar density of the specie in logarithmic form, $N_{A}$ is Avogadro's
number, $l_{c}$ is the scaling factor of the mesh.

## Example Input File Syntax

!! Describe and include an example of how to use the EFieldAdvAux object.
An example of how to use `EFieldAdvAux` can be found in the
test file `mean_en.i`.

!listing test/tests/1d_dc/mean_en.i block=AuxKernels/EFieldAdvAux_em

!syntax parameters /AuxKernels/EFieldAdvAux

Expand Down
22 changes: 14 additions & 8 deletions doc/content/source/auxkernels/Efield.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
# Efield

!alert construction title=Undocumented Class
The Efield has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/Efield

## Overview

!! Replace these lines with information regarding the Efield object.
`Efield` returns a component of the electrostatic electric field.

The formulation of `Efield` is defined as

\begin{equation}
E_{\text{comp.}} = \frac{\text{-} \nabla_{\text{comp.}} (V) \ V_{c}}{l_{c}}
\end{equation}

Where $E_{\text{comp.}}$ is a component of the electric field, $V$ is the potential, $V_{c}$ is the
scaling factor of the potential , and $l_{c}$ is the scaling factor of the mesh.

## Example Input File Syntax

!! Describe and include an example of how to use the Efield object.
An example of how to use `Efield` can be found in the
test file `Lymberopoulos_with_argon_metastables.i`.

!listing test/tests/Lymberopoulos_rf_discharge/Lymberopoulos_with_argon_metastables.i block=AuxKernels/Efield_calc

!syntax parameters /AuxKernels/Efield

Expand Down
31 changes: 23 additions & 8 deletions doc/content/source/auxkernels/ElectronTemperature.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,35 @@
# ElectronTemperature

!alert construction title=Undocumented Class
The ElectronTemperature has not been documented. The content listed below should be used as a starting point for
documenting the class, which includes the typical automatic documentation associated with a
MooseObject; however, what is contained is ultimately determined by what is necessary to make the
documentation clear for users.

!syntax description /AuxKernels/ElectronTemperature

## Overview

!! Replace these lines with information regarding the ElectronTemperature object.
`ElectronTemperature` returns the electron temperature.

The electron temperature is defined as

\begin{equation}
T_{e} = \frac{2}{3} \frac{n_{\varepsilon}}{n_{e}}
\end{equation}

Where $T_{e}$ is the electron temperature, $n_{\varepsilon}$ is the mean energy density
of the electrons, and $n_{e}$ is the electron density.
When converting the density to logarithmic form,
`ElectronTemperature` is defined as

\begin{equation}
T_{e} = \frac{2}{3} \exp(N_{\varepsilon} - N_{e})
\end{equation}

Where $N_{\varepsilon}$ is the electron mean energy density in logarithmic form
and $N_{e}$ is the electron density in logarithmic form.

## Example Input File Syntax

!! Describe and include an example of how to use the ElectronTemperature object.
An example of how to use `ElectronTemperature` can be found in the
test file `Lymberopoulos_with_argon_metastables.i`.

!listing test/tests/Lymberopoulos_rf_discharge/Lymberopoulos_with_argon_metastables.i block=AuxKernels/Te

!syntax parameters /AuxKernels/ElectronTemperature

Expand Down
Loading