libMesh::TransientRBEvaluation Class Reference

#include <transient_rb_evaluation.h>

Inheritance diagram for libMesh::TransientRBEvaluation:

Public Types

typedef RBEvaluation Parent
 

Public Member Functions

 TransientRBEvaluation (const Parallel::Communicator &comm_in)
 
 ~TransientRBEvaluation ()
 
virtual void clear () override
 
virtual void resize_data_structures (const unsigned int Nmax, bool resize_error_bound_data=true) override
 
virtual Real rb_solve (unsigned int N) override
 
virtual Real rb_solve_again ()
 
virtual Real get_error_bound_normalization () override
 
virtual Real residual_scaling_numer (Real alpha_LB)
 
virtual Real compute_residual_dual_norm (const unsigned int N) override
 
virtual Real uncached_compute_residual_dual_norm (const unsigned int N)
 
void cache_online_residual_terms (const unsigned int N)
 
virtual void clear_riesz_representors () override
 
virtual void legacy_write_offline_data_to_files (const std::string &directory_name="offline_data", const bool write_binary_data=true) override
 
virtual void legacy_read_offline_data_from_files (const std::string &directory_name="offline_data", bool read_error_bound_data=true, const bool read_binary_data=true) override
 
void set_rb_theta_expansion (RBThetaExpansion &rb_theta_expansion_in)
 
RBThetaExpansionget_rb_theta_expansion ()
 
bool is_rb_theta_expansion_initialized () const
 
NumericVector< Number > & get_basis_function (unsigned int i)
 
virtual Real residual_scaling_denom (Real alpha_LB)
 
Real eval_output_dual_norm (unsigned int n, const RBParameters &mu)
 
virtual Real get_stability_lower_bound ()
 
virtual unsigned int get_n_basis_functions () const
 
virtual void set_n_basis_functions (unsigned int n_bfs)
 
virtual void write_out_basis_functions (System &sys, const std::string &directory_name="offline_data", const bool write_binary_basis_functions=true)
 
virtual void write_out_vectors (System &sys, std::vector< NumericVector< Number > *> &vectors, const std::string &directory_name="offline_data", const std::string &data_name="bf", const bool write_binary_basis_functions=true)
 
virtual void read_in_basis_functions (System &sys, const std::string &directory_name="offline_data", const bool read_binary_basis_functions=true)
 
void read_in_vectors (System &sys, std::vector< std::unique_ptr< NumericVector< Number >>> &vectors, const std::string &directory_name, const std::string &data_name, const bool read_binary_vectors)
 
void read_in_vectors_from_multiple_files (System &sys, std::vector< std::vector< std::unique_ptr< NumericVector< Number >>> *> multiple_vectors, const std::vector< std::string > &multiple_directory_names, const std::vector< std::string > &multiple_data_names, const bool read_binary_vectors)
 
void initialize_parameters (const RBParameters &mu_min_in, const RBParameters &mu_max_in, const std::map< std::string, std::vector< Real >> &discrete_parameter_values)
 
void initialize_parameters (const RBParametrized &rb_parametrized)
 
unsigned int get_n_params () const
 
unsigned int get_n_continuous_params () const
 
unsigned int get_n_discrete_params () const
 
std::set< std::string > get_parameter_names () const
 
const RBParametersget_parameters () const
 
void set_parameters (const RBParameters &params)
 
const RBParametersget_parameters_min () const
 
const RBParametersget_parameters_max () const
 
Real get_parameter_min (const std::string &param_name) const
 
Real get_parameter_max (const std::string &param_name) const
 
void print_parameters () const
 
void write_parameter_data_to_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool write_binary_data)
 
void read_parameter_data_from_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool read_binary_data)
 
bool is_discrete_parameter (const std::string &mu_name) const
 
const std::map< std::string, std::vector< Real > > & get_discrete_parameter_values () const
 
void print_discrete_parameter_values () const
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
Real get_delta_t () const
 
void set_delta_t (const Real delta_t_in)
 
Real get_euler_theta () const
 
void set_euler_theta (const Real euler_theta_in)
 
unsigned int get_time_step () const
 
void set_time_step (const unsigned int k)
 
unsigned int get_n_time_steps () const
 
void set_n_time_steps (const unsigned int K)
 
Real get_control (const unsigned int k) const
 
void set_control (const std::vector< Real > &control)
 
void process_temporal_parameters_file (const std::string &parameters_filename)
 
void pull_temporal_discretization_data (RBTemporalDiscretization &other)
 

Static Public Member Functions

static Real get_closest_value (Real value, const std::vector< Real > &list_of_values)
 
static std::string get_info ()
 
static void print_info (std::ostream &out=libMesh::out)
 
static unsigned int n_objects ()
 
static void enable_print_counter_info ()
 
static void disable_print_counter_info ()
 

Public Attributes

DenseMatrix< NumberRB_L2_matrix
 
DenseMatrix< NumberRB_LHS_matrix
 
DenseMatrix< NumberRB_RHS_matrix
 
DenseVector< NumberRB_RHS_save
 
