#include <transient_rb_evaluation.h>
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) |
RBThetaExpansion & | get_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 RBParameters & | get_parameters () const |
void | set_parameters (const RBParameters ¶ms) |
const RBParameters & | get_parameters_min () const |
const RBParameters & | get_parameters_max () const |
Real | get_parameter_min (const std::string ¶m_name) const |
Real | get_parameter_max (const std::string ¶m_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::Communicator & | comm () 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 ¶meters_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 () |
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 |
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, ). See Martin Grepl's thesis for more details.
Definition at line 50 of file transient_rb_evaluation.h.
|
protectedinherited |
Data structure to log the information. The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
The type of the parent.
Definition at line 67 of file transient_rb_evaluation.h.
libMesh::TransientRBEvaluation::TransientRBEvaluation | ( | const Parallel::Communicator & | comm_in | ) |
Constructor.
libMesh::TransientRBEvaluation::~TransientRBEvaluation | ( | ) |
Destructor.
|
protectedinherited |
Helper function that checks if file_name
exists.
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.)
|
overridevirtual |
Clear this TransientRBEvaluation object. Override to also clear the M_q representors
Reimplemented from libMesh::RBEvaluation.
|
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.
|
inlineinherited |
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().
|
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.
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
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.
|
inherited |
Evaluate the dual norm of output n
for the current parameters.
|
inherited |
Get a reference to the i^th basis function.
|
staticinherited |
value
from list_of_values
.
|
inherited |
Get/set the RHS control.
|
inherited |
Get/set delta_t, the time-step size.
|
inherited |
Get a const reference to the discrete parameter values.
|
overridevirtual |
Reimplemented from libMesh::RBEvaluation.
|
inherited |
Get/set euler_theta, parameter that determines the temporal discretization.
|
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().
|
inlinevirtualinherited |
Get the current number of basis functions.
Definition at line 146 of file rb_evaluation.h.
References libMesh::RBEvaluation::basis_functions.
|
inherited |
Get the number of continuous parameters.
|
inherited |
Get the number of discrete parameters.
|
inherited |
Get the number of parameters.
|
inherited |
Get/set the total number of time-steps.
|
inherited |
Get maximum allowable value of parameter param_name
.
|
inherited |
Get minimum allowable value of parameter param_name
.
|
inherited |
Get a set that stores the parameter names.
|
inherited |
Get the current parameters.
|
inherited |
Get an RBParameters object that specifies the maximum allowable value for each parameter.
|
inherited |
Get an RBParameters object that specifies the minimum allowable value for each parameter.
|
inherited |
Get a reference to the rb_theta_expansion.
|
virtualinherited |
Get a lower bound for the stability constant (e.g. coercivity constant or inf-sup constant) at the current parameter value.
|
inherited |
Get/set the current time-step.
|
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().
|
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().
|
inherited |
Initialize the parameter ranges and set current_parameters.
|
inherited |
Initialize the parameter ranges and set current_parameters.
|
inherited |
Is parameter mu_name
discrete?
|
inherited |
true
if the theta expansion has been initialized.
|
overridevirtual |
Read in the saved Offline reduced basis data to initialize the system for Online solves.
Reimplemented from libMesh::RBEvaluation.
|
overridevirtual |
Write out all the data to text files in order to segregate the Offline stage from the Online stage.
Reimplemented from libMesh::RBEvaluation.
|
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.
|
inlineinherited |
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().
|
inherited |
Print out all the discrete parameter values.
|
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().
|
inherited |
Print the current parameters.
|
inherited |
Read in and initialize parameters from parameters_filename
.
|
inlineinherited |
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().
|
inherited |
Pull the temporal discretization data from other
.
|
overridevirtual |
Perform online solve for current_params with the N basis functions. Overridden to perform a time-dependent solve.
Reimplemented from libMesh::RBEvaluation.
|
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).
|
virtualinherited |
Read in all the basis functions from file.
sys | 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. |
|
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.
|
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.
|
inherited |
Read in the parameter ranges from files.
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.
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.
|
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.
|
inherited |
|
inherited |
|
inherited |
|
virtualinherited |
Set the number of basis functions. Useful when reading in stored data.
|
inherited |
|
inherited |
Set the current parameters to params
|
inherited |
Set the RBThetaExpansion object.
|
inherited |
|
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.
|
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
|
virtualinherited |
Same as write_out_basis_functions, except in this case we pass in the vectors to be written.
|
inherited |
Write out the parameter ranges to files.
|
protectedinherited |
Definition at line 107 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ParallelObject::comm(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
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().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
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().
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.
|
inherited |
Definition at line 301 of file rb_evaluation.h.
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.
|
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.
|
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().
DenseMatrix<Number> libMesh::TransientRBEvaluation::cached_Aq_Aq_matrix |
Definition at line 235 of file transient_rb_evaluation.h.
DenseMatrix<Number> libMesh::TransientRBEvaluation::cached_Aq_Mq_matrix |
Definition at line 237 of file transient_rb_evaluation.h.
DenseVector<Number> libMesh::TransientRBEvaluation::cached_Fq_Aq_vector |
Definition at line 234 of file transient_rb_evaluation.h.
DenseVector<Number> libMesh::TransientRBEvaluation::cached_Fq_Mq_vector |
Definition at line 236 of file transient_rb_evaluation.h.
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.
DenseMatrix<Number> libMesh::TransientRBEvaluation::cached_Mq_Mq_matrix |
Definition at line 238 of file transient_rb_evaluation.h.
|
inherited |
Boolean flag to indicate whether we compute the RB_inner_product_matrix.
Definition at line 328 of file rb_evaluation.h.
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.
|
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.
|
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.
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.
|
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.
|
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.
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.
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.
std::vector<std::vector<std::vector<Number> > > libMesh::TransientRBEvaluation::Mq_Mq_representor_innerprods |
Definition at line 225 of file transient_rb_evaluation.h.
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.
|
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.
|
inherited |
Dense matrices for the RB computations.
Definition at line 261 of file rb_evaluation.h.
|
inherited |
Dense vector for the RHS.
Definition at line 266 of file rb_evaluation.h.
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.
|
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.
DenseMatrix<Number> libMesh::TransientRBEvaluation::RB_L2_matrix |
Dense RB L2 matrix.
Definition at line 166 of file transient_rb_evaluation.h.
DenseMatrix<Number> libMesh::TransientRBEvaluation::RB_LHS_matrix |
Cached data for subsequent solves.
Definition at line 171 of file transient_rb_evaluation.h.
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.
|
inherited |
Definition at line 283 of file rb_evaluation.h.
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.
|
inherited |
The vectors storing the RB output vectors.
Definition at line 276 of file rb_evaluation.h.
|
inherited |
The vectors storing the RB output values and corresponding error bounds.
Definition at line 282 of file rb_evaluation.h.
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.
DenseMatrix<Number> libMesh::TransientRBEvaluation::RB_RHS_matrix |
Definition at line 172 of file transient_rb_evaluation.h.
DenseVector<Number> libMesh::TransientRBEvaluation::RB_RHS_save |
Definition at line 173 of file transient_rb_evaluation.h.
|
inherited |
The RB solution vector.
Definition at line 271 of file rb_evaluation.h.
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.
|
inherited |
Public boolean to toggle verbose mode.
Definition at line 170 of file rb_parametrized.h.