libMesh
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
FEMParameters Class Reference

#include <femparameters.h>

Inheritance diagram for FEMParameters:
[legend]

Public Member Functions

 FEMParameters (const libMesh::Parallel::Communicator &comm_in)
 
 ~FEMParameters ()
 
void read (GetPot &input, const std::vector< std::string > *other_variable_names=nullptr)
 
 FEMParameters (const libMesh::Parallel::Communicator &comm_in)
 
 ~FEMParameters ()
 
void read (GetPot &input, const std::vector< std::string > *other_variable_names=nullptr)
 
 FEMParameters (const libMesh::Parallel::Communicator &comm_in)
 
 ~FEMParameters ()
 
void read (GetPot &input, const std::vector< std::string > *other_variable_names=nullptr)
 
 FEMParameters (const libMesh::Parallel::Communicator &comm_in)
 
 ~FEMParameters ()
 
void read (GetPot &input, const std::vector< std::string > *other_variable_names=nullptr)
 
 FEMParameters (const libMesh::Parallel::Communicator &comm_in)
 
 ~FEMParameters ()
 
void read (GetPot &input, const std::vector< std::string > *other_variable_names=nullptr)
 
 FEMParameters (const libMesh::Parallel::Communicator &comm_in)
 
 ~FEMParameters ()
 
void read (GetPot &input, const std::vector< std::string > *other_variable_names=nullptr)
 
 FEMParameters (const libMesh::Parallel::Communicator &comm_in)
 
 ~FEMParameters ()
 
void read (GetPot &input, const std::vector< std::string > *other_variable_names=nullptr)
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Public Attributes

unsigned int initial_timestep
 
unsigned int n_timesteps
 
bool transient
 
unsigned int deltat_reductions
 
std::string timesolver_core
 
std::string solution_history_type
 
libMesh::Real end_time
 
libMesh::Real deltat
 
libMesh::Real timesolver_theta
 
libMesh::Real timesolver_maxgrowth
 
libMesh::Real timesolver_tolerance
 
libMesh::Real timesolver_upper_tolerance
 
libMesh::Real steadystate_tolerance
 
std::vector< libMesh::FEMNormTypetimesolver_norm
 
unsigned int dimension
 
std::string domaintype
 
std::string domainfile
 
std::string elementtype
 
libMesh::Real elementorder
 
libMesh::Real domain_xmin
 
libMesh::Real domain_ymin
 
libMesh::Real domain_zmin
 
libMesh::Real domain_edge_width
 
libMesh::Real domain_edge_length
 
libMesh::Real domain_edge_height
 
unsigned int coarsegridx
 
unsigned int coarsegridy
 
unsigned int coarsegridz
 
unsigned int coarserefinements
 
unsigned int extrarefinements
 
std::string mesh_redistribute_func
 
std::string mesh_partitioner_type
 
unsigned int nelem_target
 
libMesh::Real global_tolerance
 
libMesh::Real refine_fraction
 
libMesh::Real coarsen_fraction
 
libMesh::Real coarsen_threshold
 
unsigned int max_adaptivesteps
 
unsigned int initial_adaptivesteps
 
unsigned int write_interval
 
bool write_gmv_error
 
bool write_tecplot_error
 
bool write_exodus_error
 
bool output_xda
 
bool output_xdr
 
bool output_bz2
 
bool output_gz
 
bool output_gmv
 
bool output_tecplot
 
bool output_exodus
 
bool output_nemesis
 
std::vector< std::string > system_types
 
std::vector< libMesh::PeriodicBoundaryperiodic_boundaries
 
std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > initial_conditions
 
std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > dirichlet_conditions
 
std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > neumann_conditions
 
std::map< libMesh::boundary_id_type, std::vector< unsigned int > > dirichlet_condition_variables
 
std::map< libMesh::boundary_id_type, std::vector< unsigned int > > neumann_condition_variables
 
std::map< int, std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > > other_interior_functions
 
std::map< int, std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > > other_boundary_functions
 
bool run_simulation
 
bool run_postprocess
 
std::vector< std::string > fe_family
 
std::vector< unsigned intfe_order
 
int extra_quadrature_order
 
bool analytic_jacobians
 
libMesh::Real verify_analytic_jacobians
 
libMesh::Real numerical_jacobian_h
 
bool print_solution_norms
 
bool print_solutions
 
bool print_residual_norms
 
bool print_residuals
 
bool print_jacobian_norms
 
bool print_jacobians
 
bool print_element_solutions
 
bool print_element_residuals
 
bool print_element_jacobians
 
bool constrain_in_solver
 
bool use_petsc_snes
 
bool time_solver_quiet
 
bool solver_quiet
 
bool solver_verbose
 
bool reuse_preconditioner
 
bool require_residual_reduction
 
libMesh::Real min_step_length
 
unsigned int max_linear_iterations
 
unsigned int max_nonlinear_iterations
 
libMesh::Real relative_step_tolerance
 
libMesh::Real relative_residual_tolerance
 
libMesh::Real absolute_residual_tolerance
 
double initial_linear_tolerance
 
double minimum_linear_tolerance
 
double linear_tolerance_multiplier
 
unsigned int initial_sobolev_order
 
unsigned int initial_extra_quadrature
 
bool refine_uniformly
 
std::string indicator_type
 
bool patch_reuse
 
unsigned int sobolev_order
 
std::string system_config_file
 

Protected Attributes

const Parallel::Communicator & _communicator
 

Detailed Description

Definition at line 22 of file femparameters.h.

Constructor & Destructor Documentation

◆ FEMParameters() [1/7]

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

Definition at line 26 of file femparameters.C.

26 :
27 ParallelObject(comm_in),
29 transient(true),
31 timesolver_core("euler"),
32 solution_history_type("memory"),
33 end_time(std::numeric_limits<Real>::max()),
34 deltat(0.0001), timesolver_theta(0.5),
39
40 dimension(2),
41 domaintype("square"), domainfile("mesh.xda"), elementtype("quad"),
42 elementorder(2),
43 domain_xmin(0.0), domain_ymin(0.0), domain_zmin(0.0),
48
49 mesh_partitioner_type("Default"),
50
55
58 write_exodus_error(false),
59 output_xda(false), output_xdr(false),
60 output_bz2(true), output_gz(true),
61 output_gmv(false), output_tecplot(false),
62 output_exodus(false), output_nemesis(false),
63
64 system_types(0),
65
66#ifdef LIBMESH_ENABLE_PERIODIC
68#endif
69
70 run_simulation(true), run_postprocess(false),
71
72 fe_family(1, "LAGRANGE"), fe_order(1, 1),
74
83
85 use_petsc_snes(false),
89 min_step_length(1e-5),
95
98 refine_uniformly(false),
99 indicator_type("kelly"), patch_reuse(true), sobolev_order(1)
100{
101}
std::string elementtype
bool write_tecplot_error
std::vector< libMesh::PeriodicBoundary > periodic_boundaries
double minimum_linear_tolerance
double initial_linear_tolerance
unsigned int initial_adaptivesteps
unsigned int coarsegridx
unsigned int max_adaptivesteps
libMesh::Real timesolver_theta
double linear_tolerance_multiplier
libMesh::Real deltat
unsigned int write_interval
libMesh::Real refine_fraction
libMesh::Real end_time
libMesh::Real timesolver_tolerance
libMesh::Real domain_xmin
bool print_element_jacobians
libMesh::Real steadystate_tolerance
unsigned int coarserefinements
std::string mesh_redistribute_func
unsigned int initial_sobolev_order
libMesh::Real verify_analytic_jacobians
unsigned int max_nonlinear_iterations
libMesh::Real domain_edge_height
std::string domainfile
libMesh::Real timesolver_maxgrowth
libMesh::Real global_tolerance
bool write_exodus_error
std::string mesh_partitioner_type
unsigned int initial_extra_quadrature
libMesh::Real domain_ymin
std::string indicator_type
bool print_element_residuals
unsigned int coarsegridz
libMesh::Real min_step_length
libMesh::Real timesolver_upper_tolerance
std::string timesolver_core
libMesh::Real numerical_jacobian_h
std::vector< std::string > fe_family
unsigned int initial_timestep
unsigned int dimension
libMesh::Real relative_residual_tolerance
libMesh::Real elementorder
bool print_residual_norms
libMesh::Real absolute_residual_tolerance
bool print_jacobian_norms
std::string solution_history_type
unsigned int n_timesteps
std::string domaintype
std::vector< libMesh::FEMNormType > timesolver_norm
libMesh::Real domain_edge_length
libMesh::Real relative_step_tolerance
unsigned int max_linear_iterations
bool require_residual_reduction
libMesh::Real coarsen_fraction
unsigned int nelem_target
std::vector< unsigned int > fe_order
unsigned int extrarefinements
unsigned int coarsegridy
libMesh::Real coarsen_threshold
bool print_solution_norms
unsigned int deltat_reductions
bool reuse_preconditioner
libMesh::Real domain_edge_width
std::vector< std::string > system_types
bool print_element_solutions
unsigned int sobolev_order
libMesh::Real domain_zmin
An object whose state is distributed along a set of processors.
static constexpr Real TOLERANCE