std::vector< DenseMatrix< Number > > RB_M_q_vector
 
std::vector< std::vector< Number > > RB_outputs_all_k
 
std::vector< std::vector< Real > > RB_output_error_bounds_all_k
 
DenseVector< Numberold_RB_solution
 
std::vector< DenseVector< Number > > RB_temporal_solution_data
 
std::vector< Realerror_bound_all_k
 
std::vector< Realinitial_L2_error_all_N
 
std::vector< DenseVector< Number > > RB_initial_condition_all_N
 
std::vector< std::vector< std::vector< Number > > > Fq_Mq_representor_innerprods
 
std::vector< std::vector< std::vector< Number > > > Mq_Mq_representor_innerprods
 
std::vector< std::vector< std::vector< std::vector< Number > > > > Aq_Mq_representor_innerprods
 
Number cached_Fq_term
 
DenseVector< Numbercached_Fq_Aq_vector
 
DenseMatrix< Numbercached_Aq_Aq_matrix
 
DenseVector< Numbercached_Fq_Mq_vector
 
DenseMatrix< Numbercached_Aq_Mq_matrix
 
DenseMatrix< Numbercached_Mq_Mq_matrix
 
std::vector< std::vector< std::unique_ptr< NumericVector< Number > > > > M_q_representor
 
bool _rb_solve_data_cached
 
std::vector< std::unique_ptr< NumericVector< Number > > > basis_functions
 
std::vector< RBParametersgreedy_param_list
 
DenseMatrix< NumberRB_inner_product_matrix
 
std::vector< DenseMatrix< Number > > RB_Aq_vector
 
std::vector< DenseVector< Number > > RB_Fq_vector
 
DenseVector< NumberRB_solution
 
std::vector< std::vector< DenseVector< Number > > > RB_output_vectors
 
std::vector< NumberRB_outputs
 
std::vector< RealRB_output_error_bounds
 
std::vector< NumberFq_representor_innerprods
 
std::vector< std::vector< std::vector< Number > > > Fq_Aq_representor_innerprods
 
std::vector< std::vector< std::vector< Number > > > Aq_Aq_representor_innerprods
 
std::vector< std::vector< Number > > output_dual_innerprods
 
std::vector< std::vector< std::unique_ptr< NumericVector< Number > > > > Aq_representor
 
bool evaluate_RB_error_bound
 
bool compute_RB_inner_product
 
bool verbose_mode
 

Protected Types

typedef std::map< std::string, std::pair< unsigned int, unsigned int > > Counts
 

Protected Member Functions

void assert_file_exists (const std::string &file_name)
 
void increment_constructor_count (const std::string &name)
 
void increment_destructor_count (const std::string &name)
 

Protected Attributes

const Parallel::Communicator_communicator
 

Static Protected Attributes

static Counts _counts
 
static Threads::atomic< unsigned int > _n_objects
 
static Threads::spin_mutex _mutex
 
static bool _enable_print_counter = true
 

Detailed Description

This class is part of the rbOOmit framework.

TransientRBEvaluation extends RBEvaluation to encapsulate the code and data required to perform "online" RB evaluations for Linear Time Invariant (LTI) transient problems.

We can handle time controls on the RHS as h(t)*f(x, $ \mu $). See Martin Grepl's thesis for more details.

Author
David J. Knezevic
Date
2011

Definition at line 50 of file transient_rb_evaluation.h.

Member Typedef Documentation

◆ Counts

typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts
protectedinherited

Data structure to log the information. The log is identified by the class name.

Definition at line 117 of file reference_counter.h.

◆ Parent

The type of the parent.

Definition at line 67 of file transient_rb_evaluation.h.

Constructor & Destructor Documentation

◆ TransientRBEvaluation()

libMesh::TransientRBEvaluation::TransientRBEvaluation ( const Parallel::Communicator comm_in)

Constructor.

◆ ~TransientRBEvaluation()

libMesh::TransientRBEvaluation::~TransientRBEvaluation ( )

Destructor.

Member Function Documentation

◆ assert_file_exists()

void libMesh::RBEvaluation::assert_file_exists ( const std::string &  file_name)
protectedinherited

Helper function that checks if file_name exists.

◆ cache_online_residual_terms()

void libMesh::TransientRBEvaluation::cache_online_residual_terms ( const unsigned int  N)

Helper function for caching the terms in the online residual assembly that do not change in time. (This is only useful when the parameter is fixed in time.)

◆ clear()

virtual void libMesh::TransientRBEvaluation::clear ( )
overridevirtual

Clear this TransientRBEvaluation object. Override to also clear the M_q representors

Reimplemented from libMesh::RBEvaluation.

◆ clear_riesz_representors()

virtual void libMesh::TransientRBEvaluation::clear_riesz_representors ( )
overridevirtual

Clear all the Riesz representors that are used to compute the RB residual (and hence error bound). This is useful since once we complete the Greedy we may not need the representors any more. Override to clear the M_q representors.

Reimplemented from libMesh::RBEvaluation.

