Kernels
The list of Achlys specific kernel implementations are given here. The following sections give the full description of the kernel selections for implementnig the governing equations shown in Eq. (1), Eq. (2), and Eq. (3). The descriptions include links to the MOOSE framework documentation where standard kernels can be employed.
(1)
(2)
(3)
Note that some Achlys kernels are designed for use with specific achlys materials such as the Trapping Material class which calculates the diffusion coefficient and trapping/detrapping reaction rates.
Mobile Concentration
The first of the governing equations gives the mass balance for the mobile phase of dissolved atoms. This is a balance between the source/sink terms, given by either external sources or the coupling to the trapping/detrapping process, and diffusive transport driven by a concentration gradient.
Note that the coupled time derivative here provides the coupling between the mobile and trapped phase mass balances.
Number | Description | Framework / Achlys | Link |
---|---|---|---|
(i) | Time derivative | Framework | ADTimeDerivative |
(ii) | Diffusion | Framework | ADMatDiffusion |
(iii) | Coupled time derivate | Framework | ADCoupledTimeDerivative |
(iv) | Source term | Framework | ADBodyForce |
Trapped Concentration, site
The second of the governing equations must be implemented once for each material trapping site being considered. This is achieved using the following kernels:
Number | Description | Framework / Achlys | Link |
---|---|---|---|
(i) | Time derivative | Framework | ADTimeDerivative |
(ii) | Trapping equilibrium | Achlys | ADEquilibriumEquation |
Temperature Evolution
Thermal transport calculations always use the MOOSE Heat Conduction App without any modification or enhancement.
Number | Description | Framework / Achlys | Link |
---|---|---|---|
(i) | Time derivative | Heat Conduction Module | ADHeatConductionTimeDerivative |
(ii) | Heat conduction (Diffusion) | Heat Conduction Module | ADHeatConduction |
Example usage
Drawing together the previous sections, the following example shows how to construct the kernels input block for an (isothermal) achlys calculation with 3 material traps.
[Variables]
[./Mobile]
[../]
[./Trapped_1]
[../]
[./Trapped_2]
[]
[./Trapped_3]
[]
[]
[Kernels]
[./H3_diffusion_eq1]
type = ADMatDiffusion
variable = Mobile
Diffusivity = D
[../]
[./mobile_time_deriv]
type = ADTimeDerivative
variable = Mobile
[../]
[./trapping_equilibrium_equation1]
type = ADTrappingEquilibriumEquation
variable = Trapped_1
v = Mobile
n_traps = n1
vi = V1
[../]
[./trapping_equilibrium_equation2]
type = ADTrappingEquilibriumEquation
variable = Trapped_2
v = Mobile
n_traps = n2
vi = V2
[../]
[./trapping_equilibrium_equation3]
type = ADTrappingEquilibriumEquation
variable = Trapped_3
v = Mobile
n_traps = n3
vi = V3
[../]
[./trapped_time_deriv_couple]
type = ADCoupledTimeDerivative
variable = Mobile
v = Trapped_1
[../]
[./trapped_time_deriv_couple2]
type = ADCoupledTimeDerivative
variable = Mobile
v = Trapped_2
[../]
[./trapped_time_deriv_couple3]
type = ADCoupledTimeDerivative
variable = Mobile
v = Trapped_3
[../]
[./trapped_time_deriv]
type = ADTimeDerivative
variable = Trapped_1
[../]
[./trapped_time_deriv2]
type = ADTimeDerivative
variable = Trapped_2
[../]
[./trapped_time_deriv3]
type = ADTimeDerivative
variable = Trapped_3
[../]
[]
(problems/thermal_desorption/ogorodnikova/tds_multiapp/desorp_multi.i)Available Kernels
- achlys App
- ADTrappingEquilibriumEquationCompute the local movement of particles between the mobile phaseand the trapped phase for a specific trap type