Skip to content

Commit

Permalink
Merge pull request #225 from csdechant/website-update
Browse files Browse the repository at this point in the history
Website Update - AuxKernels
  • Loading branch information
cticenhour authored Jan 9, 2024
2 parents 902c608 + 5cb196a commit af4f5d4
Show file tree
Hide file tree
Showing 49 changed files with 461 additions and 187 deletions.
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

## 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

## 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

!! 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 formalized test, yet. For this reason,
users should be aware of unforeseen bugs when using DensityNormalization. To
report a bug or discuss future contributions to Zapdos, please refer to the
[Zapdos GitHub Discussions page](https://github.com/shannon-lab/zapdos/discussions).
For standards of how to contribute to Zapdos and the MOOSE framework,
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

!! 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 formalized test, yet. For this reason,
users should be aware of unforeseen bugs when using DriftDiffusionFluxAux. To
report bugs or discuss future contributions to Zapdos, please refer to the
[Zapdos GitHub Discussions page](https://github.com/shannon-lab/zapdos/discussions).
For standards of how to contribute to Zapdos and the MOOSE framework,
please refer to the [MOOSE Contributing page](framework/contributing.md).

## 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

0 comments on commit af4f5d4

Please sign in to comment.