- equilibrium_constantsThe equilibrium constants between gas partial pressure and adsorbed solute concentration for each species. Note that they will be scaled using the scaling parameters specified. If specified, will be used for every component. 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:The equilibrium constants between gas partial pressure and adsorbed solute concentration for each species. Note that they will be scaled using the scaling parameters specified. If specified, will be used for every component. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
- length_unit_scaling1The number of length units in a meter. This allows the user to select length units other than meters that may lead to better overall scaling of the system.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The number of length units in a meter. This allows the user to select length units other than meters that may lead to better overall scaling of the system.
- pressure_unit_scaling1The number of pressure unit in a Pa
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The number of pressure unit in a Pa
- speciesSpecies that can be trapped on each component. If a single vector is specified, the same species will be used on every component
C++ Type:std::vector<NonlinearVariableName>
Unit:(no unit assumed)
Controllable:No
Description:Species that can be trapped on each component. If a single vector is specified, the same species will be used on every component
- species_initial_pressuresInitial values for each species. If specified, will be used for every component.
C++ Type:std::vector<MooseFunctorName>
Unit:(no unit assumed)
Controllable:No
Description:Initial values for each species. If specified, will be used for every component.
- species_scaling_factorsScaling factors for each species equation on each component. If specified, the same scaling factors will be used on every component
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Scaling factors for each species equation on each component. If specified, the same scaling factors will be used on every component
- 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.
- temperatureFunctor providing the temperature. If specified, the same functor is used on every component. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
C++ Type:MooseFunctorName
Unit:(no unit assumed)
Controllable:No
Description:Functor providing the temperature. If specified, the same functor is used on every component. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
- transientsame_as_problemWhether the physics is to be solved as a transient
Default:same_as_problem
C++ Type:MooseEnum
Controllable:No
Description:Whether the physics is to be solved as a transient
- verboseFalseFlag to facilitate debugging a Physics
Default:False
C++ Type:bool
Controllable:No
Description:Flag to facilitate debugging a Physics
Species Solubility in 0D Structures / SorptionExchangePhysics
This Physics creates an ordinary differential equation to represent the local solubility / releasing of species in a 0D enclosure, and mass exchange of that species at its boundaries. The 0D enclosure component is exchanging species with a structure.
The ordinary differential equations solved for each species are:
where are the species of interest, is the flux of the specie exiting the enclosure and entering the structure, is the surface area of the structure contacting the enclosure, is the enclosure volume, and is a conversion factor from concentration to pressure units. See the respective kernels for for information.
Objects created
The species equation(s) on the 0D component (such as a Enclosure0D) are created using:
A ODETimeDerivative for the time derivative of the concentration of each species being trapped, if simulating a transient. This term is not added if the Executioner is not transient
A EnclosureSinkScalarKernel for the trapping and releasing term
On the structures (such as a Structure1D) connected to the 0D component, an EquilibriumBC is created on their outer surface boundary. This boundary condition applies to a variable being diffused/migrated on that structure if a DiffusionPhysicsBase-derived Physics
is defined on this structure. This boundary condition connects the outgoing species flux 0D component with the incoming species flux on the boundary of the structure.
Interaction with ActionComponents
The SorptionExchangePhysics
can be defined on an ActionComponent by specifying the physics
parameter of that component to include the name of the particular SorptionExchangePhysics
. The name of the Physics
can be found nested under [Physics/SorptionExchange/<name>]
.
Certain parameters of the SorptionExchangePhysics
can be specified on components that are specifically implemented to interact with the SorptionExchangePhysics
. For example, the "species" and "species_initial_pressures" parameters can be specified on a Enclosure0D. The SorptionExchangePhysics
will then take care of defining the variable and its initial condition.
Input 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
- 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
- preconditioningdeferWhich preconditioning to use/add for this Physics, or whether to defer to the Preconditioning block, or another Physics
Default:defer
C++ Type:MooseEnum
Controllable:No
Description:Which preconditioning to use/add for this Physics, or whether to defer to the Preconditioning block, or another Physics