MultiSpeciesDiffusionCG

Discretizes diffusion equations for several species with the continuous Galerkin finite element method

This Physics implements the same kernels and boundary conditions as the DiffusionCG Physics does, but for every species specified.

Input Parameters

  • speciesSpecies being diffused

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Species being diffused

Required Parameters

  • blockBlocks (subdomains) that this Physics is active on.

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:Blocks (subdomains) that this Physics is active on.

  • compute_diffusive_fluxes_onSurfaces to compute the diffusive flux on

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:Surfaces to compute the diffusive flux on

  • diffusivity_functorsFunctors specifying the diffusivity for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

    C++ Type:std::vector<MooseFunctorName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Functors specifying the diffusivity for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • diffusivity_matpropsMaterial properties defining the diffusion coefficient for each species

    C++ Type:std::vector<MaterialPropertyName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Material properties defining the diffusion coefficient for each species

  • initial_conditions_speciesFunctions describing the initial conditions for the species

    C++ Type:std::vector<FunctionName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Functions describing the initial conditions for the species

  • source_coefs1 Coefficient multiplying the source

    Default:1

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Coefficient multiplying the source

  • source_functorsSource terms in the diffusion problem for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

    C++ Type:std::vector<MooseFunctorName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Source terms in the diffusion problem for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • system_namesnl0 Name of the solver system(s) for the variables. If a single name is specified, that system is used for all solver variables.

    Default:nl0

    C++ Type:std::vector<SolverSystemName>

    Controllable:No

    Description:Name of the solver system(s) for the variables. If a single name is specified, that system is used for all solver variables.

  • transientsame_as_problemWhether the physics is to be solved as a transient

    Default:same_as_problem

    C++ Type:MooseEnum

    Options:true, false, same_as_problem

    Controllable:No

    Description:Whether the physics is to be solved as a transient

  • use_automatic_differentiationTrueWhether to use automatic differentiation for all the terms in the equation

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to use automatic differentiation for all the terms in the equation

  • variable_orderFIRSTOrder of the FE shape function to use for this variable (additional orders not listed here are allowed, depending on the family).

    Default:FIRST

    C++ Type:MooseEnum

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH, TENTH, ELEVENTH, TWELFTH, THIRTEENTH, FOURTEENTH, FIFTEENTH, SIXTEENTH, SEVENTEENTH, EIGHTTEENTH, NINETEENTH, TWENTIETH, TWENTYFIRST, TWENTYSECOND, TWENTYTHIRD, TWENTYFOURTH, TWENTYFIFTH, TWENTYSIXTH, TWENTYSEVENTH, TWENTYEIGHTH, TWENTYNINTH, THIRTIETH, THIRTYFIRST, THIRTYSECOND, THIRTYTHIRD, THIRTYFOURTH, THIRTYFIFTH, THIRTYSIXTH, THIRTYSEVENTH, THIRTYEIGHTH, THIRTYNINTH, FORTIETH, FORTYFIRST, FORTYSECOND, FORTYTHIRD

    Controllable:No

    Description:Order of the FE shape function to use for this variable (additional orders not listed here are allowed, depending on the family).

  • verboseFalseFlag to facilitate debugging a Physics

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Flag to facilitate debugging a Physics

Optional Parameters

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

Advanced Parameters

  • boundary_fluxesFunctors to compute the diffusive flux on each Neumann boundary for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

    C++ Type:std::vector<std::vector<MooseFunctorName>>

    Unit:(no unit assumed)

    Controllable:No

    Description:Functors to compute the diffusive flux on each Neumann boundary for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • boundary_valuesFunctors to compute the diffusive flux on each Dirichlet boundary for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

    C++ Type:std::vector<std::vector<MooseFunctorName>>

    Unit:(no unit assumed)

    Controllable:No

    Description:Functors to compute the diffusive flux on each Dirichlet boundary for each species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • dirichlet_boundariesBoundaries on which to apply a fixed value for each species

    C++ Type:std::vector<std::vector<BoundaryName>>

    Controllable:No

    Description:Boundaries on which to apply a fixed value for each species

  • neumann_boundariesBoundaries on which to apply a diffusive flux for each species

    C++ Type:std::vector<std::vector<BoundaryName>>

    Controllable:No

    Description:Boundaries on which to apply a diffusive flux for each species

Boundary Conditions Parameters

  • dont_create_aux_kernelsFalseWhether to skip the 'add_aux_kernel' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_aux_kernel' task

  • dont_create_aux_variablesFalseWhether to skip the 'add_aux_variable' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_aux_variable' task

  • dont_create_bcsFalseWhether to skip the 'add_bc' task for each boundary condition type

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_bc' task for each boundary condition type

  • dont_create_correctorsFalseWhether to skip the 'add_correctors' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_correctors' task

  • dont_create_functionsFalseWhether to skip the 'add_function' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_function' task

  • dont_create_icsFalseWhether to skip the 'add_ic' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_ic' task

  • dont_create_kernelsFalseWhether to skip the 'add_kernel' task for each kernel type

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_kernel' task for each kernel type

  • dont_create_materialsFalseWhether to skip the 'add_material' task for each material type

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_material' task for each material type

  • dont_create_postprocessorsFalseWhether to skip the 'add_postprocessors' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_postprocessors' task

  • dont_create_solver_variablesFalseWhether to skip the 'add_variable' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_variable' task

  • dont_create_user_objectsFalseWhether to skip the 'add_user_object' task. This does not apply to UserObject derived classes being created on a different task (for example: postprocessors, VPPs, correctors)

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_user_object' task. This does not apply to UserObject derived classes being created on a different task (for example: postprocessors, VPPs, correctors)

  • dont_create_vectorpostprocessorsFalseWhether to skip the 'add_vectorpostprocessors' task

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to skip the 'add_vectorpostprocessors' task

Reduce Physics Object Creation Parameters

  • initial_from_file_timestepLATESTGives the time step number (or "LATEST") for which to read the Exodus solution

    Default:LATEST

    C++ Type:std::string

    Controllable:No

    Description:Gives the time step number (or "LATEST") for which to read the Exodus solution

  • initialize_variables_from_mesh_fileFalseDetermines if the variables that are added by the action are initializedfrom the mesh file (only for Exodus format)

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Determines if the variables that are added by the action are initializedfrom the mesh file (only for Exodus format)

Restart From Exodus Parameters

  • preconditioningdefaultWhich preconditioning to use for this Physics

    Default:default

    C++ Type:MooseEnum

    Options:default, defer

    Controllable:No

    Description:Which preconditioning to use for this Physics

Numerical Scheme Parameters