- assembly_levellegacyMatrix assembly level.
Default:legacy
C++ Type:MooseEnum
Controllable:No
Description:Matrix assembly level.
- deviceRun app on the chosen device.
C++ Type:std::string
Controllable:No
Description:Run app on the chosen device.
- dt1The timestep size between solves
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The timestep size between solves
- end_time1e+30The end time of the simulation
Default:1e+30
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The end time of the simulation
- error_on_dtminTrueThrow error when timestep is less than dtmin instead of just aborting solve.
Default:True
C++ Type:bool
Controllable:No
Description:Throw error when timestep is less than dtmin instead of just aborting solve.
- num_steps4294967295The number of timesteps in a transient run
Default:4294967295
C++ Type:unsigned int
Controllable:No
Description:The number of timesteps in a transient run
- reset_dtFalseUse when restarting a calculation to force a change in dt.
Default:False
C++ Type:bool
Controllable:No
Description:Use when restarting a calculation to force a change in dt.
- schemeimplicit-eulerTime integration scheme used.
Default:implicit-euler
C++ Type:MooseEnum
Controllable:No
Description:Time integration scheme used.
- verboseFalseSet to true to print additional information
Default:False
C++ Type:bool
Controllable:No
Description:Set to true to print additional information
MFEMTransient
Summary
Executioner for transient MFEM problems.
Overview
MFEMTransient
is the Executioner
class used to solve time dependent MFEM finite element problems, calling the MFEMProblemSolve
solve object to execute one or more MFEM TimeDomainProblemOperators
.
As in all Executioner
classes using the MFEMProblemSolve solve object, the desired device and assembly level to use during problem set-up and solution can be selected.
Currently, only simulations with an implicit backwards Euler time integrator are supported. However, the TimeStepper system is fully supported providing wide choice for the timestep(s) dt
.
Example Input File Syntax
[Executioner<<<{"href": "../../../syntax/Executioner/index.html"}>>>]
type = MFEMTransient
device = cpu
assembly_level = legacy
dt = 2.0
start_time = 0.0
end_time = 6.0
[]
(test/tests/mfem/kernels/heattransfer.i)Input Parameters
- abort_on_solve_failFalseabort if solve not converged rather than cut timestep
Default:False
C++ Type:bool
Controllable:No
Description:abort if solve not converged rather than cut timestep
- 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.
- dtmax1e+30The maximum timestep size in an adaptive run
Default:1e+30
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The maximum timestep size in an adaptive run
- dtmin1e-12The minimum timestep size in an adaptive run
Default:1e-12
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The minimum timestep size in an adaptive run
- n_startup_steps0The number of timesteps during startup
Default:0
C++ Type:int
Controllable:No
Description:The number of timesteps during startup
- outputsVector of output names where you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
- start_time0The start time of the simulation
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The start time of the simulation
- timestep_tolerance1e-12the tolerance setting for final timestep size and sync times
Default:1e-12
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:the tolerance setting for final timestep size and sync times
- use_multiapp_dtFalseIf true then the dt for the simulation will be chosen by the MultiApps. If false (the default) then the minimum over the master dt and the MultiApps is used
Default:False
C++ Type:bool
Controllable:No
Description:If true then the dt for the simulation will be chosen by the MultiApps. If false (the default) then the minimum over the master dt and the MultiApps is used
Advanced Parameters
- accept_on_max_fixed_point_iterationFalseTrue to treat reaching the maximum number of fixed point iterations as converged.
Default:False
C++ Type:bool
Controllable:No
Description:True to treat reaching the maximum number of fixed point iterations as converged.
- auto_advanceFalseWhether to automatically advance sub-applications regardless of whether their solve converges, for transient executioners only.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to automatically advance sub-applications regardless of whether their solve converges, for transient executioners only.
- custom_abs_tol1e-50The absolute nonlinear residual to shoot for during fixed point iterations. This check is performed based on postprocessor defined by the custom_pp residual.
Default:1e-50
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The absolute nonlinear residual to shoot for during fixed point iterations. This check is performed based on postprocessor defined by the custom_pp residual.
- custom_ppPostprocessor for custom fixed point convergence check.
C++ Type:PostprocessorName
Unit:(no unit assumed)
Controllable:No
Description:Postprocessor for custom fixed point convergence check.
- custom_rel_tol1e-08The relative nonlinear residual drop to shoot for during fixed point iterations. This check is performed based on the postprocessor defined by custom_pp residual.
Default:1e-08
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The relative nonlinear residual drop to shoot for during fixed point iterations. This check is performed based on the postprocessor defined by custom_pp residual.
- direct_pp_valueFalseTrue to use direct postprocessor value (scaled by value on first iteration). False (default) to use difference in postprocessor value between fixed point iterations.
Default:False
C++ Type:bool
Controllable:No
Description:True to use direct postprocessor value (scaled by value on first iteration). False (default) to use difference in postprocessor value between fixed point iterations.
- disable_fixed_point_residual_norm_checkFalseDisable the residual norm evaluation thus the three parameters fixed_point_rel_tol, fixed_point_abs_tol and fixed_point_force_norms.
Default:False
C++ Type:bool
Controllable:No
Description:Disable the residual norm evaluation thus the three parameters fixed_point_rel_tol, fixed_point_abs_tol and fixed_point_force_norms.
- fixed_point_abs_tol1e-50The absolute nonlinear residual to shoot for during fixed point iterations. This check is performed based on the main app's nonlinear residual.
Default:1e-50
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The absolute nonlinear residual to shoot for during fixed point iterations. This check is performed based on the main app's nonlinear residual.
- fixed_point_algorithmpicardThe fixed point algorithm to converge the sequence of problems.
Default:picard
C++ Type:MooseEnum
Controllable:No
Description:The fixed point algorithm to converge the sequence of problems.
- fixed_point_force_normsFalseForce the evaluation of both the TIMESTEP_BEGIN and TIMESTEP_END norms regardless of the existence of active MultiApps with those execute_on flags, default: false.
Default:False
C++ Type:bool
Controllable:No
Description:Force the evaluation of both the TIMESTEP_BEGIN and TIMESTEP_END norms regardless of the existence of active MultiApps with those execute_on flags, default: false.
- fixed_point_max_its1Specifies the maximum number of fixed point iterations.
Default:1
C++ Type:unsigned int
Controllable:No
Description:Specifies the maximum number of fixed point iterations.
- fixed_point_min_its1Specifies the minimum number of fixed point iterations.
Default:1
C++ Type:unsigned int
Controllable:No
Description:Specifies the minimum number of fixed point iterations.
- fixed_point_rel_tol1e-08The relative nonlinear residual drop to shoot for during fixed point iterations. This check is performed based on the main app's nonlinear residual.
Default:1e-08
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The relative nonlinear residual drop to shoot for during fixed point iterations. This check is performed based on the main app's nonlinear residual.
- multiapp_fixed_point_convergenceName of the Convergence object to use to assess convergence of the MultiApp fixed point solve. If not provided, a default Convergence will be constructed internally from the executioner parameters.
C++ Type:ConvergenceName
Controllable:No
Description:Name of the Convergence object to use to assess convergence of the MultiApp fixed point solve. If not provided, a default Convergence will be constructed internally from the executioner parameters.
- relaxation_factor1Fraction of newly computed value to keep.Set between 0 and 2.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fraction of newly computed value to keep.Set between 0 and 2.
- transformed_postprocessorsList of main app postprocessors to transform during fixed point iterations
C++ Type:std::vector<PostprocessorName>
Unit:(no unit assumed)
Controllable:No
Description:List of main app postprocessors to transform during fixed point iterations
- transformed_variablesList of main app variables to transform during fixed point iterations
C++ Type:std::vector<std::string>
Controllable:No
Description:List of main app variables to transform during fixed point iterations
Fixed Point Iterations Parameters
- check_auxFalseWhether to check the auxiliary system for convergence to steady-state. If false, then the solution vector from the solver system is used.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to check the auxiliary system for convergence to steady-state. If false, then the solution vector from the solver system is used.
- normalize_solution_diff_norm_by_dtTrueWhether to divide the solution difference norm by dt. If taking 'small' time steps you probably want this to be true. If taking very 'large' timesteps in an attempt to *reach* a steady-state, you probably want this parameter to be false.
Default:True
C++ Type:bool
Controllable:No
Description:Whether to divide the solution difference norm by dt. If taking 'small' time steps you probably want this to be true. If taking very 'large' timesteps in an attempt to *reach* a steady-state, you probably want this parameter to be false.
- steady_state_convergenceName of the Convergence object to use to assess whether the solution has reached a steady state. If not provided, a default Convergence will be constructed internally from the executioner parameters.
C++ Type:ConvergenceName
Controllable:No
Description:Name of the Convergence object to use to assess whether the solution has reached a steady state. If not provided, a default Convergence will be constructed internally from the executioner parameters.
- steady_state_detectionFalseWhether or not to check for steady state conditions
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not to check for steady state conditions
- steady_state_start_time0Minimum amount of time to run before checking for steady state conditions.
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Minimum amount of time to run before checking for steady state conditions.
- steady_state_tolerance1e-08Whenever the relative residual changes by less than this the solution will be considered to be at steady state.
Default:1e-08
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Whenever the relative residual changes by less than this the solution will be considered to be at steady state.
Steady State Detection Parameters
- max_xfem_update4294967295Maximum number of times to update XFEM crack topology in a step due to evolving cracks
Default:4294967295
C++ Type:unsigned int
Controllable:No
Description:Maximum number of times to update XFEM crack topology in a step due to evolving cracks
- update_xfem_at_timestep_beginFalseShould XFEM update the mesh at the beginning of the timestep
Default:False
C++ Type:bool
Controllable:No
Description:Should XFEM update the mesh at the beginning of the timestep
Xfem Fixed Point Iterations Parameters
Restart Parameters
- time_period_endsThe end times of time periods
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The end times of time periods
- time_period_startsThe start times of time periods
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The start times of time periods
- time_periodsThe names of periods
C++ Type:std::vector<std::string>
Controllable:No
Description:The names of periods
Time Periods Parameters
Input Files
- (test/tests/mfem/multiapps/sub_cycling_sub.i)
- (test/tests/mfem/variables/mfem_variables_from_moose.i)
- (test/tests/mfem/multiapps/full_solve_parent.i)
- (test/tests/mfem/multiapps/dt_from_parent.i)
- (test/tests/mfem/multiapps/dt_from_parent_sub.i)
- (test/tests/mfem/multiapps/full_solve_sub.i)
- (test/tests/mfem/kernels/heattransfer.i)
- (test/tests/mfem/multiapps/sub_cycling_parent.i)
- (test/tests/mfem/timesteppers/mfem_multiple_timesequences.i)
- (test/tests/mfem/timesteppers/mfem_multiple_timesteppers.i)
- (test/tests/mfem/ics/transient_scalar_ic.i)