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.

NumberDescriptionFramework / AchlysLink
(i)Time derivativeFrameworkADTimeDerivative
(ii)DiffusionFrameworkADMatDiffusion
(iii)Coupled time derivateFrameworkADCoupledTimeDerivative
(iv)Source termFrameworkADBodyForce

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:

NumberDescriptionFramework / AchlysLink
(i)Time derivativeFrameworkADTimeDerivative
(ii)Trapping equilibriumAchlysADEquilibriumEquation

Temperature Evolution

Thermal transport calculations always use the MOOSE Heat Conduction App without any modification or enhancement.

NumberDescriptionFramework / AchlysLink
(i)Time derivativeHeat Conduction ModuleADHeatConductionTimeDerivative
(ii)Heat conduction (Diffusion)Heat Conduction ModuleADHeatConduction

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