◆ ~FEMParameters() [1/7]

FEMParameters::~FEMParameters ( )

Definition at line 103 of file femparameters.C.

104{
105 for (std::map<subdomain_id_type, FunctionBase<Number> *>::iterator
106 i = initial_conditions.begin(); i != initial_conditions.end();
107 ++i)
108 delete i->second;
109
110 for (std::map<boundary_id_type, FunctionBase<Number> *>::iterator
111 i = dirichlet_conditions.begin(); i != dirichlet_conditions.end();
112 ++i)
113 delete i->second;
114
115 for (std::map<boundary_id_type, FunctionBase<Number> *>::iterator
116 i = neumann_conditions.begin(); i != neumann_conditions.end();
117 ++i)
118 delete i->second;
119
120 for (std::map<int,
122 >::iterator
124 ++i)
125 for (std::map<boundary_id_type, FunctionBase<Number> *>::iterator
126 j = i->second.begin(); j != i->second.end();
127 ++j)
128 delete j->second;
129
130 for (std::map<int,
132 >::iterator
134 ++i)
135 for (std::map<subdomain_id_type, FunctionBase<Number> *>::iterator
136 j = i->second.begin(); j != i->second.end();
137 ++j)
138 delete j->second;
139}
std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > dirichlet_conditions
std::map< int, std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > > other_interior_functions
std::map< int, std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > > other_boundary_functions
std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > initial_conditions
std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > neumann_conditions
Base class for functors that can be evaluated at a point and (optionally) time.
int8_t boundary_id_type
Definition id_types.h:51

References dirichlet_conditions, initial_conditions, neumann_conditions, other_boundary_functions, and other_interior_functions.

◆ FEMParameters() [2/7]

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

◆ ~FEMParameters() [2/7]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [3/7]

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

◆ ~FEMParameters() [3/7]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [4/7]

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

◆ ~FEMParameters() [4/7]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [5/7]

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

◆ ~FEMParameters() [5/7]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [6/7]

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

◆ ~FEMParameters() [6/7]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [7/7]

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

◆ ~FEMParameters() [7/7]

FEMParameters::~FEMParameters ( )

Member Function Documentation

◆ comm()

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

