#include <BDFIntegrator.h>

Public Types | |
| typedef std::shared_ptr< AMP::TimeIntegrator::TimeIntegrator > | shared_ptr |
| Convience typedef. | |
Static Public Member Functions | |
| static std::unique_ptr< AMP::TimeIntegrator::TimeIntegrator > | createTimeIntegrator (std::shared_ptr< AMP::TimeIntegrator::TimeIntegratorParameters > parameters) |
Protected Attributes | |
| std::vector< double > | d_a |
| time history scalings | |
| double | d_alpha = 1.0 |
| ratio of current to previous timestep | |
| bool | d_auto_component_scaling = false |
| enable auto scaling if true | |
| int | d_bdf1_eps_regrid_steps = 0 |
| number of steps to use bdf1 error estimator after regrid | |
| std::string | d_bdf_starting_integrator = "CN" |
| the one step method used to start up BDF2, options are "Backward Euler" or "CN" | |
| bool | d_calculateTimeTruncError = false |
| calculate time truncation error if enabled | |
| bool | d_combine_timestep_estimators = false |
| boolean flag to combine different time error estimators | |
| bool | d_control_timestep_variation = false |
| boolean to minimize the number of timestep changes in the truncation error strategy | |
| double | d_current_dt = std::numeric_limits<double>::signaling_NaN() |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_current_function_vector = nullptr |
| the next vector will store the rhs at the current time level | |
| int | d_current_stepaccepts = 0 |
| keeps track of successive step acceptances | |
| int | d_current_steprejects = 0 |
| keeps track of successive step rejections at a given timestep | |
| double | d_current_time = std::numeric_limits<double>::signaling_NaN() |
| double | d_DtCutLowerBound = std::numeric_limits<double>::signaling_NaN() |
| max factor to cut timestep by when a timestep is rejected | |
| double | d_DtGrowthUpperBound = std::numeric_limits<double>::signaling_NaN() |
| upper bound on factor by which timestep can be increased | |
| int | d_enable_picontrol_regrid_steps = 0 |
| the number of timesteps after a regrid before the pi controller is enabled | |
| int | d_evaluatefunction_count = 0 |
| counter to track number of nonlinear function calls | |
| std::function< void(std::shared_ptr< AMP::LinearAlgebra::Vector >, std::shared_ptr< AMP::LinearAlgebra::Vector >)> | d_fComponentScalingFnPtr |
| registered callback function to set multiphysics component scalings | |
| int | d_final_constant_timestep_current_step = 1 |
| double | d_final_time = std::numeric_limits<double>::signaling_NaN() |
| double | d_first_initial_dt = 0.0 |
| double storing the first dt before any restart | |
| bool | d_first_step = true |
| std::function< void(AMP::Scalar)> | d_fTimeScalingFnPtr |
| registered callback function to set gamma, typically when the user needs to know gamma | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_function_scaling |
| double | d_gamma = 0.0 |
| factor to multiply rhs by | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_ic_vector = nullptr |
| int | d_iDebugPrintInfoLevel = 0 |
| std::string | d_implicit_integrator = "BDF2" |
| string for the time integrator being used, options are "Backward Euler", "BDF2", or "CN" | |
| double | d_initial_dt = std::numeric_limits<double>::signaling_NaN() |
| initial time increment | |
| std::string | d_initial_predictor_type = "forward_euler" |
| initial predictor type | |
| double | d_initial_time = std::numeric_limits<double>::signaling_NaN() |
| bool | d_initialized = false |
| size_t | d_integrator_index = 0 |
| index into d_integrator_names showing what is the current integrator | |
| std::vector< std::string > | d_integrator_names |
| names of time integrators | |
| std::vector< double > | d_integrator_order |
| truncation error order for time integrators | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_integrator_source_vector = nullptr |
| int | d_integrator_step = 0 |
| std::vector< double > | d_integrator_steps |
| vector of previous timesteps | |
| bool | d_is_after_regrid = false |
| state of simulation, whether it is immediately after a regrid | |
| bool | d_is_new_timestep = true |
| boolean flag to determine if a new timestep has started | |
| std::list< double > | d_l2errorNorms_E |
| std::list< double > | d_l2errorNorms_T |
| int | d_linear_iterations = 0 |
| records number of linear iterations at current timestep | |
| std::vector< int > | d_linearIterations |
| vector to keep track of the number of linear iterations | |
| bool | d_log_statistics = true |
| whether to log statistics about time integrator | |
| std::vector< std::vector< double > > | d_LTE |
| vector of vectors to store the local truncation errors for components | |
| double | d_max_dt = std::numeric_limits<double>::max() |
| maximum allowable timestep (user defined) | |
| size_t | d_max_integrator_index = static_cast<size_t>( -1 ) |
| index into d_integrator_names that shows what is the max BDF order | |
| int | d_max_integrator_steps = 0 |
| double | d_min_dt = std::numeric_limits<double>::signaling_NaN() |
| double | d_new_time = std::numeric_limits<double>::signaling_NaN() |
| double containing t_{n+1} | |
| int | d_nonlinear_iterations = 0 |
| records number of nonlinear iterations at current timestep | |
| std::vector< int > | d_nonlinearIterations |
| vector to keep track of the number of nonlinear iterations | |
| int | d_number_initial_fixed_steps = 0 |
| int | d_number_of_time_intervals = -1 |
| std::string | d_object_name |
| double | d_old_dt = std::numeric_limits<double>::signaling_NaN() |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_old_td_vector = nullptr |
| the next vector will store the old time derivative at previous time level | |
| std::shared_ptr< AMP::Operator::Operator > | d_operator |
| std::string | d_pi_controller_type = "PC.4.7" |
| type of PI controller, current options are "H211b", "PI.4.7", and "Deadbeat" | |
| std::shared_ptr< AMP::Operator::Operator > | d_pMassOperator |
| std::shared_ptr< TimeIntegratorParameters > | d_pParameters |
| std::string | d_predictor_type = "leapfrog" |
| predictor to use with predictor corrector approach | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_predictor_vector = nullptr |
| the next vector will store the predictor for the next timestep | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_prev_function_vector = nullptr |
| the next vector will store the old rhs at the previous time level | |
| std::vector< std::shared_ptr< AMP::LinearAlgebra::Vector > > | d_prev_solutions |
| bool | d_prevSuccessiveRejects = false |
| boolean flag to keep track of successive time step rejections | |
| double | d_prevTimeTruncationErrorEstimate = 1.0 |
| truncation error estimate at previous step | |
| std::vector< double > | d_problem_scales |
| fixed used defined scales for time error scaling | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pSourceTerm |
| DataManagerCallBack | d_registerVectorForManagement |
| bool | d_reset_after_restart = false |
| boolean flag to detect a call to reset immediately following restart | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_scratch_function_vector = nullptr |
| the next vector is used for scratch or intermediate storage for rhs | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_scratch_vector = nullptr |
| the next vector is used for scratch or intermediate storage | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_solution_scaling |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_solution_vector |
| std::shared_ptr< AMP::Solver::SolverStrategy > | d_solver = nullptr |
| int | d_solver_converged_reason = -1 |
| convergence reason returned by solver | |
| int | d_solver_retcode = 0 |
| std::vector< int > | d_step_accepted |
| vector to keep track of whether the step is accepted | |
| double | d_target_relative_change = 0.1 |
| double | d_time_atol = std::numeric_limits<double>::signaling_NaN() |
| absolute tolerance for the truncation error based strategy | |
| std::string | d_time_error_scaling = "fixed_scaling" |
| bool | d_time_history_initialized = false |
| whether it is the first step | |
| double | d_time_rtol = std::numeric_limits<double>::signaling_NaN() |
| relative tolerance for the truncation error based strategy | |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_timederivative_vector = nullptr |
| the next vector will store the current estimate for the time derivative | |
| double | d_timeErrorEstimateRatio = 1.0 |
| truncation error ratio to previous step | |
| std::vector< double > | d_times |
| vector to the store the simulation times | |
| std::string | d_timestep_strategy = "truncationErrorStrategy" |
| std::vector< double > | d_timesteps |
| vector to store the timesteps | |
| int | d_timesteps_after_regrid = 0 |
| keeps track of the number of timesteps after the last regrid | |
| double | d_timeTruncationErrorEstimate = 1.0 |
| truncation error estimate in time over both E and T | |
| std::string | d_timeTruncationErrorNormType = "l2Norm" |
| norm type used for truncation error calculation | |
| int | d_total_steprejects = 0 |
| bool | d_use_bdf1_estimator_on_regrid = true |
| bool | d_use_constant_time_interpolation = false |
| boolean flag used to do constant time interpolation, used after regrids | |
| bool | d_use_initial_predictor = true |
| bool | d_use_pi_controller = true |
| boolean flag to enable or disable the use of a PI based timestep controller | |
| bool | d_use_predictor = true |
| boolean flag to use a predictor for the initial guess at each timestep | |
| bool | d_user_managed_time_operator = false |
| user manages time operator | |
| std::vector< std::string > | d_var_names |
| names of variables to associate with different components of a vector | |
| std::vector< std::string > | d_vector_names |
| names of variables to associate with different vectors | |
| bool | d_vectors_registered_for_mgmt = false |
| boolean to ensure registerVectorsForMemoryManagement is called once | |
| std::shared_ptr< AMP::IO::Writer > | d_writer |
| keeps track of total number of step rejections | |
Definition at line 23 of file BDFIntegrator.h.
|
inherited |
Convience typedef.
Definition at line 37 of file TimeIntegrator.h.
|
explicit |
| AMP::TimeIntegrator::BDFIntegrator::~BDFIntegrator | ( | ) |
| AMP::TimeIntegrator::BDFIntegrator::BDFIntegrator | ( | int64_t | fid, |
| AMP::IO::RestartManager * | manager | ||
| ) |
Read restart data to file.
This function will create a variable from the restart file
| fid | File identifier to write |
| manager | Restart manager |
|
overridevirtualinherited |
Integrate entire patch hierarchy through the specified time increment.
Integrate entire patch hierarchy through the specified time increment. The time advance assumes the use of a nonlinear solver to implicitly integrate the discrete equations. The integer return value is the return code generated by the particular solver package in use. It is the user's responsibility to interpret this code in a manner consistent with the solver they are using.
The boolean first_step argument is true when this is the very first call to the advance function or if the call occurs immediately after the hierarchy has changed due to regridding. Otherwise it is false. Note that, when the argument is true, the use of extrapolation to construct the initial guess for the advanced solution may not be possible.
| dt | Time step size |
| first_step | Whether this is the first step after grid change |
| in | Input vector |
| out | Output vector |
Implements AMP::TimeIntegrator::TimeIntegrator.
|
inlinevirtualinherited |
Append the vectors of interest to the rhs vector.
This function will append the necessary vectors that this solver owns to the global vector provided. Note that each solver may own any number of vectors, but no vector may be owned by multiple solvers.
| vec | The vector to append |
Definition at line 219 of file TimeIntegrator.h.
|
inlinevirtualinherited |
Append the vectors of interest to the solution vector.
This function will append the necessary vectors that this solver owns to the global vector provided. Note that each solver may own any number of vectors, but no vector may be owned by multiple solvers.
| vec | The vector to append |
Definition at line 208 of file TimeIntegrator.h.
Utility function that calculates the scaling term for the local truncation error (LTE) expressions obtained by doing Taylor series expansions at a given timestep
|
protected |
Utility function to calculate the scaled norm of the LTE error.
routine to calculate the current truncation error
Check time advanced solution to determine whether it is acceptable. Return true if the solution is acceptable; return false otherwise. The integer argument is the return code generated by the call to the nonlinear solver "solve" routine. The meaning of this value depends on the particular nonlinear solver in use and must be intepreted properly by the user-supplied solution checking routine.
Implements AMP::TimeIntegrator::TimeIntegrator.
calculates the linear weighted sum of previous time solutions that forms a source term for the nonlinear equations at each timestep
|
static |
estimates the BDF2 time derivative using the approach in Gresho and Sani
estimates the BE time derivative using the approach in Gresho and Sani
estimates the CN time derivative using the approach in Gresho and Sani
|
protected |
estimate timestep based on truncation error estimates
|
protected |
estimate the speed of the Marshak wave front, used as a heuristic within some timestep calculations
wrapper for estimating the time derivative after a succesful step
evaluates the AB2 predictor and stores in the predictor energy and temperature variables
evaluates a predictor based on an interpolating polynomial
evaluates the forward Euler predictor and stores in the predictor energy and temperature variables
evaluates the leap frog predictor and stores in the predictor energy and temperature variables
evaluates the predictor and stores in the predictor energy and temperature variables
Return current timestep.
Return current timestep.
Return final integration time.
Return current integration time.
Return final integration time.
Return final integration time.
|
protected |
read in parameters from input database
|
protectedinherited |
Definition at line 65 of file BDFIntegrator.h.
References d_evaluatefunction_count.
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
|
inherited |
Get a unique id hash for the vector.
get initial time step.
Definition at line 179 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_initial_dt.
Return initial integration time.
Return initial integration time.
Return current integration step number.
Return current integration step number.
Return maximum number of integration steps.
Return maximum number of integration steps.
|
overridevirtualinherited |
Return time increment for next solution advance. Timestep selection is generally based on whether the nonlinear solution iteration converged and, if so, whether the solution meets some user-defined criteria. This routine assumes that, before it is called, the routine checkNewSolution() was called. The boolean argument is the return value from that call. The integer argument is the return code generated by the nonlinear solver package that computed the solution.
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
|
protected |
|
protected |
|
protected |
|
protected |
returns the total number of timestep rejections
Definition at line 33 of file BDFIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_total_steprejects.
|
inlineinherited |
Returns the object name.
Definition at line 225 of file ImplicitIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_object_name.
|
inlineinherited |
Definition at line 246 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_operator.
|
inlinevirtualinherited |
Retrieve the current solution.
Definition at line 137 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_solution_vector.
|
inlineinherited |
Definition at line 227 of file ImplicitIntegrator.h.
References AMP::TimeIntegrator::ImplicitIntegrator::d_solver.
|
inlinevirtualinherited |
Reimplemented in AMP::TimeIntegrator::IDATimeIntegrator.
Definition at line 266 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_pSourceTerm.
|
overridevirtual |
Scaling factors for previous time history vectors.
For RK methods the previous time vector is always scaled by 1. For multistep methods this vector can consist of multiple scalings with the first entry being the scaling for $y^{n-1}$, the next being for $y^{n-2}$ etc
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
|
inlineoverridevirtual |
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
Definition at line 97 of file BDFIntegrator.h.
References d_integrator_source_vector.
Definition at line 95 of file BDFIntegrator.h.
References d_prev_solutions.
return the factor getGamma() used to scale the rhs operator
|
inlinevirtualinherited |
Definition at line 248 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_total_steprejects.
|
virtualinherited |
Initialize state of time integrator.
Initialize state of time integrator. This includes creating solution vector and initializing solver components.
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
Initialize state of time integrator. This includes creating solution vector and initializing solver components.
registering and allocation of variables
|
overridevirtual |
allows for specialization of advanceSolution for classes of time integrators
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
|
overrideprotectedvirtual |
Check the computed solution and return true if it is acceptable; otherwise return false. The integer solver_retcode is the return code generated by the nonlinear solver. This value must be interpreted in a manner consistent with the solver in use.
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
|
overrideprotectedvirtual |
Return the next time increment through which to advance the solution. The good_solution is the value returned by a call to checkNewSolution(), which determines whether the computed solution is acceptable or not. The integer solver_retcode is the return code generated by the nonlinear solver. This value must be interpreted in a manner consistant with the solver in use.
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
|
overrideprotectedvirtual |
allows for specialization of the initialization routine for classes of time integrators
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
|
overrideprotectedvirtual |
Update solution storage and dependent quantities after computing an acceptable time advanced solution. The new_time value is the new solution time.
Function overloaded from algs::ImplicitEquationStrategy.
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
|
virtualinherited |
Print out all members of integrator instance to given output stream.
|
overridevirtual |
print the statistics on the implicit equations
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
|
protected |
prints out norms of vector components calculated individually, prefix and postfix are strings that the user can customize to make the message more informational
|
inherited |
Write out state of object to given database.
When assertion checking is active, the database pointer must be non-null.
|
overridevirtual |
Register any child objects.
This function will register child objects with the manager
| manager | Restart manager |
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
|
inline |
Definition at line 82 of file BDFIntegrator.h.
References d_registerVectorForManagement.
|
overridevirtualinherited |
Registers an operator for the rhs
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
|
inlinevirtualinherited |
Registers a writer with the solver.
This function will register a writer with the solver. The solver may then register any vector components it "owns" with the writer.
| writer | The writer to register |
Definition at line 227 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_writer.
|
override |
Reset cached information that depends on the mesh configuration.
|
pure virtualinherited |
Resets the internal state of the time integrator.
Resets the internal state of the time integrator as needed. A parameter argument is passed to allow for general flexibility in determining what needs to be reset.
Implemented in AMP::TimeIntegrator::OxideTimeIntegrator, and AMP::TimeIntegrator::IDATimeIntegrator.
reset parameters so that the time integrator is ready to start at the initial time
|
inlineinherited |
Definition at line 228 of file ImplicitIntegrator.h.
References AMP::TimeIntegrator::ImplicitIntegrator::d_solver.
|
inlineinherited |
Definition at line 249 of file ImplicitIntegrator.h.
References AMP::TimeIntegrator::ImplicitIntegrator::d_fComponentScalingFnPtr.
|
inherited |
for multiphysics problems it may be necessary to scale the solution
|
inlinevirtualinherited |
Definition at line 250 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_current_dt.
|
inlinevirtualinherited |
Definition at line 254 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_current_time.
|
inlinevirtualinherited |
Definition at line 258 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_final_time.
|
inlinevirtualinherited |
Definition at line 252 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_initial_dt.
|
overridevirtual |
Set the initial guess for the time advanced solution at the start of the nonlinear iteration. The boolean argument first_step indicates whether we are at the first step on the current mesh configuration. This is true when the mesh is constructed initially and after regridding. In these cases, setting the initial iterate using extrapolation, for example, may not be possible.
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
|
inlinevirtualinherited |
Definition at line 256 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_initial_time.
Definition at line 51 of file BDFIntegrator.h.
References d_is_new_timestep.
Set solution and function scalings for multi-physics scalings automatically
|
protected |
Set flag to indicate whether regridding is taking place.
|
inlinevirtualinherited |
Definition at line 262 of file TimeIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_pSourceTerm.
|
overrideprotectedvirtual |
Reimplemented from AMP::TimeIntegrator::ImplicitIntegrator.
|
inlineinherited |
Definition at line 244 of file ImplicitIntegrator.h.
References AMP::TimeIntegrator::ImplicitIntegrator::d_fTimeScalingFnPtr.
|
inlineoverridevirtual |
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
Definition at line 93 of file BDFIntegrator.h.
References d_max_integrator_index.
|
inlineoverridevirtualinherited |
Return true if the number of integration steps performed by the integrator has not reached the specified maximum; return false otherwise.
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
Definition at line 215 of file ImplicitIntegrator.h.
References AMP::TimeIntegrator::TimeIntegrator::d_integrator_step, and AMP::TimeIntegrator::TimeIntegrator::d_max_integrator_steps.
|
inlineoverridevirtual |
Return the name of the TimeIntegrator.
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
Definition at line 102 of file BDFIntegrator.h.
Update solution (e.g., reset pointers for solution data, update dependent variables, etc.) after time advance. It is assumed that when this routine is invoked, an acceptable new solution has been computed. The double return value is the simulation time corresponding to the advanced solution.
Implements AMP::TimeIntegrator::TimeIntegrator.
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented from AMP::TimeIntegrator::TimeIntegrator.
|
protected |
time history scalings
Definition at line 318 of file BDFIntegrator.h.
|
protected |
ratio of current to previous timestep
Definition at line 359 of file BDFIntegrator.h.
enable auto scaling if true
Definition at line 431 of file BDFIntegrator.h.
|
protected |
number of steps to use bdf1 error estimator after regrid
Definition at line 402 of file BDFIntegrator.h.
|
protected |
the one step method used to start up BDF2, options are "Backward Euler" or "CN"
Definition at line 327 of file BDFIntegrator.h.
calculate time truncation error if enabled
Definition at line 473 of file BDFIntegrator.h.
boolean flag to combine different time error estimators
Definition at line 447 of file BDFIntegrator.h.
boolean to minimize the number of timestep changes in the truncation error strategy
Definition at line 450 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 350 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::getGamma(), and AMP::TimeIntegrator::TimeIntegrator::setCurrentDt().
|
protected |
the next vector will store the rhs at the current time level
Definition at line 276 of file BDFIntegrator.h.
|
protected |
keeps track of successive step acceptances
Definition at line 408 of file BDFIntegrator.h.
|
protected |
keeps track of successive step rejections at a given timestep
Definition at line 405 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 346 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::setCurrentTime().
|
protected |
max factor to cut timestep by when a timestep is rejected
Definition at line 362 of file BDFIntegrator.h.
|
protected |
upper bound on factor by which timestep can be increased
Definition at line 365 of file BDFIntegrator.h.
|
protected |
the number of timesteps after a regrid before the pi controller is enabled
Definition at line 399 of file BDFIntegrator.h.
|
protected |
counter to track number of nonlinear function calls
Definition at line 420 of file BDFIntegrator.h.
Referenced by getFunctionEvaluationCount().
|
protectedinherited |
registered callback function to set multiphysics component scalings
Definition at line 320 of file ImplicitIntegrator.h.
Referenced by AMP::TimeIntegrator::ImplicitIntegrator::setComponentScalingFunction().
|
protected |
used only with the final constant timestep scheme, counter to keep track of current step
Definition at line 435 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 345 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::setFinalTime().
|
protected |
double storing the first dt before any restart
Definition at line 356 of file BDFIntegrator.h.
the return code from the implicit solver at the current timestep
Definition at line 297 of file ImplicitIntegrator.h.
|
protectedinherited |
registered callback function to set gamma, typically when the user needs to know gamma
Definition at line 315 of file ImplicitIntegrator.h.
Referenced by AMP::TimeIntegrator::ImplicitIntegrator::setTimeScalingFunction().
|
protectedinherited |
Definition at line 287 of file ImplicitIntegrator.h.
|
protected |
factor to multiply rhs by
Definition at line 387 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 315 of file TimeIntegrator.h.
|
protectedinherited |
Definition at line 357 of file TimeIntegrator.h.
|
protected |
string for the time integrator being used, options are "Backward Euler", "BDF2", or "CN"
Definition at line 324 of file BDFIntegrator.h.
|
protectedinherited |
initial time increment
Definition at line 349 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::getInitialDt(), and AMP::TimeIntegrator::TimeIntegrator::setInitialDt().
|
protected |
initial predictor type
Definition at line 344 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 344 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::setInitialTime().
Set to true after initialization in constructors. Needed in getFromInput to avoid reseting some parameters in subsequent reset operations.
Definition at line 370 of file TimeIntegrator.h.
|
protected |
index into d_integrator_names showing what is the current integrator
Definition at line 393 of file BDFIntegrator.h.
|
protected |
names of time integrators
Definition at line 309 of file BDFIntegrator.h.
|
protected |
truncation error order for time integrators
Definition at line 303 of file BDFIntegrator.h.
|
protected |
stores linear weighted sum of previous time solutions that becomes a source term for the nonlinear system of equations
Definition at line 261 of file BDFIntegrator.h.
Referenced by getTimeHistorySourceTerm().
|
protectedinherited |
Definition at line 358 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::ImplicitIntegrator::stepsRemaining().
|
protected |
vector of previous timesteps
Definition at line 306 of file BDFIntegrator.h.
state of simulation, whether it is immediately after a regrid
Definition at line 441 of file BDFIntegrator.h.
boolean flag to determine if a new timestep has started
Definition at line 444 of file BDFIntegrator.h.
Referenced by setIsNewTimeStep().
|
protected |
Definition at line 346 of file BDFIntegrator.h.
|
protected |
Definition at line 347 of file BDFIntegrator.h.
|
protected |
records number of linear iterations at current timestep
Definition at line 417 of file BDFIntegrator.h.
|
protected |
vector to keep track of the number of linear iterations
Definition at line 288 of file BDFIntegrator.h.
whether to log statistics about time integrator
Definition at line 438 of file BDFIntegrator.h.
|
protected |
vector of vectors to store the local truncation errors for components
Definition at line 294 of file BDFIntegrator.h.
|
protectedinherited |
maximum allowable timestep (user defined)
Definition at line 355 of file TimeIntegrator.h.
|
protected |
index into d_integrator_names that shows what is the max BDF order
Definition at line 390 of file BDFIntegrator.h.
Referenced by sizeOfTimeHistory().
|
protectedinherited |
Definition at line 359 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::ImplicitIntegrator::stepsRemaining().
|
protectedinherited |
Definition at line 352 of file TimeIntegrator.h.
|
protected |
double containing t_{n+1}
Definition at line 353 of file BDFIntegrator.h.
|
protected |
records number of nonlinear iterations at current timestep
Definition at line 414 of file BDFIntegrator.h.
|
protected |
vector to keep track of the number of nonlinear iterations
Definition at line 285 of file BDFIntegrator.h.
|
protected |
used only with the final constant timestep scheme, number of initial steps to take with d_initial_dt
Definition at line 428 of file BDFIntegrator.h.
|
protected |
used only with the final constant timestep scheme, number of time intervals before the final constant timestep is attained
Definition at line 424 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 305 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::ImplicitIntegrator::getObjectName().
|
protectedinherited |
Definition at line 351 of file TimeIntegrator.h.
|
protected |
the next vector will store the old time derivative at previous time level
Definition at line 282 of file BDFIntegrator.h.
|
protectedinherited |
The operator is the right hand side operator for an explicit integrator when the time integration problem is : u_t = f(u) but in the case of implicit time integrators the operator represents u_t-f(u)
Definition at line 328 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::getOperator(), and AMP::TimeIntegrator::TimeIntegrator::registerOperator().
|
protected |
type of PI controller, current options are "H211b", "PI.4.7", and "Deadbeat"
Definition at line 334 of file BDFIntegrator.h.
|
protectedinherited |
The operator is the left hand side mass operator (for FEM formulations)
Definition at line 333 of file TimeIntegrator.h.
|
protectedinherited |
pointer to parameters
Definition at line 310 of file TimeIntegrator.h.
|
protected |
predictor to use with predictor corrector approach
Definition at line 341 of file BDFIntegrator.h.
|
protected |
the next vector will store the predictor for the next timestep
Definition at line 264 of file BDFIntegrator.h.
|
protected |
the next vector will store the old rhs at the previous time level
Definition at line 279 of file BDFIntegrator.h.
|
protected |
stores the solution vectors at previous time levels, only the number required for the time integrator to function are stored
Definition at line 257 of file BDFIntegrator.h.
Referenced by getTimeHistoryVectors().
boolean flag to keep track of successive time step rejections
Definition at line 464 of file BDFIntegrator.h.
|
protected |
truncation error estimate at previous step
Definition at line 374 of file BDFIntegrator.h.
|
protected |
fixed used defined scales for time error scaling
Definition at line 350 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 338 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::getSourceTerm(), and AMP::TimeIntegrator::TimeIntegrator::setSourceTerm().
|
protected |
Definition at line 249 of file BDFIntegrator.h.
Referenced by registerDataManagerCallback().
boolean flag to detect a call to reset immediately following restart
Definition at line 476 of file BDFIntegrator.h.
|
protected |
the next vector is used for scratch or intermediate storage for rhs
Definition at line 273 of file BDFIntegrator.h.
|
protected |
the next vector is used for scratch or intermediate storage
Definition at line 270 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 286 of file ImplicitIntegrator.h.
|
protectedinherited |
Definition at line 320 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::getSolution().
|
protectedinherited |
Definition at line 284 of file ImplicitIntegrator.h.
Referenced by AMP::TimeIntegrator::ImplicitIntegrator::getSolver(), and AMP::TimeIntegrator::ImplicitIntegrator::resetSolver().
|
protected |
convergence reason returned by solver
Definition at line 411 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 294 of file ImplicitIntegrator.h.
|
protected |
vector to keep track of whether the step is accepted
Definition at line 291 of file BDFIntegrator.h.
|
protected |
iterations becomes too large, default is 0.75 target fractional change in energy for each timestep
Definition at line 384 of file BDFIntegrator.h.
|
protected |
absolute tolerance for the truncation error based strategy
Definition at line 368 of file BDFIntegrator.h.
|
protected |
error scaling used for time local error calculations, options are "fixed_scaling" or "fixed_resolution"
Definition at line 338 of file BDFIntegrator.h.
whether it is the first step
Definition at line 299 of file ImplicitIntegrator.h.
|
protected |
relative tolerance for the truncation error based strategy
Definition at line 371 of file BDFIntegrator.h.
|
protected |
the next vector will store the current estimate for the time derivative
Definition at line 267 of file BDFIntegrator.h.
|
protected |
truncation error ratio to previous step
Definition at line 380 of file BDFIntegrator.h.
|
protected |
vector to the store the simulation times
Definition at line 300 of file BDFIntegrator.h.
|
protected |
timestep strategy to use, options are "truncationErrorStrategy" "predefined", "constant", "final_constant", "Rider-Knoll", "limit relative change"
Definition at line 331 of file BDFIntegrator.h.
|
protected |
vector to store the timesteps
Definition at line 297 of file BDFIntegrator.h.
|
protected |
keeps track of the number of timesteps after the last regrid
Definition at line 396 of file BDFIntegrator.h.
|
protected |
truncation error estimate in time over both E and T
Definition at line 377 of file BDFIntegrator.h.
|
protected |
norm type used for truncation error calculation
Definition at line 321 of file BDFIntegrator.h.
|
protectedinherited |
Definition at line 361 of file TimeIntegrator.h.
Referenced by getNumberOfStepRejections(), and AMP::TimeIntegrator::TimeIntegrator::getTotalRejectedSteps().
use an error estimator based on BDF1 for the first 3 steps during and immediately after regrid
Definition at line 461 of file BDFIntegrator.h.
boolean flag used to do constant time interpolation, used after regrids
Definition at line 467 of file BDFIntegrator.h.
boolean flag to incrementally add in predictor for very first step using forward Euler or AB2
Definition at line 457 of file BDFIntegrator.h.
boolean flag to enable or disable the use of a PI based timestep controller
Definition at line 470 of file BDFIntegrator.h.
boolean flag to use a predictor for the initial guess at each timestep
Definition at line 453 of file BDFIntegrator.h.
|
protectedinherited |
user manages time operator
Definition at line 302 of file ImplicitIntegrator.h.
|
protected |
names of variables to associate with different components of a vector
Definition at line 315 of file BDFIntegrator.h.
|
protected |
names of variables to associate with different vectors
Definition at line 312 of file BDFIntegrator.h.
boolean to ensure registerVectorsForMemoryManagement is called once
Definition at line 479 of file BDFIntegrator.h.
|
protectedinherited |
keeps track of total number of step rejections
Definition at line 364 of file TimeIntegrator.h.
Referenced by AMP::TimeIntegrator::TimeIntegrator::registerWriter().
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:45. Comments on this page |