Structure1D

Base class for components that are defined using actions.

This 1D ActionComponent represents a structure. A structure in TMAP8 is a volume in which tritium can migrate or be trapped.

Interaction with common TMAP8 Physics

The "physics" parameter of a Structure1D can be used to define the Physics that should be active on the structure. See more details on the ComponentPhysicsInterface page.

Material properties

To vary the material properties used in each Physics, one can set the "property_names" and "property_values" parameters in the Structure1D. See more details on the ComponentMaterialPropertyInterface page.

For a MultiSpeciesDiffusionCG Physics to be used you can define the:

For a Species Trapping Physics using a Continuous Galerkin Finite Element discretization / SpeciesTrappingPhysics to be used, you can define the:

  • trapping rate coefficient for each species, to be used in the "alpha_t" parameter

  • atomic number density of the host material, to be used in the "N" parameter

  • fraction of host sites that can contribute to trapping, to be used in the "Ct0" parameter

  • release rate coefficient, to be used in the "alpha_r" parameter

  • trapping energy in units of Kelvin, to be used in the "detrapping_energy" parameter

Boundary conditions

The Structure1D defines two boundaries by default: left and right. Using the "fixed_value_bc_boundaries", "fixed_value_bc_variables" and "fixed_value_bc_values" parameters of the Structure1D, the Physics defined on this structure can set Dirichlet boundary conditions.

Using the "flux_bc_boundaries", "flux_bc_variables" and "flux_bc_values" parameters of the Structure1D, the Physics defined on this structure can set flux / Neumann boundary conditions.

See more details on the ComponentBoundaryConditionInterface page.

Input Parameters

  • speciesThe species that are reacting, advecting, and diffusing throughout the simulation domain

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The species that are reacting, advecting, and diffusing throughout the simulation domain

Required Parameters

  • blockThe list of block ids (SubdomainID) that this object will be applied

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

    Controllable:No

    Description:The list of block ids (SubdomainID) that this object will be applied

  • physicsPhysics object(s) active on the Component

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

    Controllable:No

    Description:Physics object(s) active on the Component

  • species_initial_concentrationsInitial concentrations for the structure 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:Initial concentrations for the structure species. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • species_scaling_factorsScaling factors to make the (non)linear system better conditioned

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling factors to make the (non)linear system better conditioned

  • temperatureTemperature [K]. 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:Temperature [K]. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • verboseFalseWhether the component setup should be verbose

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether the component setup should be verbose

Optional Parameters

  • 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.

Advanced Parameters

  • define_functor_propertiesTrueIf true, define functor properties from the values provided

    Default:True

    C++ Type:bool

    Controllable:No

    Description:If true, define functor properties from the values provided

  • define_material_propertiesTrueIf true, define material properties from the values provided

    Default:True

    C++ Type:bool

    Controllable:No

    Description:If true, define material properties from the values provided

  • property_namesList of material properties that should be defined on this ActionComponent

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

    Controllable:No

    Description:List of material properties that should be defined on this ActionComponent

  • property_valuesFunctors that provide the values of the material property on this ActionComponent. 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 that provide the values of the material property on this ActionComponent. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • use_ad_for_propertiesTrueWhether to use automatic differentiation for the properties defined

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to use automatic differentiation for the properties defined

Material And Functor Property Parameters

  • fixed_value_bc_boundariesBoundaries on which to apply the fixed value boundary condition(s). Outer ordering is variables, inner order is surfaces

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

    Controllable:No

    Description:Boundaries on which to apply the fixed value boundary condition(s). Outer ordering is variables, inner order is surfaces

  • fixed_value_bc_valuesFunctors that provide the fixed value boundary condition(s) values. Outer ordering is variables, inner order is surfaces. 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 that provide the fixed value boundary condition(s) values. Outer ordering is variables, inner order is surfaces. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • fixed_value_bc_variablesList of variables that have fixed value boundary condition(s) defined on this component

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

    Unit:(no unit assumed)

    Controllable:No

    Description:List of variables that have fixed value boundary condition(s) defined on this component

  • flux_bc_boundariesBoundaries on which to apply the flux boundary condition(s). Outer ordering is variables, inner order is surfaces

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

    Controllable:No

    Description:Boundaries on which to apply the flux boundary condition(s). Outer ordering is variables, inner order is surfaces

  • flux_bc_valuesFunctors that provide the flux boundary condition(s) values. Outer ordering is variables, inner order is surfaces. 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 that provide the flux boundary condition(s) values. Outer ordering is variables, inner order is surfaces. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.

  • flux_bc_variablesList of variables that have flux boundary condition(s) defined on this component

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

    Unit:(no unit assumed)

    Controllable:No

    Description:List of variables that have flux boundary condition(s) defined on this component

Variable Boundary Conditions Parameters

  • length_unit_scalingScaling to apply on the mesh

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling to apply on the mesh

  • nxThe number of elements in the structure.

    C++ Type:unsigned int

    Controllable:No

    Description:The number of elements in the structure.

  • xmaxThe maximum x-value.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The maximum x-value.

Geometry Parameters