libMesh
|
Define a class that encapsulates the details of a "generalized Euler" temporal discretization to be used in the rbOOmit framework. More...
#include <rb_temporal_discretization.h>
Public Member Functions | |
RBTemporalDiscretization () | |
Constructor. More... | |
RBTemporalDiscretization (RBTemporalDiscretization &&)=default | |
Special functions can all be defaulted for this simple class. More... | |
RBTemporalDiscretization (const RBTemporalDiscretization &)=default | |
RBTemporalDiscretization & | operator= (const RBTemporalDiscretization &)=default |
RBTemporalDiscretization & | operator= (RBTemporalDiscretization &&)=default |
virtual | ~RBTemporalDiscretization ()=default |
Real | get_delta_t () const |
Get/set delta_t, the time-step size. More... | |
void | set_delta_t (const Real delta_t_in) |
Real | get_euler_theta () const |
Get/set euler_theta, parameter that determines the temporal discretization. More... | |
void | set_euler_theta (const Real euler_theta_in) |
unsigned int | get_time_step () const |
Get/set the current time-step. More... | |
void | set_time_step (const unsigned int k) |
unsigned int | get_n_time_steps () const |
Get/set the total number of time-steps. More... | |
void | set_n_time_steps (const unsigned int K) |
Real | get_control (const unsigned int k) const |
Get/set the RHS control. More... | |
void | set_control (const std::vector< Real > &control) |
void | process_temporal_parameters_file (const std::string ¶meters_filename) |
Read in and initialize parameters from parameters_filename . More... | |
void | pull_temporal_discretization_data (RBTemporalDiscretization &other) |
Pull the temporal discretization data from other . More... | |
Private Attributes | |
Real | _delta_t |
The time-step size. More... | |
Real | _euler_theta |
The parameter that determines the generalized Euler scheme discretization that we employ. More... | |
unsigned int | _current_time_step |
The current time-step. More... | |
unsigned int | _n_time_steps |
The number of time-steps. More... | |
std::vector< Real > | _control |
The RHS control (scalar function of time). More... | |
Define a class that encapsulates the details of a "generalized Euler" temporal discretization to be used in the rbOOmit framework.
Definition at line 40 of file rb_temporal_discretization.h.
libMesh::RBTemporalDiscretization::RBTemporalDiscretization | ( | ) |
Constructor.
Definition at line 29 of file rb_temporal_discretization.C.
|
default |
Special functions can all be defaulted for this simple class.
|
default |
|
virtualdefault |
Get/set the RHS control.
Definition at line 79 of file rb_temporal_discretization.C.
References _control, and get_n_time_steps().
Referenced by libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::TransientRBEvaluation::rb_solve_again(), and libMesh::TransientRBConstruction::truth_assembly().
Real libMesh::RBTemporalDiscretization::get_delta_t | ( | ) | const |
Get/set delta_t, the time-step size.
Definition at line 36 of file rb_temporal_discretization.C.
References _delta_t.
Referenced by libMesh::RBDataSerialization::add_transient_rb_evaluation_data_to_builder(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::TransientRBConstruction::print_info(), process_temporal_parameters_file(), pull_temporal_discretization_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::TransientRBEvaluation::residual_scaling_numer(), libMesh::TransientRBConstruction::truth_assembly(), and libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm().
Real libMesh::RBTemporalDiscretization::get_euler_theta | ( | ) | const |
Get/set euler_theta, parameter that determines the temporal discretization.
Definition at line 46 of file rb_temporal_discretization.C.
References _euler_theta.
Referenced by libMesh::RBDataSerialization::add_transient_rb_evaluation_data_to_builder(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::TransientRBConstruction::print_info(), process_temporal_parameters_file(), pull_temporal_discretization_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::TransientRBConstruction::truth_assembly(), and libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm().
unsigned int libMesh::RBTemporalDiscretization::get_n_time_steps | ( | ) | const |
Get/set the total number of time-steps.
Definition at line 68 of file rb_temporal_discretization.C.
References _n_time_steps.
Referenced by libMesh::RBDataSerialization::add_transient_rb_evaluation_data_to_builder(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::enrich_RB_space(), get_control(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::TransientRBConstruction::print_info(), process_temporal_parameters_file(), pull_temporal_discretization_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::TransientRBEvaluation::rb_solve_again(), set_time_step(), and libMesh::TransientRBConstruction::truth_solve().
unsigned int libMesh::RBTemporalDiscretization::get_time_step | ( | ) | const |
Get/set the current time-step.
Definition at line 57 of file rb_temporal_discretization.C.
References _current_time_step.
Referenced by libMesh::RBDataSerialization::add_transient_rb_evaluation_data_to_builder(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::TransientRBConstruction::get_error_temporal_data(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::TransientRBConstruction::load_rb_solution(), pull_temporal_discretization_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::TransientRBConstruction::set_error_temporal_data(), and libMesh::TransientRBConstruction::truth_assembly().
|
default |
|
default |
void libMesh::RBTemporalDiscretization::process_temporal_parameters_file | ( | const std::string & | parameters_filename | ) |
Read in and initialize parameters from parameters_filename
.
Definition at line 93 of file rb_temporal_discretization.C.
References get_delta_t(), get_euler_theta(), get_n_time_steps(), libMesh::Real, set_delta_t(), set_euler_theta(), set_n_time_steps(), and set_time_step().
Referenced by libMesh::TransientRBConstruction::process_parameters_file().
void libMesh::RBTemporalDiscretization::pull_temporal_discretization_data | ( | RBTemporalDiscretization & | other | ) |
Pull the temporal discretization data from other
.
Definition at line 110 of file rb_temporal_discretization.C.
References _control, get_delta_t(), get_euler_theta(), get_n_time_steps(), get_time_step(), set_control(), set_delta_t(), set_euler_theta(), set_n_time_steps(), and set_time_step().
Referenced by libMesh::TransientRBConstruction::process_parameters_file().
void libMesh::RBTemporalDiscretization::set_control | ( | const std::vector< Real > & | control | ) |
Definition at line 85 of file rb_temporal_discretization.C.
References _control, and _n_time_steps.
Referenced by pull_temporal_discretization_data().
void libMesh::RBTemporalDiscretization::set_delta_t | ( | const Real | delta_t_in | ) |
Definition at line 41 of file rb_temporal_discretization.C.
References _delta_t.
Referenced by libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBDataDeserialization::load_transient_rb_evaluation_data(), process_temporal_parameters_file(), and pull_temporal_discretization_data().
void libMesh::RBTemporalDiscretization::set_euler_theta | ( | const Real | euler_theta_in | ) |
Definition at line 51 of file rb_temporal_discretization.C.
References _euler_theta, and libMesh::libmesh_assert().
Referenced by libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBDataDeserialization::load_transient_rb_evaluation_data(), process_temporal_parameters_file(), and pull_temporal_discretization_data().
void libMesh::RBTemporalDiscretization::set_n_time_steps | ( | const unsigned int | K | ) |
Definition at line 73 of file rb_temporal_discretization.C.
References _control, and _n_time_steps.
Referenced by libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBDataDeserialization::load_transient_rb_evaluation_data(), process_temporal_parameters_file(), and pull_temporal_discretization_data().
void libMesh::RBTemporalDiscretization::set_time_step | ( | const unsigned int | k | ) |
Definition at line 62 of file rb_temporal_discretization.C.
References _current_time_step, and get_n_time_steps().
Referenced by libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBDataDeserialization::load_transient_rb_evaluation_data(), process_temporal_parameters_file(), pull_temporal_discretization_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::TransientRBEvaluation::rb_solve_again(), and libMesh::TransientRBConstruction::truth_solve().
|
private |
The RHS control (scalar function of time).
A function h(t) that is used in the RHS as h(t)*f(x, \( \mu \)). See Martin Grepl's thesis
Definition at line 130 of file rb_temporal_discretization.h.
Referenced by get_control(), pull_temporal_discretization_data(), set_control(), and set_n_time_steps().
|
private |
The current time-step.
Definition at line 118 of file rb_temporal_discretization.h.
Referenced by get_time_step(), and set_time_step().
|
private |
The time-step size.
Definition at line 104 of file rb_temporal_discretization.h.
Referenced by get_delta_t(), and set_delta_t().
|
private |
The parameter that determines the generalized Euler scheme discretization that we employ.
euler_theta = 0 —> Forward Euler euler_theta = 0.5 —> Crank-Nicolson euler_theta = 1 —> Backward Euler
Definition at line 113 of file rb_temporal_discretization.h.
Referenced by get_euler_theta(), and set_euler_theta().
|
private |
The number of time-steps.
Definition at line 123 of file rb_temporal_discretization.h.
Referenced by get_n_time_steps(), set_control(), and set_n_time_steps().