Definition at line 97 of file parallel_object.h.

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

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::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::Partitioner::_find_global_index_by_pid_map(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult_add(), libMesh::DofMap::add_constraints_to_send_list(), add_cube_convex_hull_to_mesh(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::RBEIMEvaluation::add_interpolation_data(), libMesh::CondensedEigenSystem::add_matrices(), libMesh::EigenSystem::add_matrices(), libMesh::System::add_matrix(), libMesh::System::add_matrix(), libMesh::System::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::System::add_vector(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::AdvectionSystem::assemble_claw_rhs(), libMesh::FEMSystem::assemble_qoi(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::MeshCommunication::assign_global_indices(), libMesh::Partitioner::assign_partitioning(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), 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_data(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::MeshTetInterface::check_hull_integrity(), libMesh::MeshBase::complete_preparation(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_max_error_bound(), 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::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::DofMap::computed_sparsity_already(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), PetscSolverConfiguration::configure_solver(), libMesh::ContinuationSystem::ContinuationSystem(), libMesh::MeshBase::copy_constraint_rows(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::CondensedEigenSystem::copy_super_to_sub(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::DofMap::create_dof_constraints(), 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::PetscMatrix< T >::create_submatrix_nosort(), create_wrapped_function(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::MeshBase::detect_interior_parents(), libMesh::RBEIMEvaluation::distribute_bfs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::SmoothnessEstimator::estimate_smoothness(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::RBEIMEvaluation::get_eim_basis_function_node_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_side_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_value(), libMesh::MeshBase::get_info(), libMesh::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::RBEIMConstruction::get_max_abs_value(), libMesh::RBEIMConstruction::get_node_max_abs_value(), libMesh::RBEIMEvaluation::get_parametrized_function_node_value(), libMesh::RBEIMEvaluation::get_parametrized_function_side_value(), libMesh::RBEIMEvaluation::get_parametrized_function_value(), libMesh::RBEIMConstruction::get_random_point(), libMesh::RBEIMConstruction::get_random_point(), libMesh::RBEIMConstruction::get_random_point(), libMesh::MeshTetInterface::improve_hull_integrity(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::StaticCondensation::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::LocationMap< T >::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), ElasticitySystem::init_data(), libMesh::AdvectionSystem::init_data(), libMesh::ClawSystem::init_data(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::inner_product(), integrate_function(), libMesh::MeshTools::Modification::interpolate_surface(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_equal_connectivity(), libMesh::MeshTools::libmesh_assert_equal_points(), 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_constraint_rows(), 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_linesearch_shellfunc(), libMesh::libmesh_petsc_preconditioner_apply(), libMesh::libmesh_petsc_snes_mffd_interface(), libMesh::libmesh_petsc_snes_postcheck(), 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::LinearImplicitSystem::LinearImplicitSystem(), main(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_bcids_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::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::FEMSystem::mesh_position_set(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::MeshTools::n_connected_components(), libMesh::DofMap::n_constrained_dofs(), libMesh::MeshBase::n_constraint_rows(), libMesh::DofMap::n_dofs(), libMesh::DofMap::n_dofs_per_processor(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), MixedOrderTest::n_neighbor_links(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::SparsityPattern::Build::n_nonzeros(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::RBEIMEvaluation::node_distribute_bfs(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::RBEIMConstruction::node_inner_product(), libMesh::PetscVector< T >::operator=(), libMesh::MeshBase::operator==(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_n_elem(), libMesh::DistributedMesh::parallel_n_nodes(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::MeshTools::paranoid_n_levels(), libMesh::Partitioner::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::petsc_auto_fieldsplit(), LaplaceSystem::postprocess(), PoissonSystem::postprocess(), libMesh::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::XdrIO::read(), libMesh::Nemesis_IO::read(), read(), libMesh::EquationSystems::read(), libMesh::CheckpointIO::read_header(), libMesh::ExodusII_IO::read_header(), libMesh::System::read_header(), libMesh::XdrIO::read_header(), libMesh::RBEIMEvaluation::read_in_interior_basis_functions(), libMesh::RBEIMEvaluation::read_in_node_basis_functions(), libMesh::RBEIMEvaluation::read_in_side_basis_functions(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), 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::Nemesis_IO_Helper::read_var_names_impl(), MeshFunctionTest::read_variable_info_from_output_data(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::BoundaryInfo::remove_edge_id(), libMesh::BoundaryInfo::remove_node_id(), libMesh::BoundaryInfo::remove_shellface_id(), libMesh::BoundaryInfo::remove_side_id(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), scale_mesh_and_plot(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::send_and_insert_dof_values(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::Partitioner::set_interface_node_processor_ids_BFS(), libMesh::Partitioner::set_interface_node_processor_ids_linear(), libMesh::Partitioner::set_interface_node_processor_ids_petscpartitioner(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::RBEIMEvaluation::side_distribute_bfs(), libMesh::RBEIMEvaluation::side_gather_bfs(), libMesh::RBEIMConstruction::side_inner_product(), libMesh::Partitioner::single_partition(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::VariationalMeshSmoother::smooth(), libMesh::NoxNonlinearSolver< Number >::solve(), libMesh::ClawSystem::solve_conservation_law(), libMesh::split_mesh(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), libMesh::MeshBase::sync_subdomain_name_map(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), ExodusC0PolyhedronTest::test_write_and_read_hexagonal_prism(), ExodusC0PolygonTest::test_write_and_read_pentagon(), DofMapTest::testBadElemFECombo(), SystemsTest::testBlockRestrictedVarNDofs(), BoundaryInfoTest::testBoundaryOnChildrenErrors(), CheckpointIOTest::testC0PolygonCheckpoint(), VolumeTest::testC0PolygonMethods(), CheckpointIOTest::testC0PolyhedronCheckpoint(), VolumeTest::testC0PolyhedronMethods(), ConstraintOperatorTest::testCoreform(), ConnectedComponentsTest::testEdge(), MeshInputTest::testExodusIGASidesets(), MeshTriangulationTest::testFoundCenters(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), BoundaryMeshSubdomainTest::testPerBoundarySubdomain(), PointLocatorTest::testPlanar(), MeshTriangulationTest::testPoly2TriEdge3ToTri7CenterFixup(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectScalarCoarsening(), BoundaryInfoTest::testRenumber(), BoundaryInfoTest::testSelectiveRenumber(), BoundaryMeshSubdomainTest::testSingleSubdomain(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), MeshTriangulationTest::testTriangulatorRoundHole(), MeshSmootherTest::testVariationalSmoother(), libMesh::MeshTools::total_weight(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::Poly2TriTriangulator::triangulate(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_assembly(), update_current_local_solution(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), libMesh::XdrIO::write(), libMesh::NameBasedIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), libMesh::RBEvaluation::write_out_vectors(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), 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(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::RBDataSerialization::RBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::TransientRBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::RBEIMEvaluationSerialization::write_to_file(), and libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file().

◆ n_processors()

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

Definition at line 103 of file parallel_object.h.

104 {
105 processor_id_type returnval =
106 cast_int<processor_id_type>(_communicator.size());
107 libmesh_assert(returnval); // We never have an empty comm
108 return returnval;
109 }
processor_id_type size() const
libmesh_assert(ctx)
uint8_t processor_id_type
Definition id_types.h:104

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

Referenced by libMesh::Partitioner::_find_global_index_by_pid_map(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::DofMap::add_constraints_to_send_list(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DistributedMesh::add_node(), libMesh::System::add_vector(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::Partitioner::build_graph(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DistributedMesh::DistributedMesh(), libMesh::EnsightIO::EnsightIO(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::MeshBase::get_info(), libMesh::StaticCondensation::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::NumericVector< T >::is_effectively_ghosted(), libMesh::NumericVector< T >::is_effectively_serial(), 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::MeshBase::n_active_elem_on_proc(), libMesh::DofMap::n_dofs_per_processor(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::MeshBase::partition(), libMesh::Partitioner::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::NameBasedIO::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::Partitioner::repartition(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), WriteVecAndScalar::setupTests(), libMesh::RBEIMEvaluation::side_gather_bfs(), DistributedMeshTest::testRemoteElemError(), CheckpointIOTest::testSplitter(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), 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().

◆ processor_id()

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

Definition at line 114 of file parallel_object.h.

115 { return cast_int<processor_id_type>(_communicator.rank()); }
processor_id_type rank() const

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

Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DistributedMesh::add_node(), libMesh::MeshTools::Modification::all_tri(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshFunction::check_found_elem(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), 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::RBConstruction::compute_max_error_bound(), 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::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMapBase::end_dof(), libMesh::DofMapBase::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMapBase::first_dof(), libMesh::DofMapBase::first_old_dof(), libMesh::RBEIMEvaluation::gather_bfs(), 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::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::MeshBase::get_local_constraints(), 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::LaplaceMeshSmoother::init(), libMesh::SystemSubsetBySubdomain::init(), HeatSystem::init_data(), 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::MeshTools::Modification::interpolate_surface(), libMesh::SparsityPattern::Build::join(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), 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(), main(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::MeshTools::n_connected_components(), libMesh::MeshBase::n_constraint_rows(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMapBase::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::DistributedMesh::own_node(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), 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::XdrIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::NameBasedIO::read(), libMesh::EquationSystems::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::CheckpointIO::read_header(), libMesh::ExodusII_IO::read_header(), libMesh::System::read_header(), libMesh::XdrIO::read_header(), libMesh::DynaIO::read_mesh(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), 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::Nemesis_IO_Helper::read_var_names_impl(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::RBEIMEvaluation::side_gather_bfs(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), ExodusTest< elem_type >::test_read_gold(), ExodusTest< elem_type >::test_write(), ExodusC0PolyhedronTest::test_write_and_read_hexagonal_prism(), ExodusC0PolygonTest::test_write_and_read_pentagon(), MeshInputTest::testAbaqusRead(), MeshInputTest::testBadGmsh(), BoundaryInfoTest::testBoundaryIDs(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaFileMappings(), MeshInputTest::testDynaNoSplines(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusFileMappings(), MeshInputTest::testExodusIGASidesets(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshInputTest::testGmshBCIDOverlap(), MeshInputTest::testGoodGmsh(), MeshInputTest::testGoodSTL(), MeshInputTest::testGoodSTLBinary(), BoundaryInfoTest::testInternalBoundary(), MeshInputTest::testLowOrderEdgeBlocks(), BoundaryMeshSubdomainTest::testPerBoundarySubdomain(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), BoundaryMeshSubdomainTest::testSingleSubdomain(), WriteVecAndScalar::testSolution(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshSmootherTest::testVariationalSmoother(), libMesh::MeshTools::total_weight(), libMesh::NetGenMeshInterface::triangulate(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), libMesh::XdrIO::write(), libMesh::NameBasedIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO::write_element_data_from_discontinuous_nodal_data(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_element_values_element_major(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO_Helper::write_elemset_data(), libMesh::ExodusII_IO_Helper::write_elemsets(), 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::ExodusII_IO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), libMesh::UCDIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_common(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::ExodusII_IO_Helper::write_nodeset_data(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), write_output_solvedata(), libMesh::System::write_parallel_data(), libMesh::RBConstruction::write_riesz_representors_to_files(), 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::ExodusII_IO_Helper::write_sideset_data(), libMesh::ExodusII_IO_Helper::write_sidesets(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), libMesh::ExodusII_IO_Helper::write_timestep(), and libMesh::ExodusII_IO::write_timestep_discontinuous().

◆ read() [1/7]

void FEMParameters::read ( GetPot &  input,
const std::vector< std::string > *  other_variable_names = nullptr 
)

Definition at line 156 of file femparameters.C.

158{
159 std::vector<std::string> variable_assignments;
160 std::unordered_set<std::string> variable_names;
161 if (other_variable_names)
162 for (std::size_t i=0; i != other_variable_names->size(); ++i)
163 {
164 const std::string & name = (*other_variable_names)[i];
165 const std::string stringval = input(name, std::string());
166 variable_assignments.push_back(name + "=" + stringval);
167 }
168
169 GETPOT_INT_INPUT(initial_timestep);
170 GETPOT_INT_INPUT(n_timesteps);
171 GETPOT_INPUT(transient);
172 GETPOT_INT_INPUT(deltat_reductions);
173 GETPOT_INPUT(timesolver_core);
174 GETPOT_INPUT(solution_history_type);
175 GETPOT_INPUT(end_time);
176 GETPOT_INPUT(deltat);
177 GETPOT_INPUT(timesolver_theta);
178 GETPOT_INPUT(timesolver_maxgrowth);
179 GETPOT_INPUT(timesolver_tolerance);
180 GETPOT_INPUT(timesolver_upper_tolerance);
181 GETPOT_INPUT(steadystate_tolerance);
182
183 GETPOT_REGISTER(timesolver_norm);
184 const unsigned int n_timesolver_norm = input.vector_variable_size("timesolver_norm");
185 timesolver_norm.resize(n_timesolver_norm, L2);
186 for (unsigned int i=0; i != n_timesolver_norm; ++i)
187 {
188 int current_norm = 0; // L2
189 if (timesolver_norm[i] == H1)
190 current_norm = 1;
191 if (timesolver_norm[i] == H2)
192 current_norm = 2;
193 current_norm = input("timesolver_norm", current_norm, i);
194 if (current_norm == 0)
195 timesolver_norm[i] = L2;
196 else if (current_norm == 1)
197 timesolver_norm[i] = H1;
198 else if (current_norm == 2)
199 timesolver_norm[i] = H2;
200 else
202 }
203
204
205 GETPOT_INT_INPUT(dimension);
206 GETPOT_INPUT(domaintype);
207 GETPOT_INPUT(domainfile);
208 GETPOT_INPUT(elementtype);
209 GETPOT_INPUT(elementorder);
210 GETPOT_INPUT(domain_xmin);
211 GETPOT_INPUT(domain_ymin);
212 GETPOT_INPUT(domain_zmin);
213 GETPOT_INPUT(domain_edge_width);
214 GETPOT_INPUT(domain_edge_length);
215 GETPOT_INPUT(domain_edge_height);
216 GETPOT_INT_INPUT(coarsegridx);
217 GETPOT_INT_INPUT(coarsegridy);
218 GETPOT_INT_INPUT(coarsegridz);
219 GETPOT_INT_INPUT(coarserefinements);
220 GETPOT_INT_INPUT(extrarefinements);
221 GETPOT_INPUT(mesh_redistribute_func);
222
223
224 GETPOT_INPUT(mesh_partitioner_type);
225
226
227 GETPOT_INT_INPUT(nelem_target);
228 GETPOT_INPUT(global_tolerance);
229 GETPOT_INPUT(refine_fraction);
230 GETPOT_INPUT(coarsen_fraction);
231 GETPOT_INPUT(coarsen_threshold);
232 GETPOT_INT_INPUT(max_adaptivesteps);
233 GETPOT_INT_INPUT(initial_adaptivesteps);
234
235
236 GETPOT_INT_INPUT(write_interval);
237 GETPOT_INPUT(output_xda);
238 GETPOT_INPUT(output_xdr);
239 GETPOT_INPUT(output_gz);
240#ifndef LIBMESH_HAVE_GZSTREAM
241 output_gz = false;
242#endif
243 GETPOT_INPUT(output_bz2);
244#ifndef LIBMESH_HAVE_BZ2
245 output_bz2 = false;
246#endif
247 GETPOT_INPUT(output_gmv);
248 GETPOT_INPUT(write_gmv_error);
249#ifndef LIBMESH_HAVE_GMV
250 output_gmv = false;
251 write_gmv_error = false;
252#endif
253 GETPOT_INPUT(output_tecplot);
254 GETPOT_INPUT(write_tecplot_error);
255#ifndef LIBMESH_HAVE_TECPLOT_API
256 output_tecplot = false;
257 write_tecplot_error = false;
258#endif
259 GETPOT_INPUT(output_exodus);
260 GETPOT_INPUT(write_exodus_error);
261#ifndef LIBMESH_HAVE_EXODUS_API
262 output_exodus = false;
263 write_exodus_error = false;
264#endif
265 GETPOT_INPUT(output_nemesis);
266#ifndef LIBMESH_HAVE_NEMESIS_API
267 output_nemesis = false;
268#endif
269
270
271 GETPOT_REGISTER(system_types);
272 const unsigned int n_system_types =
273 input.vector_variable_size("system_types");
274 if (n_system_types)
275 {
276 system_types.resize(n_system_types, "");
277 for (unsigned int i=0; i != n_system_types; ++i)
278 {
279 system_types[i] = input("system_types", system_types[i], i);
280 }
281 }
282
283
284#ifdef LIBMESH_ENABLE_PERIODIC
285 GETPOT_REGISTER(periodic_boundaries);
286 const unsigned int n_periodic_bcs =
287 input.vector_variable_size("periodic_boundaries");
288
289 if (n_periodic_bcs)
290 {
291 if (domaintype != "square" &&
292 domaintype != "cylinder" &&
293 domaintype != "file" &&
294 domaintype != "od2")
295 {
296 libMesh::out << "Periodic boundaries need rectilinear domains" << std::endl;;
297 libmesh_error();
298 }
299 for (unsigned int i=0; i != n_periodic_bcs; ++i)
300 {
301 const unsigned int myboundary =
302 input("periodic_boundaries", -1, i);
303 boundary_id_type pairedboundary = 0;
304 RealVectorValue translation_vector;
305 if (dimension == 2)
306 switch (myboundary)
307 {
308 case 0:
309 pairedboundary = 2;
310 translation_vector = RealVectorValue(0., domain_edge_length);
311 break;
312 case 1:
313 pairedboundary = 3;
314 translation_vector = RealVectorValue(-domain_edge_width, 0);
315 break;
316 default:
317 libMesh::out << "Unrecognized periodic boundary id " <<
318 myboundary << std::endl;;
319 libmesh_error();
320 }
321 else if (dimension == 3)
322 switch (myboundary)
323 {
324 case 0:
325 pairedboundary = 5;
326 translation_vector = RealVectorValue(Real(0), Real(0), domain_edge_height);
327 break;
328 case 1:
329 pairedboundary = 3;
330 translation_vector = RealVectorValue(Real(0), domain_edge_length, Real(0));
331 break;
332 case 2:
333 pairedboundary = 4;
334 translation_vector = RealVectorValue(-domain_edge_width, Real(0), Real(0));
335 break;
336 default:
337 libMesh::out << "Unrecognized periodic boundary id " <<
338 myboundary << std::endl;;
339 libmesh_error();
340 }
341 periodic_boundaries.push_back(PeriodicBoundary(translation_vector));
342 periodic_boundaries[i].myboundary = cast_int<boundary_id_type>(myboundary);
343 periodic_boundaries[i].pairedboundary = pairedboundary;
344 }
345 }
346#endif // LIBMESH_ENABLE_PERIODIC
347
348 // Use std::string inputs so GetPot doesn't have to make a bunch
349 // of internal C string copies
350 std::string zero_string = "zero";
351 std::string empty_string = "";
352
353 GETPOT_REGISTER(dirichlet_condition_types);
354 GETPOT_REGISTER(dirichlet_condition_values);
355 GETPOT_REGISTER(dirichlet_condition_boundaries);
356 GETPOT_REGISTER(dirichlet_condition_variables);
357
358 const unsigned int n_dirichlet_conditions=
359 input.vector_variable_size("dirichlet_condition_types");
360
361 if (n_dirichlet_conditions !=
362 input.vector_variable_size("dirichlet_condition_values"))
363 {
364 libMesh::out << "Error: " << n_dirichlet_conditions
365 << " Dirichlet condition types does not match "
366 << input.vector_variable_size("dirichlet_condition_values")
367 << " Dirichlet condition values." << std::endl;
368
369 libmesh_error();
370 }
371
372 if (n_dirichlet_conditions !=
373 input.vector_variable_size("dirichlet_condition_boundaries"))
374 {
375 libMesh::out << "Error: " << n_dirichlet_conditions
376 << " Dirichlet condition types does not match "
377 << input.vector_variable_size("dirichlet_condition_boundaries")
378 << " Dirichlet condition boundaries." << std::endl;
379
380 libmesh_error();
381 }
382
383 if (n_dirichlet_conditions !=
384 input.vector_variable_size("dirichlet_condition_variables"))
385 {
386 libMesh::out << "Error: " << n_dirichlet_conditions
387 << " Dirichlet condition types does not match "
388 << input.vector_variable_size("dirichlet_condition_variables")
389 << " Dirichlet condition variables sets." << std::endl;
390
391 libmesh_error();
392 }
393
394 for (unsigned int dc=0; dc != n_dirichlet_conditions; ++dc)
395 {
396 const std::string func_type =
397 input("dirichlet_condition_types", zero_string, dc);
398
399 const std::string func_value =
400 input("dirichlet_condition_values", empty_string, dc);
401
402 const boundary_id_type func_boundary =
403 input("dirichlet_condition_boundaries", boundary_id_type(0), dc);
404
405 dirichlet_conditions[func_boundary] =
406 (new_function_base(func_type, func_value).release());
407
408 const std::string variable_set =
409 input("dirichlet_condition_variables", empty_string, dc);
410
411 for (unsigned int i=0; i != variable_set.size(); ++i)
412 {
413 if (variable_set[i] == '1')
414 dirichlet_condition_variables[func_boundary].push_back(i);
415 else if (variable_set[i] != '0')
416 {
417 libMesh::out << "Unable to understand Dirichlet variable set"
418 << variable_set << std::endl;
419 libmesh_error();
420 }
421 }
422 }
423
424 GETPOT_REGISTER(neumann_condition_types);
425 GETPOT_REGISTER(neumann_condition_values);
426 GETPOT_REGISTER(neumann_condition_boundaries);
427 GETPOT_REGISTER(neumann_condition_variables);
428
429 const unsigned int n_neumann_conditions=
430 input.vector_variable_size("neumann_condition_types");
431
432 if (n_neumann_conditions !=
433 input.vector_variable_size("neumann_condition_values"))
434 {
435 libMesh::out << "Error: " << n_neumann_conditions
436 << " Neumann condition types does not match "
437 << input.vector_variable_size("neumann_condition_values")
438 << " Neumann condition values." << std::endl;
439
440 libmesh_error();
441 }
442
443 if (n_neumann_conditions !=
444 input.vector_variable_size("neumann_condition_boundaries"))
445 {
446 libMesh::out << "Error: " << n_neumann_conditions
447 << " Neumann condition types does not match "
448 << input.vector_variable_size("neumann_condition_boundaries")
449 << " Neumann condition boundaries." << std::endl;
450
451 libmesh_error();
452 }
453
454 if (n_neumann_conditions !=
455 input.vector_variable_size("neumann_condition_variables"))
456 {
457 libMesh::out << "Error: " << n_neumann_conditions
458 << " Neumann condition types does not match "
459 << input.vector_variable_size("neumann_condition_variables")
460 << " Neumann condition variables sets." << std::endl;
461
462 libmesh_error();
463 }
464
465 for (unsigned int nc=0; nc != n_neumann_conditions; ++nc)
466 {
467 const std::string func_type =
468 input("neumann_condition_types", zero_string, nc);
469
470 const std::string func_value =
471 input("neumann_condition_values", empty_string, nc);
472
473 const boundary_id_type func_boundary =
474 input("neumann_condition_boundaries", boundary_id_type(0), nc);
475
476 neumann_conditions[func_boundary] =
477 (new_function_base(func_type, func_value).release());
478
479 const std::string variable_set =
480 input("neumann_condition_variables", empty_string, nc);
481
482 for (unsigned int i=0; i != variable_set.size(); ++i)
483 {
484 if (variable_set[i] == '1')
485 neumann_condition_variables[func_boundary].push_back(i);
486 else if (variable_set[i] != '0')
487 {
488 libMesh::out << "Unable to understand Neumann variable set"
489 << variable_set << std::endl;
490 libmesh_error();
491 }
492 }
493 }
494
495 GETPOT_REGISTER(initial_condition_types);
496 GETPOT_REGISTER(initial_condition_values);
497 GETPOT_REGISTER(initial_condition_subdomains);
498
499 const unsigned int n_initial_conditions=
500 input.vector_variable_size("initial_condition_types");
501
502 if (n_initial_conditions !=
503 input.vector_variable_size("initial_condition_values"))
504 {
505 libMesh::out << "Error: " << n_initial_conditions
506 << " initial condition types does not match "
507 << input.vector_variable_size("initial_condition_values")
508 << " initial condition values." << std::endl;
509
510 libmesh_error();
511 }
512
513 if (n_initial_conditions !=
514 input.vector_variable_size("initial_condition_subdomains"))
515 {
516 libMesh::out << "Error: " << n_initial_conditions
517 << " initial condition types does not match "
518 << input.vector_variable_size("initial_condition_subdomains")
519 << " initial condition subdomains." << std::endl;
520
521 libmesh_error();
522 }
523
524 for (unsigned int i=0; i != n_initial_conditions; ++i)
525 {
526 const std::string func_type =
527 input("initial_condition_types", zero_string, i);
528
529 const std::string func_value =
530 input("initial_condition_values", empty_string, i);
531
532 const subdomain_id_type func_subdomain =
533 input("initial_condition_subdomains", subdomain_id_type(0), i);
534
535 initial_conditions[func_subdomain] =
536 (new_function_base(func_type, func_value).release());
537 }
538
539 GETPOT_REGISTER(other_interior_function_types);
540 GETPOT_REGISTER(other_interior_function_values);
541 GETPOT_REGISTER(other_interior_function_subdomains);
542 GETPOT_REGISTER(other_interior_function_ids);
543
544 const unsigned int n_other_interior_functions =
545 input.vector_variable_size("other_interior_function_types");
546
547 if (n_other_interior_functions !=
548 input.vector_variable_size("other_interior_function_values"))
549 {
550 libMesh::out << "Error: " << n_other_interior_functions
551 << " other interior function types does not match "
552 << input.vector_variable_size("other_interior_function_values")
553 << " other interior function values." << std::endl;
554
555 libmesh_error();
556 }
557
558 if (n_other_interior_functions !=
559 input.vector_variable_size("other_interior_function_subdomains"))
560 {
561 libMesh::out << "Error: " << n_other_interior_functions
562 << " other interior function types does not match "
563 << input.vector_variable_size("other_interior_function_subdomains")
564 << " other interior function subdomains." << std::endl;
565
566 libmesh_error();
567 }
568
569 if (n_other_interior_functions !=
570 input.vector_variable_size("other_interior_function_ids"))
571 {
572 libMesh::out << "Error: " << n_other_interior_functions
573 << " other interior function types does not match "
574 << input.vector_variable_size("other_interior_function_ids")
575 << " other interior function ids." << std::endl;
576
577 libmesh_error();
578 }
579
580 for (unsigned int i=0; i != n_other_interior_functions; ++i)
581 {
582 const std::string func_type =
583 input("other_interior_function_types", zero_string, i);
584
585 const std::string func_value =
586 input("other_interior_function_values", empty_string, i);
587
588 const subdomain_id_type func_subdomain =
589 input("other_interior_condition_subdomains", subdomain_id_type(0), i);
590
591 const int func_id =
592 input("other_interior_condition_ids", int(0), i);
593
594 other_interior_functions[func_id][func_subdomain] =
595 (new_function_base(func_type, func_value).release());
596 }
597
598 GETPOT_REGISTER(other_boundary_function_types);
599 GETPOT_REGISTER(other_boundary_function_values);
600 GETPOT_REGISTER(other_boundary_function_boundaries);
601 GETPOT_REGISTER(other_boundary_function_ids);
602
603 const unsigned int n_other_boundary_functions =
604 input.vector_variable_size("other_boundary_function_types");
605
606 if (n_other_boundary_functions !=
607 input.vector_variable_size("other_boundary_function_values"))
608 {
609 libMesh::out << "Error: " << n_other_boundary_functions
610 << " other boundary function types does not match "
611 << input.vector_variable_size("other_boundary_function_values")
612 << " other boundary function values." << std::endl;
613
614 libmesh_error();
615 }
616
617 if (n_other_boundary_functions !=
618 input.vector_variable_size("other_boundary_function_boundaries"))
619 {
620 libMesh::out << "Error: " << n_other_boundary_functions
621 << " other boundary function types does not match "
622 << input.vector_variable_size("other_boundary_function_boundaries")
623 << " other boundary function boundaries." << std::endl;
624
625 libmesh_error();
626 }
627
628 if (n_other_boundary_functions !=
629 input.vector_variable_size("other_boundary_function_ids"))
630 {
631 libMesh::out << "Error: " << n_other_boundary_functions
632 << " other boundary function types does not match "
633 << input.vector_variable_size("other_boundary_function_ids")
634 << " other boundary function ids." << std::endl;
635
636 libmesh_error();
637 }
638
639 for (unsigned int i=0; i != n_other_boundary_functions; ++i)
640 {
641 const std::string func_type =
642 input("other_boundary_function_types", zero_string, i);
643
644 const std::string func_value =
645 input("other_boundary_function_values", empty_string, i);
646
647 const boundary_id_type func_boundary =
648 input("other_boundary_function_boundaries", boundary_id_type(0), i);
649
650 const int func_id =
651 input("other_boundary_function_ids", int(0), i);
652
653 other_boundary_functions[func_id][func_boundary] =
654 (new_function_base(func_type, func_value).release());
655 }
656
657 GETPOT_INPUT(run_simulation);
658 GETPOT_INPUT(run_postprocess);
659
660
661 GETPOT_REGISTER(fe_family);
662 const unsigned int n_fe_family =
663 std::max(1u, input.vector_variable_size("fe_family"));
664 fe_family.resize(n_fe_family, "LAGRANGE");
665 for (unsigned int i=0; i != n_fe_family; ++i)
666 fe_family[i] = input("fe_family", fe_family[i].c_str(), i);
667 GETPOT_REGISTER(fe_order);
668 const unsigned int n_fe_order =
669 input.vector_variable_size("fe_order");
670 fe_order.resize(n_fe_order, 1);
671 for (unsigned int i=0; i != n_fe_order; ++i)
672 fe_order[i] = input("fe_order", (int)fe_order[i], i);
673 GETPOT_INPUT(extra_quadrature_order);
674
675
676 GETPOT_INPUT(analytic_jacobians);
677 GETPOT_INPUT(verify_analytic_jacobians);
678 GETPOT_INPUT(numerical_jacobian_h);
679 GETPOT_INPUT(print_solution_norms);
680 GETPOT_INPUT(print_solutions);
681 GETPOT_INPUT(print_residual_norms);
682 GETPOT_INPUT(print_residuals);
683 GETPOT_INPUT(print_jacobian_norms);
684 GETPOT_INPUT(print_jacobians);
685 GETPOT_INPUT(print_element_solutions);
686 GETPOT_INPUT(print_element_residuals);
687 GETPOT_INPUT(print_element_jacobians);
688
689
690 GETPOT_INPUT(constrain_in_solver);
691 GETPOT_INPUT(use_petsc_snes);
692 GETPOT_INPUT(time_solver_quiet);
693 GETPOT_INPUT(solver_quiet);
694 GETPOT_INPUT(solver_verbose);
695 GETPOT_INPUT(reuse_preconditioner);
696 GETPOT_INPUT(require_residual_reduction);
697 GETPOT_INPUT(min_step_length);
698 GETPOT_INT_INPUT(max_linear_iterations);
699 GETPOT_INT_INPUT(max_nonlinear_iterations);
700 GETPOT_INPUT(relative_step_tolerance);
701 GETPOT_INPUT(relative_residual_tolerance);
702 GETPOT_INPUT(absolute_residual_tolerance);
703 GETPOT_INPUT(initial_linear_tolerance);
704 GETPOT_INPUT(minimum_linear_tolerance);
705 GETPOT_INPUT(linear_tolerance_multiplier);
706
707
708 GETPOT_INT_INPUT(initial_sobolev_order);
709 GETPOT_INT_INPUT(initial_extra_quadrature);
710 GETPOT_INPUT(refine_uniformly);
711 GETPOT_INPUT(indicator_type);
712 GETPOT_INPUT(patch_reuse);
713 GETPOT_INT_INPUT(sobolev_order);
714
715 GETPOT_INPUT(system_config_file);
716
717 std::vector<std::string> bad_variables =
718 input.unidentified_arguments(variable_assignments);
719
720 // The way unidentified_arguments() works can give us false
721 // positives from repeated (overridden) variable assignments or from
722 // other (e.g. PETSc) command line arguments.
723 std::vector<std::string> actually_bad_variables;
724 for (std::size_t i = 0; i < bad_variables.size(); ++i)
725 {
726 // If any of our ufo arguments start with a -, that's a false
727 // positive from an unrelated command line argument.
728 if (bad_variables[i].empty() || bad_variables[i][0] != '-')
729 {
730 std::string bad_variable_name =
731 bad_variables[i].substr(0, bad_variables[i].find('='));
732 if (!variable_names.count(bad_variable_name))
733 actually_bad_variables.push_back(bad_variables[i]);
734 }
735 // Skip any option variable and (to be safe from false
736 // positives, though it can create false negatives) any
737 // subsequent potential argument
738 else
739 if (bad_variables.size() > (i+1) &&
740 !bad_variables[i+1].empty() &&
741 bad_variables[i+1][0] != '-')
742 ++i;
743 }
744
745 if (this->comm().rank() == 0 && !actually_bad_variables.empty())
746 {
747 libMesh::err << "ERROR: Unrecognized variables:" << std::endl;
748 for (auto var : actually_bad_variables)
749 libMesh::err << var << std::endl;
750 libMesh::err << "Not found among recognized variables:" << std::endl;
751 for (std::size_t i = 0; i != variable_names.size(); ++i)
752 libMesh::err << variable_assignments[i] << std::endl;
753 libmesh_error();
754 }
755}
std::string system_config_file
std::map< libMesh::boundary_id_type, std::vector< unsigned int > > dirichlet_condition_variables
std::map< libMesh::boundary_id_type, std::vector< unsigned int > > neumann_condition_variables
const Parallel::Communicator & comm() const
The definition of a periodic boundary.
std::unique_ptr< FunctionBase< Number > > new_function_base(const std::string &func_type, const std::string &func_value)
std::string name(const ElemQuality q)
This function returns a string containing some name for q.
The libMesh namespace provides an interface to certain functionality in the library.
OStreamProxy err
OStreamProxy out
TestClass subdomain_id_type
Based on the 4-byte comment warning above, this probably doesn't work with exodusII at all....
Definition id_types.h:43
VectorValue< Real > RealVectorValue
Useful typedefs to allow transparent switching between Real and Complex data types.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

References absolute_residual_tolerance, analytic_jacobians, coarsegridx, coarsegridy, coarsegridz, coarsen_fraction, coarsen_threshold, coarserefinements, libMesh::ParallelObject::comm(), constrain_in_solver, deltat, deltat_reductions, dimension, dirichlet_condition_variables, dirichlet_conditions, libMesh::DISCRETE_L2, domain_edge_height, domain_edge_length, domain_edge_width, domain_xmin, domain_ymin, domain_zmin, domainfile, domaintype, elementorder, elementtype, end_time, libMesh::err, extra_quadrature_order, extrarefinements, fe_family, fe_order, global_tolerance, libMesh::H1, libMesh::H2, indicator_type, initial_adaptivesteps, initial_conditions, initial_extra_quadrature, initial_linear_tolerance, initial_sobolev_order, initial_timestep, libMesh::L2, linear_tolerance_multiplier, max_adaptivesteps, max_linear_iterations, max_nonlinear_iterations, mesh_partitioner_type, mesh_redistribute_func, min_step_length, minimum_linear_tolerance, n_timesteps, nelem_target, neumann_condition_variables, neumann_conditions, new_function_base(), numerical_jacobian_h, other_boundary_functions, other_interior_functions, libMesh::out, output_bz2, output_exodus, output_gmv, output_gz, output_nemesis, output_tecplot, output_xda, output_xdr, patch_reuse, periodic_boundaries, print_element_jacobians, print_element_residuals, print_element_solutions, print_jacobian_norms, print_jacobians, print_residual_norms, print_residuals, print_solution_norms, print_solutions, libMesh::Real, refine_fraction, refine_uniformly, relative_residual_tolerance, relative_step_tolerance, require_residual_reduction, reuse_preconditioner, run_postprocess, run_simulation, sobolev_order, solution_history_type, solver_quiet, solver_verbose, steadystate_tolerance, system_config_file, system_types, time_solver_quiet, timesolver_core, timesolver_maxgrowth, timesolver_norm, timesolver_theta, timesolver_tolerance, timesolver_upper_tolerance, transient, use_petsc_snes, verify_analytic_jacobians, write_exodus_error, write_gmv_error, write_interval, and write_tecplot_error.

Referenced by main().

◆ read() [2/7]

void FEMParameters::read ( GetPot &  input,
const std::vector< std::string > *  other_variable_names = nullptr 
)

◆ read() [3/7]

void FEMParameters::read ( GetPot &  input,
const std::vector< std::string > *  other_variable_names = nullptr 
)

◆ read() [4/7]

void FEMParameters::read ( GetPot &  input,
const std::vector< std::string > *  other_variable_names = nullptr 
)

◆ read() [5/7]

void FEMParameters::read ( GetPot &  input,
const std::vector< std::string > *  other_variable_names = nullptr 
)

◆ read() [6/7]

void FEMParameters::read ( GetPot &  input,
const std::vector< std::string > *  other_variable_names = nullptr 
)

◆ read() [7/7]

void FEMParameters::read ( GetPot &  input,
const std::vector< std::string > *  other_variable_names = nullptr 
)

Member Data Documentation

◆ _communicator

const Parallel::Communicator& libMesh::ParallelObject::_communicator
protectedinherited

◆ absolute_residual_tolerance

libMesh::Real FEMParameters::absolute_residual_tolerance

Definition at line 135 of file femparameters.h.

Referenced by read().

◆ analytic_jacobians

bool FEMParameters::analytic_jacobians

◆ coarsegridx

unsigned int FEMParameters::coarsegridx

Definition at line 51 of file femparameters.h.

Referenced by main(), and read().

◆ coarsegridy

unsigned int FEMParameters::coarsegridy

Definition at line 51 of file femparameters.h.

Referenced by main(), and read().

◆ coarsegridz

unsigned int FEMParameters::coarsegridz

Definition at line 51 of file femparameters.h.

Referenced by read().

◆ coarsen_fraction

libMesh::Real FEMParameters::coarsen_fraction

Definition at line 62 of file femparameters.h.

Referenced by build_mesh_refinement(), build_mesh_refinement(), and read().

◆ coarsen_threshold

libMesh::Real FEMParameters::coarsen_threshold

Definition at line 62 of file femparameters.h.

Referenced by build_mesh_refinement(), build_mesh_refinement(), and read().

◆ coarserefinements

unsigned int FEMParameters::coarserefinements

Definition at line 52 of file femparameters.h.

Referenced by main(), and read().

◆ constrain_in_solver

bool FEMParameters::constrain_in_solver

◆ deltat

libMesh::Real FEMParameters::deltat

Definition at line 39 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ deltat_reductions

unsigned int FEMParameters::deltat_reductions

Definition at line 36 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ dimension

unsigned int FEMParameters::dimension

Definition at line 46 of file femparameters.h.

Referenced by main(), and read().

◆ dirichlet_condition_variables

std::map< libMesh::boundary_id_type, std::vector< unsigned int > > FEMParameters::dirichlet_condition_variables

Definition at line 94 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ dirichlet_conditions

std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > FEMParameters::dirichlet_conditions

Definition at line 91 of file femparameters.h.

Referenced by read(), set_system_parameters(), and ~FEMParameters().

◆ domain_edge_height

libMesh::Real FEMParameters::domain_edge_height

Definition at line 50 of file femparameters.h.

Referenced by read().

◆ domain_edge_length

libMesh::Real FEMParameters::domain_edge_length

Definition at line 50 of file femparameters.h.

Referenced by main(), and read().

◆ domain_edge_width

libMesh::Real FEMParameters::domain_edge_width

Definition at line 50 of file femparameters.h.

Referenced by main(), and read().

◆ domain_xmin

libMesh::Real FEMParameters::domain_xmin

Definition at line 49 of file femparameters.h.

Referenced by main(), and read().

◆ domain_ymin

libMesh::Real FEMParameters::domain_ymin

Definition at line 49 of file femparameters.h.

Referenced by main(), and read().

◆ domain_zmin

libMesh::Real FEMParameters::domain_zmin

Definition at line 49 of file femparameters.h.

Referenced by read().

◆ domainfile

std::string FEMParameters::domainfile

Definition at line 47 of file femparameters.h.

Referenced by build_domain(), main(), and read().

◆ domaintype

std::string FEMParameters::domaintype

Definition at line 47 of file femparameters.h.

Referenced by read().

◆ elementorder

libMesh::Real FEMParameters::elementorder

Definition at line 48 of file femparameters.h.

Referenced by read().

◆ elementtype

std::string FEMParameters::elementtype

Definition at line 47 of file femparameters.h.

Referenced by main(), and read().

◆ end_time

libMesh::Real FEMParameters::end_time

Definition at line 39 of file femparameters.h.

Referenced by read().

◆ extra_quadrature_order

int FEMParameters::extra_quadrature_order

Definition at line 111 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ extrarefinements

unsigned int FEMParameters::extrarefinements

Definition at line 52 of file femparameters.h.

Referenced by main(), and read().

◆ fe_family

std::vector< std::string > FEMParameters::fe_family

◆ fe_order

std::vector< unsigned int > FEMParameters::fe_order

◆ global_tolerance

libMesh::Real FEMParameters::global_tolerance

Definition at line 61 of file femparameters.h.

Referenced by build_mesh_refinement(), build_mesh_refinement(), main(), and read().

◆ indicator_type

std::string FEMParameters::indicator_type

Definition at line 147 of file femparameters.h.

Referenced by build_error_estimator(), build_error_estimator(), and read().

◆ initial_adaptivesteps

unsigned int FEMParameters::initial_adaptivesteps

Definition at line 64 of file femparameters.h.

Referenced by read().

◆ initial_conditions

std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > FEMParameters::initial_conditions

Definition at line 89 of file femparameters.h.

Referenced by read(), and ~FEMParameters().

◆ initial_extra_quadrature

unsigned int FEMParameters::initial_extra_quadrature

Definition at line 142 of file femparameters.h.

Referenced by read().

◆ initial_linear_tolerance

double FEMParameters::initial_linear_tolerance

◆ initial_sobolev_order

unsigned int FEMParameters::initial_sobolev_order

Definition at line 141 of file femparameters.h.

Referenced by read().

◆ initial_timestep

unsigned int FEMParameters::initial_timestep

Definition at line 34 of file femparameters.h.

Referenced by main(), read(), and write_output_headers().

◆ linear_tolerance_multiplier

double FEMParameters::linear_tolerance_multiplier

◆ max_adaptivesteps

unsigned int FEMParameters::max_adaptivesteps

Definition at line 63 of file femparameters.h.

Referenced by main(), and read().

◆ max_linear_iterations

unsigned int FEMParameters::max_linear_iterations

◆ max_nonlinear_iterations

unsigned int FEMParameters::max_nonlinear_iterations

◆ mesh_partitioner_type

std::string FEMParameters::mesh_partitioner_type

Definition at line 56 of file femparameters.h.

Referenced by main(), and read().

◆ mesh_redistribute_func

std::string FEMParameters::mesh_redistribute_func

Definition at line 53 of file femparameters.h.

Referenced by read().

◆ min_step_length

libMesh::Real FEMParameters::min_step_length

◆ minimum_linear_tolerance

double FEMParameters::minimum_linear_tolerance

◆ n_timesteps

unsigned int FEMParameters::n_timesteps

Definition at line 34 of file femparameters.h.

Referenced by main(), and read().

◆ nelem_target

unsigned int FEMParameters::nelem_target

Definition at line 60 of file femparameters.h.

Referenced by build_mesh_refinement(), build_mesh_refinement(), main(), and read().

◆ neumann_condition_variables

std::map< libMesh::boundary_id_type, std::vector< unsigned int > > FEMParameters::neumann_condition_variables

Definition at line 95 of file femparameters.h.

Referenced by read().

◆ neumann_conditions

std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > FEMParameters::neumann_conditions

Definition at line 92 of file femparameters.h.

Referenced by read(), and ~FEMParameters().

◆ numerical_jacobian_h

libMesh::Real FEMParameters::numerical_jacobian_h

Definition at line 117 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ other_boundary_functions

std::map< int, std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > > FEMParameters::other_boundary_functions

Definition at line 101 of file femparameters.h.

Referenced by read(), and ~FEMParameters().

◆ other_interior_functions

std::map< int, std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > > FEMParameters::other_interior_functions

Definition at line 98 of file femparameters.h.

Referenced by read(), and ~FEMParameters().

◆ output_bz2

bool FEMParameters::output_bz2

Definition at line 72 of file femparameters.h.

Referenced by numbered_filename(), and read().

◆ output_exodus

bool FEMParameters::output_exodus

Definition at line 74 of file femparameters.h.

Referenced by read(), write_output(), write_output(), and write_output().

◆ output_gmv

bool FEMParameters::output_gmv

Definition at line 73 of file femparameters.h.

Referenced by read(), write_output(), write_output(), and write_output().

◆ output_gz

bool FEMParameters::output_gz

Definition at line 72 of file femparameters.h.

Referenced by numbered_filename(), and read().

◆ output_nemesis

bool FEMParameters::output_nemesis

Definition at line 74 of file femparameters.h.

Referenced by read().

◆ output_tecplot

bool FEMParameters::output_tecplot

Definition at line 73 of file femparameters.h.

Referenced by read(), and write_output().

◆ output_xda

bool FEMParameters::output_xda

Definition at line 71 of file femparameters.h.

Referenced by read(), and write_output().

◆ output_xdr

bool FEMParameters::output_xdr

Definition at line 71 of file femparameters.h.

Referenced by read(), and write_output().

◆ patch_reuse

bool FEMParameters::patch_reuse

Definition at line 148 of file femparameters.h.

Referenced by build_error_estimator(), and read().

◆ periodic_boundaries

std::vector< libMesh::PeriodicBoundary > FEMParameters::periodic_boundaries

Definition at line 85 of file femparameters.h.

Referenced by read().

◆ print_element_jacobians

bool FEMParameters::print_element_jacobians

Definition at line 124 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_element_residuals

bool FEMParameters::print_element_residuals

Definition at line 123 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_element_solutions

bool FEMParameters::print_element_solutions

Definition at line 122 of file femparameters.h.

Referenced by read().

◆ print_jacobian_norms

bool FEMParameters::print_jacobian_norms

◆ print_jacobians

bool FEMParameters::print_jacobians

◆ print_residual_norms

bool FEMParameters::print_residual_norms

◆ print_residuals

bool FEMParameters::print_residuals

◆ print_solution_norms

bool FEMParameters::print_solution_norms

◆ print_solutions

bool FEMParameters::print_solutions

◆ refine_fraction

libMesh::Real FEMParameters::refine_fraction

Definition at line 62 of file femparameters.h.

Referenced by build_mesh_refinement(), build_mesh_refinement(), and read().

◆ refine_uniformly

bool FEMParameters::refine_uniformly

Definition at line 146 of file femparameters.h.

Referenced by main(), and read().

◆ relative_residual_tolerance

libMesh::Real FEMParameters::relative_residual_tolerance

◆ relative_step_tolerance

libMesh::Real FEMParameters::relative_step_tolerance

◆ require_residual_reduction

bool FEMParameters::require_residual_reduction

◆ reuse_preconditioner

bool FEMParameters::reuse_preconditioner

Definition at line 131 of file femparameters.h.

Referenced by main(), and read().

◆ run_postprocess

bool FEMParameters::run_postprocess

Definition at line 105 of file femparameters.h.

Referenced by read().

◆ run_simulation

bool FEMParameters::run_simulation

Definition at line 105 of file femparameters.h.

Referenced by read(), write_output_footers(), and write_output_headers().

◆ sobolev_order

unsigned int FEMParameters::sobolev_order

Definition at line 149 of file femparameters.h.

Referenced by read().

◆ solution_history_type

std::string FEMParameters::solution_history_type

Definition at line 38 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ solver_quiet

bool FEMParameters::solver_quiet

◆ solver_verbose

bool FEMParameters::solver_verbose

Definition at line 130 of file femparameters.h.

Referenced by read(), set_system_parameters(), and set_system_parameters().

◆ steadystate_tolerance

libMesh::Real FEMParameters::steadystate_tolerance

Definition at line 41 of file femparameters.h.

Referenced by read(), write_output_footers(), and write_output_headers().

◆ system_config_file

std::string FEMParameters::system_config_file

Definition at line 153 of file femparameters.h.

Referenced by read().

◆ system_types

std::vector< std::string > FEMParameters::system_types

Definition at line 78 of file femparameters.h.

Referenced by read().

◆ time_solver_quiet

bool FEMParameters::time_solver_quiet

Definition at line 130 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ timesolver_core

std::string FEMParameters::timesolver_core

Definition at line 37 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ timesolver_maxgrowth

libMesh::Real FEMParameters::timesolver_maxgrowth

Definition at line 40 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ timesolver_norm

std::vector< libMesh::FEMNormType > FEMParameters::timesolver_norm

Definition at line 42 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ timesolver_theta

libMesh::Real FEMParameters::timesolver_theta

Definition at line 39 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ timesolver_tolerance

libMesh::Real FEMParameters::timesolver_tolerance

◆ timesolver_upper_tolerance

libMesh::Real FEMParameters::timesolver_upper_tolerance

Definition at line 41 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ transient

bool FEMParameters::transient

Definition at line 35 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ use_petsc_snes

bool FEMParameters::use_petsc_snes

◆ verify_analytic_jacobians

libMesh::Real FEMParameters::verify_analytic_jacobians

◆ write_exodus_error

bool FEMParameters::write_exodus_error

Definition at line 70 of file femparameters.h.

Referenced by read().

◆ write_gmv_error

bool FEMParameters::write_gmv_error

Definition at line 69 of file femparameters.h.

Referenced by read().

◆ write_interval

unsigned int FEMParameters::write_interval

Definition at line 68 of file femparameters.h.

Referenced by read().

◆ write_tecplot_error

bool FEMParameters::write_tecplot_error

Definition at line 69 of file femparameters.h.

Referenced by read().


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