◆ comm()

const Parallel::Communicator& libMesh::ParallelObject::comm ( ) const
inlineinherited
Returns
A reference to the Parallel::Communicator object used by this mesh.

Definition at line 89 of file parallel_object.h.

References libMesh::ParallelObject::_communicator.

Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::ImplicitSystem::add_matrix(), libMesh::System::add_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::DofMap::attach_matrix(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), libMesh::MeshBase::cache_elem_dims(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::PetscDMWrapper::check_section_n_dofs(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::MeshTools::create_nodal_bounding_box(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshTools::create_subdomain_bounding_box(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::EigenSystem::init_data(), libMesh::EigenSystem::init_matrices(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::FEMSystem::mesh_position_set(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_n_elem(), libMesh::DistributedMesh::parallel_n_nodes(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::MeshTools::paranoid_n_levels(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::prepare_for_use(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::split_mesh(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().

90  { return _communicator; }
const Parallel::Communicator & _communicator

◆ compute_residual_dual_norm()

virtual Real libMesh::TransientRBEvaluation::compute_residual_dual_norm ( const unsigned int  N)
overridevirtual

Compute the dual norm of the residual for the solution saved in RB_solution. This function uses the cached time-independent data.

Reimplemented from libMesh::RBEvaluation.

◆ disable_print_counter_info()

void libMesh::ReferenceCounter::disable_print_counter_info ( )
staticinherited

Definition at line 106 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter.

Referenced by libMesh::LibMeshInit::LibMeshInit().

107 {
108  _enable_print_counter = false;
109  return;
110 }

◆ enable_print_counter_info()

void libMesh::ReferenceCounter::enable_print_counter_info ( )
staticinherited

Methods to enable/disable the reference counter output from print_info()

Definition at line 100 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter.

101 {
102  _enable_print_counter = true;
103  return;
104 }

◆ eval_output_dual_norm()

Real libMesh::RBEvaluation::eval_output_dual_norm ( unsigned int  n,
const RBParameters mu 
)
inherited

Evaluate the dual norm of output n for the current parameters.

◆ get_basis_function()

NumericVector<Number>& libMesh::RBEvaluation::get_basis_function ( unsigned int  i)
inherited

Get a reference to the i^th basis function.

◆ get_closest_value()

static Real libMesh::RBParametrized::get_closest_value ( Real  value,
const std::vector< Real > &  list_of_values 
)
staticinherited
Returns
The closest entry to value from list_of_values.

◆ get_control()

Real libMesh::RBTemporalDiscretization::get_control ( const unsigned int  k) const
inherited

Get/set the RHS control.

◆ get_delta_t()

Real libMesh::RBTemporalDiscretization::get_delta_t ( ) const
inherited

Get/set delta_t, the time-step size.

◆ get_discrete_parameter_values()

const std::map<std::string, std::vector<Real> >& libMesh::RBParametrized::get_discrete_parameter_values ( ) const
inherited

Get a const reference to the discrete parameter values.

◆ get_error_bound_normalization()

virtual Real libMesh::TransientRBEvaluation::get_error_bound_normalization ( )
overridevirtual
Returns
A scaling factor that we can use to provide a consistent scaling of the RB error bound across different parameter values.

Reimplemented from libMesh::RBEvaluation.

◆ get_euler_theta()

Real libMesh::RBTemporalDiscretization::get_euler_theta ( ) const
inherited

Get/set euler_theta, parameter that determines the temporal discretization.

◆ get_info()

std::string libMesh::ReferenceCounter::get_info ( )
staticinherited

Gets a string containing the reference information.

Definition at line 47 of file reference_counter.C.

References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().

Referenced by libMesh::ReferenceCounter::print_info().

48 {
49 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
50 
51  std::ostringstream oss;
52 
53  oss << '\n'
54  << " ---------------------------------------------------------------------------- \n"
55  << "| Reference count information |\n"
56  << " ---------------------------------------------------------------------------- \n";
57 
58  for (const auto & pr : _counts)
59  {
60  const std::string name(pr.first);
61  const unsigned int creations = pr.second.first;
62  const unsigned int destructions = pr.second.second;
63 
64  oss << "| " << name << " reference count information:\n"
65  << "| Creations: " << creations << '\n'
66  << "| Destructions: " << destructions << '\n';
67  }
68 
69  oss << " ---------------------------------------------------------------------------- \n";
70 
71  return oss.str();
72 
73 #else
74 
75  return "";
76 
77 #endif
78 }
std::string name(const ElemQuality q)
Definition: elem_quality.C:42

◆ get_n_basis_functions()

virtual unsigned int libMesh::RBEvaluation::get_n_basis_functions ( ) const
inlinevirtualinherited

Get the current number of basis functions.

Definition at line 146 of file rb_evaluation.h.

References libMesh::RBEvaluation::basis_functions.

147  { return cast_int<unsigned int>(basis_functions.size()); }
std::vector< std::unique_ptr< NumericVector< Number > > > basis_functions

◆ get_n_continuous_params()

unsigned int libMesh::RBParametrized::get_n_continuous_params ( ) const
inherited

Get the number of continuous parameters.

◆ get_n_discrete_params()

unsigned int libMesh::RBParametrized::get_n_discrete_params ( ) const
inherited

Get the number of discrete parameters.

◆ get_n_params()

unsigned int libMesh::RBParametrized::get_n_params ( ) const
inherited

Get the number of parameters.

◆ get_n_time_steps()

unsigned int libMesh::RBTemporalDiscretization::get_n_time_steps ( ) const
inherited

Get/set the total number of time-steps.

◆ get_parameter_max()

Real libMesh::RBParametrized::get_parameter_max ( const std::string &  param_name) const
inherited

Get maximum allowable value of parameter param_name.

◆ get_parameter_min()

Real libMesh::RBParametrized::get_parameter_min ( const std::string &  param_name) const
inherited

Get minimum allowable value of parameter param_name.

◆ get_parameter_names()

std::set<std::string> libMesh::RBParametrized::get_parameter_names ( ) const
inherited

Get a set that stores the parameter names.

◆ get_parameters()

const RBParameters& libMesh::RBParametrized::get_parameters ( ) const
inherited

Get the current parameters.

◆ get_parameters_max()

const RBParameters& libMesh::RBParametrized::get_parameters_max ( ) const
inherited

Get an RBParameters object that specifies the maximum allowable value for each parameter.

◆ get_parameters_min()

const RBParameters& libMesh::RBParametrized::get_parameters_min ( ) const
inherited

Get an RBParameters object that specifies the minimum allowable value for each parameter.

◆ get_rb_theta_expansion()

RBThetaExpansion& libMesh::RBEvaluation::get_rb_theta_expansion ( )
inherited

Get a reference to the rb_theta_expansion.

◆ get_stability_lower_bound()

virtual Real libMesh::RBEvaluation::get_stability_lower_bound ( )
virtualinherited

Get a lower bound for the stability constant (e.g. coercivity constant or inf-sup constant) at the current parameter value.

◆ get_time_step()

unsigned int libMesh::RBTemporalDiscretization::get_time_step ( ) const
inherited

Get/set the current time-step.

◆ increment_constructor_count()

void libMesh::ReferenceCounter::increment_constructor_count ( const std::string &  name)
inlineprotectedinherited

Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.

Definition at line 181 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.

Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().

182 {
183  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
184  std::pair<unsigned int, unsigned int> & p = _counts[name];
185 
186  p.first++;
187 }
std::string name(const ElemQuality q)
Definition: elem_quality.C:42
spin_mutex spin_mtx
Definition: threads.C:29

◆ increment_destructor_count()

void libMesh::ReferenceCounter::increment_destructor_count ( const std::string &  name)
inlineprotectedinherited

Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.

Definition at line 194 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.

Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().

195 {
196  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
197  std::pair<unsigned int, unsigned int> & p = _counts[name];
198 
199  p.second++;
200 }
std::string name(const ElemQuality q)
Definition: elem_quality.C:42
spin_mutex spin_mtx
Definition: threads.C:29

◆ initialize_parameters() [1/2]

void libMesh::RBParametrized::initialize_parameters ( const RBParameters mu_min_in,
const RBParameters mu_max_in,
const std::map< std::string, std::vector< Real >> &  discrete_parameter_values 
)
inherited

Initialize the parameter ranges and set current_parameters.

◆ initialize_parameters() [2/2]

void libMesh::RBParametrized::initialize_parameters ( const RBParametrized rb_parametrized)
inherited

Initialize the parameter ranges and set current_parameters.

◆ is_discrete_parameter()

bool libMesh::RBParametrized::is_discrete_parameter ( const std::string &  mu_name) const
inherited

Is parameter mu_name discrete?

◆ is_rb_theta_expansion_initialized()

bool libMesh::RBEvaluation::is_rb_theta_expansion_initialized ( ) const
inherited
Returns
true if the theta expansion has been initialized.

◆ legacy_read_offline_data_from_files()

virtual void libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files ( const std::string &  directory_name = "offline_data",
bool  read_error_bound_data = true,
const bool  read_binary_data = true 
)
overridevirtual

Read in the saved Offline reduced basis data to initialize the system for Online solves.

Note
This is a legacy method, use RBDataSerialization instead.

Reimplemented from libMesh::RBEvaluation.

◆ legacy_write_offline_data_to_files()

virtual void libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files ( const std::string &  directory_name = "offline_data",
const bool  write_binary_data = true 
)
overridevirtual

Write out all the data to text files in order to segregate the Offline stage from the Online stage.

Note
This is a legacy method, use RBDataSerialization instead.

Reimplemented from libMesh::RBEvaluation.

◆ n_objects()

static unsigned int libMesh::ReferenceCounter::n_objects ( )
inlinestaticinherited

Prints the number of outstanding (created, but not yet destroyed) objects.

Definition at line 83 of file reference_counter.h.

References libMesh::ReferenceCounter::_n_objects.

84  { return _n_objects; }
static Threads::atomic< unsigned int > _n_objects

◆ n_processors()

processor_id_type libMesh::ParallelObject::n_processors ( ) const
inlineinherited
Returns
The number of processors in the group.

Definition at line 95 of file parallel_object.h.

References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::size().

Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assembly(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::EnsightIO::EnsightIO(), libMesh::MeshBase::get_info(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::n_active_elem_on_proc(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::MeshBase::partition(), libMesh::PetscLinearSolver< T >::PetscLinearSolver(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().

96  { return cast_int<processor_id_type>(_communicator.size()); }
processor_id_type size() const
Definition: communicator.h:175
const Parallel::Communicator & _communicator

◆ print_discrete_parameter_values()

void libMesh::RBParametrized::print_discrete_parameter_values ( ) const
inherited

Print out all the discrete parameter values.

◆ print_info()

void libMesh::ReferenceCounter::print_info ( std::ostream &  out = libMesh::out)
staticinherited

Prints the reference information, by default to libMesh::out.

Definition at line 87 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().

88 {
90  out_stream << ReferenceCounter::get_info();
91 }
static std::string get_info()

◆ print_parameters()

void libMesh::RBParametrized::print_parameters ( ) const
inherited

Print the current parameters.

◆ process_temporal_parameters_file()

void libMesh::RBTemporalDiscretization::process_temporal_parameters_file ( const std::string &  parameters_filename)
inherited

Read in and initialize parameters from parameters_filename.

◆ processor_id()

processor_id_type libMesh::ParallelObject::processor_id ( ) const
inlineinherited
Returns
The rank of this processor in the group.

Definition at line 101 of file parallel_object.h.

References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::rank().

Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::EquationSystems::_read_impl(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::FEMSystem::assembly(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::ExodusII_IO_Helper::close(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_communication_map_parameters(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMap::first_dof(), libMesh::DofMap::first_old_dof(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::Nemesis_IO_Helper::get_elem_map(), libMesh::MeshBase::get_info(), libMesh::DofMap::get_info(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::SystemSubsetBySubdomain::init(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::ExodusII_IO_Helper::initialize_global_variables(), libMesh::ExodusII_IO_Helper::initialize_nodal_variables(), libMesh::DistributedMesh::insert_elem(), libMesh::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::DofMap::last_dof(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMap::n_local_dofs(), libMesh::System::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::SparsityPattern::Build::operator()(), libMesh::DistributedMesh::own_node(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::Nemesis_IO_Helper::put_cmap_params(), libMesh::Nemesis_IO_Helper::put_elem_cmap(), libMesh::Nemesis_IO_Helper::put_elem_map(), libMesh::Nemesis_IO_Helper::put_loadbal_param(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Nemesis_IO_Helper::put_node_map(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::System::read_serialized_data(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::Parallel::Packing< T >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO::write_global_data(), libMesh::ExodusII_IO_Helper::write_global_values(), libMesh::System::write_header(), libMesh::ExodusII_IO::write_information_records(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::UCDIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::System::write_serialized_data(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::XdrIO::write_serialized_subdomain_names(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), libMesh::ExodusII_IO_Helper::write_timestep(), and libMesh::ExodusII_IO::write_timestep_discontinuous().

102  { return cast_int<processor_id_type>(_communicator.rank()); }
const Parallel::Communicator & _communicator
processor_id_type rank() const
Definition: communicator.h:173

◆ pull_temporal_discretization_data()

void libMesh::RBTemporalDiscretization::pull_temporal_discretization_data ( RBTemporalDiscretization other)
inherited

Pull the temporal discretization data from other.

◆ rb_solve()

virtual Real libMesh::TransientRBEvaluation::rb_solve ( unsigned int  N)
overridevirtual

Perform online solve for current_params with the N basis functions. Overridden to perform a time-dependent solve.

Reimplemented from libMesh::RBEvaluation.

◆ rb_solve_again()

virtual Real libMesh::TransientRBEvaluation::rb_solve_again ( )
virtual

If a solve has already been performed, then we cached some data and we can perform a new solve much more rapidly (with the same parameters but a possibly different initial condition/rhs control).

◆ read_in_basis_functions()

virtual void libMesh::RBEvaluation::read_in_basis_functions ( System sys,
const std::string &  directory_name = "offline_data",
const bool  read_binary_basis_functions = true 
)
virtualinherited

Read in all the basis functions from file.

Parameters
sysUsed for file IO.
directory_nameSpecifies which directory to write files to.
read_binary_basis_functionsIndicates whether to expect binary or ASCII data.

◆ read_in_vectors()

void libMesh::RBEvaluation::read_in_vectors ( System sys,
std::vector< std::unique_ptr< NumericVector< Number >>> &  vectors,
const std::string &  directory_name,
const std::string &  data_name,
const bool  read_binary_vectors 
)
inherited

Same as read_in_basis_functions, except in this case we pass in the vectors to be written. We assume that the size of vectors indicates the number of vectors that need to be read in.

◆ read_in_vectors_from_multiple_files()

void libMesh::RBEvaluation::read_in_vectors_from_multiple_files ( System sys,
std::vector< std::vector< std::unique_ptr< NumericVector< Number >>> *>  multiple_vectors,
const std::vector< std::string > &  multiple_directory_names,
const std::vector< std::string > &  multiple_data_names,
const bool  read_binary_vectors 
)
inherited

Performs read_in_vectors for a list of directory names and data names. Reading in vectors requires us to renumber the dofs in a partition-independent way. This function only renumbers the dofs once at the start (and reverts it at the end), which can save a lot of work compared to renumbering on every read.

◆ read_parameter_data_from_files()

void libMesh::RBParametrized::read_parameter_data_from_files ( const std::string &  continuous_param_file_name,
const std::string &  discrete_param_file_name,
const bool  read_binary_data 
)
inherited

Read in the parameter ranges from files.

◆ residual_scaling_denom()

virtual Real libMesh::RBEvaluation::residual_scaling_denom ( Real  alpha_LB)
virtualinherited

Specifies the residual scaling on the denominator to be used in the a posteriori error bound. Override in subclass in order to obtain the desired error bound.

◆ residual_scaling_numer()

virtual Real libMesh::TransientRBEvaluation::residual_scaling_numer ( Real  alpha_LB)
virtual

Specifies the residual scaling on the numerator to be used in the a posteriori error bound. Override in subclass in order to obtain the desired error bound.

◆ resize_data_structures()

virtual void libMesh::TransientRBEvaluation::resize_data_structures ( const unsigned int  Nmax,
bool  resize_error_bound_data = true 
)
overridevirtual

Resize and clear the data vectors corresponding to the value of Nmax. Optionally resize the data structures required for the error bound. Overridden to resize data relevant in the time-dependent case.

Reimplemented from libMesh::RBEvaluation.

◆ set_control()

void libMesh::RBTemporalDiscretization::set_control ( const std::vector< Real > &  control)
inherited

◆ set_delta_t()

void libMesh::RBTemporalDiscretization::set_delta_t ( const Real  delta_t_in)
inherited

◆ set_euler_theta()

void libMesh::RBTemporalDiscretization::set_euler_theta ( const Real  euler_theta_in)
inherited

◆ set_n_basis_functions()

virtual void libMesh::RBEvaluation::set_n_basis_functions ( unsigned int  n_bfs)
virtualinherited

Set the number of basis functions. Useful when reading in stored data.

◆ set_n_time_steps()

void libMesh::RBTemporalDiscretization::set_n_time_steps ( const unsigned int  K)
inherited

◆ set_parameters()

void libMesh::RBParametrized::set_parameters ( const RBParameters params)
inherited

Set the current parameters to params

◆ set_rb_theta_expansion()

void libMesh::RBEvaluation::set_rb_theta_expansion ( RBThetaExpansion rb_theta_expansion_in)
inherited

Set the RBThetaExpansion object.

◆ set_time_step()

void libMesh::RBTemporalDiscretization::set_time_step ( const unsigned int  k)
inherited

◆ uncached_compute_residual_dual_norm()

virtual Real libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm ( const unsigned int  N)
virtual

Compute the dual norm of the residual for the solution saved in RB_solution. This function does not used the cached data and therefore also works when the parameter changes as a function of time.

◆ write_out_basis_functions()

virtual void libMesh::RBEvaluation::write_out_basis_functions ( System sys,
const std::string &  directory_name = "offline_data",
const bool  write_binary_basis_functions = true 
)
virtualinherited

Write out all the basis functions to file. sys is used for file IO directory_name specifies which directory to write files to read_binary_basis_functions indicates whether to expect binary or ASCII data

◆ write_out_vectors()

virtual void libMesh::RBEvaluation::write_out_vectors ( System sys,
std::vector< NumericVector< Number > *> &  vectors,
const std::string &  directory_name = "offline_data",
const std::string &  data_name = "bf",
const bool  write_binary_basis_functions = true 
)
virtualinherited

Same as write_out_basis_functions, except in this case we pass in the vectors to be written.

◆ write_parameter_data_to_files()

void libMesh::RBParametrized::write_parameter_data_to_files ( const std::string &  continuous_param_file_name,
const std::string &  discrete_param_file_name,
const bool  write_binary_data 
)
inherited

Write out the parameter ranges to files.

Member Data Documentation

◆ _communicator

◆ _counts

ReferenceCounter::Counts libMesh::ReferenceCounter::_counts
staticprotectedinherited

◆ _enable_print_counter

bool libMesh::ReferenceCounter::_enable_print_counter = true
staticprotectedinherited

Flag to control whether reference count information is printed when print_info is called.

Definition at line 141 of file reference_counter.h.

Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().

◆ _mutex

Threads::spin_mutex libMesh::ReferenceCounter::_mutex
staticprotectedinherited

Mutual exclusion object to enable thread-safe reference counting.

Definition at line 135 of file reference_counter.h.

◆ _n_objects

Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects
staticprotectedinherited

The number of objects. Print the reference count information when the number returns to 0.

Definition at line 130 of file reference_counter.h.

Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().

◆ _rb_solve_data_cached

bool libMesh::TransientRBEvaluation::_rb_solve_data_cached

Check that the data has been cached in case of using rb_solve_again

Definition at line 249 of file transient_rb_evaluation.h.

◆ Aq_Aq_representor_innerprods

std::vector<std::vector<std::vector<Number> > > libMesh::RBEvaluation::Aq_Aq_representor_innerprods
inherited

Definition at line 301 of file rb_evaluation.h.

◆ Aq_Mq_representor_innerprods

std::vector<std::vector<std::vector<std::vector<Number> > > > libMesh::TransientRBEvaluation::Aq_Mq_representor_innerprods

Definition at line 226 of file transient_rb_evaluation.h.

◆ Aq_representor

std::vector<std::vector<std::unique_ptr<NumericVector<Number> > > > libMesh::RBEvaluation::Aq_representor
inherited

Vector storing the residual representors associated with the left-hand side. These are basis dependent and hence stored here, whereas the Fq_representors are stored in RBSystem.

Definition at line 317 of file rb_evaluation.h.

◆ basis_functions

std::vector<std::unique_ptr<NumericVector<Number> > > libMesh::RBEvaluation::basis_functions
inherited

The libMesh vectors storing the finite element coefficients of the RB basis functions.

Definition at line 242 of file rb_evaluation.h.

Referenced by libMesh::RBEvaluation::get_n_basis_functions().

◆ cached_Aq_Aq_matrix

DenseMatrix<Number> libMesh::TransientRBEvaluation::cached_Aq_Aq_matrix

Definition at line 235 of file transient_rb_evaluation.h.

◆ cached_Aq_Mq_matrix

DenseMatrix<Number> libMesh::TransientRBEvaluation::cached_Aq_Mq_matrix

Definition at line 237 of file transient_rb_evaluation.h.

◆ cached_Fq_Aq_vector

DenseVector<Number> libMesh::TransientRBEvaluation::cached_Fq_Aq_vector

Definition at line 234 of file transient_rb_evaluation.h.

◆ cached_Fq_Mq_vector

DenseVector<Number> libMesh::TransientRBEvaluation::cached_Fq_Mq_vector

Definition at line 236 of file transient_rb_evaluation.h.

◆ cached_Fq_term

Number libMesh::TransientRBEvaluation::cached_Fq_term

Cached residual terms. These can be used to accelerate residual calculations when we have an LTI system.

Definition at line 233 of file transient_rb_evaluation.h.

◆ cached_Mq_Mq_matrix

DenseMatrix<Number> libMesh::TransientRBEvaluation::cached_Mq_Mq_matrix

Definition at line 238 of file transient_rb_evaluation.h.

◆ compute_RB_inner_product

bool libMesh::RBEvaluation::compute_RB_inner_product
inherited

Boolean flag to indicate whether we compute the RB_inner_product_matrix.

Definition at line 328 of file rb_evaluation.h.

◆ error_bound_all_k

std::vector<Real > libMesh::TransientRBEvaluation::error_bound_all_k

The error bound data for all time-levels from the most recent rb_solve.

Definition at line 206 of file transient_rb_evaluation.h.

◆ evaluate_RB_error_bound

bool libMesh::RBEvaluation::evaluate_RB_error_bound
inherited

Boolean to indicate whether we evaluate a posteriori error bounds when rb_solve is called.

Definition at line 323 of file rb_evaluation.h.

◆ Fq_Aq_representor_innerprods

std::vector<std::vector<std::vector<Number> > > libMesh::RBEvaluation::Fq_Aq_representor_innerprods
inherited

Vectors storing the residual representor inner products to be used in computing the residuals online. We store the Aq-dependent representor inner products because they depend on a reduced basis space. The basis independent representors are stored in RBSystem.

Definition at line 300 of file rb_evaluation.h.

◆ Fq_Mq_representor_innerprods

std::vector<std::vector<std::vector<Number> > > libMesh::TransientRBEvaluation::Fq_Mq_representor_innerprods

Vectors storing the residual representor inner products to be used in computing the residuals online.

Definition at line 224 of file transient_rb_evaluation.h.

◆ Fq_representor_innerprods

std::vector<Number> libMesh::RBEvaluation::Fq_representor_innerprods
inherited

Vectors storing the residual representor inner products to be used in computing the residuals online. These values are independent of a basis, hence they can be copied over directly from an RBSystem.

Definition at line 291 of file rb_evaluation.h.

◆ greedy_param_list

std::vector<RBParameters> libMesh::RBEvaluation::greedy_param_list
inherited

The list of parameters selected by the Greedy algorithm in generating the Reduced Basis associated with this RBEvaluation object.

Definition at line 248 of file rb_evaluation.h.

◆ initial_L2_error_all_N

std::vector<Real> libMesh::TransientRBEvaluation::initial_L2_error_all_N

Vector storing initial L2 error for all 1 <= N <= RB_size.

Definition at line 212 of file transient_rb_evaluation.h.

◆ M_q_representor

std::vector<std::vector<std::unique_ptr<NumericVector<Number> > > > libMesh::TransientRBEvaluation::M_q_representor

Vector storing the mass matrix representors. These are basis dependent and hence stored here.

Definition at line 244 of file transient_rb_evaluation.h.

◆ Mq_Mq_representor_innerprods

std::vector<std::vector<std::vector<Number> > > libMesh::TransientRBEvaluation::Mq_Mq_representor_innerprods

Definition at line 225 of file transient_rb_evaluation.h.

◆ old_RB_solution

DenseVector<Number> libMesh::TransientRBEvaluation::old_RB_solution

The RB solution at the previous time-level.

Definition at line 195 of file transient_rb_evaluation.h.

◆ output_dual_innerprods

std::vector<std::vector<Number > > libMesh::RBEvaluation::output_dual_innerprods
inherited

The vector storing the dual norm inner product terms for each output. These values are independent of a basis, hence they can be copied over directly from an RBSystem.

Definition at line 309 of file rb_evaluation.h.

◆ RB_Aq_vector

std::vector<DenseMatrix<Number> > libMesh::RBEvaluation::RB_Aq_vector
inherited

Dense matrices for the RB computations.

Definition at line 261 of file rb_evaluation.h.

◆ RB_Fq_vector

std::vector<DenseVector<Number> > libMesh::RBEvaluation::RB_Fq_vector
inherited

Dense vector for the RHS.

Definition at line 266 of file rb_evaluation.h.

◆ RB_initial_condition_all_N

std::vector<DenseVector<Number> > libMesh::TransientRBEvaluation::RB_initial_condition_all_N

The RB initial conditions (i.e. L2 projection of the truth initial condition) for each N.

Definition at line 218 of file transient_rb_evaluation.h.

◆ RB_inner_product_matrix

DenseMatrix<Number> libMesh::RBEvaluation::RB_inner_product_matrix
inherited

The inner product matrix. This should be close to the identity, we need to calculate this rather than assume diagonality in order to accurately perform projections since orthogonality degrades with increasing N.

Definition at line 256 of file rb_evaluation.h.

◆ RB_L2_matrix

DenseMatrix<Number> libMesh::TransientRBEvaluation::RB_L2_matrix

Dense RB L2 matrix.

Definition at line 166 of file transient_rb_evaluation.h.

◆ RB_LHS_matrix

DenseMatrix<Number> libMesh::TransientRBEvaluation::RB_LHS_matrix

Cached data for subsequent solves.

Definition at line 171 of file transient_rb_evaluation.h.

◆ RB_M_q_vector

std::vector<DenseMatrix<Number> > libMesh::TransientRBEvaluation::RB_M_q_vector

Dense matrices for the RB mass matrices.

Definition at line 178 of file transient_rb_evaluation.h.

◆ RB_output_error_bounds

std::vector<Real > libMesh::RBEvaluation::RB_output_error_bounds
inherited

Definition at line 283 of file rb_evaluation.h.

◆ RB_output_error_bounds_all_k

std::vector<std::vector<Real> > libMesh::TransientRBEvaluation::RB_output_error_bounds_all_k

The error bounds for each RB output for all time-levels from the most recent rb_solve.

Definition at line 190 of file transient_rb_evaluation.h.

◆ RB_output_vectors

std::vector<std::vector<DenseVector<Number> > > libMesh::RBEvaluation::RB_output_vectors
inherited

The vectors storing the RB output vectors.

Definition at line 276 of file rb_evaluation.h.

◆ RB_outputs

std::vector<Number > libMesh::RBEvaluation::RB_outputs
inherited

The vectors storing the RB output values and corresponding error bounds.

Definition at line 282 of file rb_evaluation.h.

◆ RB_outputs_all_k

std::vector<std::vector<Number> > libMesh::TransientRBEvaluation::RB_outputs_all_k

The RB outputs for all time-levels from the most recent rb_solve.

Definition at line 184 of file transient_rb_evaluation.h.

◆ RB_RHS_matrix

DenseMatrix<Number> libMesh::TransientRBEvaluation::RB_RHS_matrix

Definition at line 172 of file transient_rb_evaluation.h.

◆ RB_RHS_save

DenseVector<Number> libMesh::TransientRBEvaluation::RB_RHS_save

Definition at line 173 of file transient_rb_evaluation.h.

◆ RB_solution

DenseVector<Number> libMesh::RBEvaluation::RB_solution
inherited

The RB solution vector.

Definition at line 271 of file rb_evaluation.h.

◆ RB_temporal_solution_data

std::vector<DenseVector<Number> > libMesh::TransientRBEvaluation::RB_temporal_solution_data

Array storing the solution data at each time level from the most recent solve.

Definition at line 200 of file transient_rb_evaluation.h.

◆ verbose_mode

bool libMesh::RBParametrized::verbose_mode
inherited

Public boolean to toggle verbose mode.

Definition at line 170 of file rb_parametrized.h.


The documentation for this class was generated from the following file: