libMesh
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)
 
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
 
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 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/6]

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

◆ ~FEMParameters() [1/6]

FEMParameters::~FEMParameters ( )

Definition at line 101 of file femparameters.C.

102 {
103  for (std::map<subdomain_id_type, FunctionBase<Number> *>::iterator
104  i = initial_conditions.begin(); i != initial_conditions.end();
105  ++i)
106  delete i->second;
107 
108  for (std::map<boundary_id_type, FunctionBase<Number> *>::iterator
109  i = dirichlet_conditions.begin(); i != dirichlet_conditions.end();
110  ++i)
111  delete i->second;
112 
113  for (std::map<boundary_id_type, FunctionBase<Number> *>::iterator
114  i = neumann_conditions.begin(); i != neumann_conditions.end();
115  ++i)
116  delete i->second;
117 
118  for (std::map<int,
120  >::iterator
121  i = other_boundary_functions.begin(); i != other_boundary_functions.end();
122  ++i)
123  for (std::map<boundary_id_type, FunctionBase<Number> *>::iterator
124  j = i->second.begin(); j != i->second.end();
125  ++j)
126  delete j->second;
127 
128  for (std::map<int,
130  >::iterator
131  i = other_interior_functions.begin(); i != other_interior_functions.end();
132  ++i)
133  for (std::map<subdomain_id_type, FunctionBase<Number> *>::iterator
134  j = i->second.begin(); j != i->second.end();
135  ++j)
136  delete j->second;
137 }

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

◆ FEMParameters() [2/6]

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

◆ ~FEMParameters() [2/6]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [3/6]

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

◆ ~FEMParameters() [3/6]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [4/6]

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

◆ ~FEMParameters() [4/6]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [5/6]

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

◆ ~FEMParameters() [5/6]

FEMParameters::~FEMParameters ( )

◆ FEMParameters() [6/6]

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

◆ ~FEMParameters() [6/6]

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 94 of file parallel_object.h.

95  { return _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::__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::PetscLinearSolver< Number >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), 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::ImplicitSystem::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::DynaIO::add_spline_constraints(), libMesh::System::add_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), 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::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), 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::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), 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::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::RBEIMConstruction::evaluate_mesh_function(), 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::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::EigenSystem::init_matrices(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_rb_construction(), integrate_function(), 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_preconditioner_apply(), 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(), main(), 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::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::FEMSystem::mesh_position_set(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::DofMap::n_constrained_dofs(), 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::DofMap::print_dof_constraints(), read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::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::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), 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::BoundaryInfo::sync(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), SystemsTest::testBlockRestrictedVarNDofs(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), SystemsTest::testProjectCubeWithMeshFunction(), CheckpointIOTest::testSplitter(), libMesh::MeshTools::total_weight(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBEIMConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEvaluation::write_out_vectors(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::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 100 of file parallel_object.h.

101  { return cast_int<processor_id_type>(_communicator.size()); }

References libMesh::ParallelObject::_communicator.

Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::DofMap::add_constraints_to_send_list(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), 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::ExodusII_IO::copy_scalar_solution(), 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::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::partition(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::DofMap::print_dof_constraints(), 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(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), 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 106 of file parallel_object.h.

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

References libMesh::ParallelObject::_communicator.

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::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), 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::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_scalar_solution(), 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::RBEIMConstruction::evaluate_mesh_function(), 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::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::DofMap::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::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), 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::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::DofMap::last_dof(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEIMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), 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(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), AugmentSparsityOnInterface::mesh_reinit(), 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::DofMap::print_dof_constraints(), 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::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::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::DistributedMesh::renumber_dof_objects(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::LaplaceMeshSmoother::smooth(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusCopyElementSolution(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), 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_element_values_element_major(), 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::VTKIO::write_nodal_data(), 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::RBEvaluation::write_out_vectors(), 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::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().

◆ read() [1/6]

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

◆ read() [2/6]

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

◆ read() [3/6]

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

◆ read() [4/6]

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

◆ read() [5/6]

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

Definition at line 154 of file femparameters.C.

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

References absolute_residual_tolerance, analytic_jacobians, coarsegridx, coarsegridy, coarsegridz, coarsen_fraction, coarsen_threshold, coarserefinements, libMesh::ParallelObject::comm(), 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, libMesh::Quality::name(), 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, 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, use_petsc_snes, verify_analytic_jacobians, write_exodus_error, write_gmv_error, write_interval, and write_tecplot_error.

Referenced by main().

◆ read() [6/6]

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 132 of file femparameters.h.

Referenced by read().

◆ analytic_jacobians

bool FEMParameters::analytic_jacobians

Definition at line 114 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ coarsegridx

unsigned int FEMParameters::coarsegridx

Definition at line 50 of file femparameters.h.

Referenced by read().

◆ coarsegridy

unsigned int FEMParameters::coarsegridy

Definition at line 50 of file femparameters.h.

Referenced by read().

◆ coarsegridz

unsigned int FEMParameters::coarsegridz

Definition at line 50 of file femparameters.h.

Referenced by read().

◆ coarsen_fraction

libMesh::Real FEMParameters::coarsen_fraction

Definition at line 61 of file femparameters.h.

Referenced by build_mesh_refinement(), and read().

◆ coarsen_threshold

libMesh::Real FEMParameters::coarsen_threshold

Definition at line 61 of file femparameters.h.

Referenced by build_mesh_refinement(), and read().

◆ coarserefinements

unsigned int FEMParameters::coarserefinements

Definition at line 51 of file femparameters.h.

Referenced by read().

◆ deltat

libMesh::Real FEMParameters::deltat

Definition at line 38 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 45 of file femparameters.h.

Referenced by read().

◆ dirichlet_condition_variables

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

Definition at line 93 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 90 of file femparameters.h.

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

◆ domain_edge_height

libMesh::Real FEMParameters::domain_edge_height

Definition at line 49 of file femparameters.h.

Referenced by read().

◆ domain_edge_length

libMesh::Real FEMParameters::domain_edge_length

Definition at line 49 of file femparameters.h.

Referenced by read().

◆ domain_edge_width

libMesh::Real FEMParameters::domain_edge_width

Definition at line 49 of file femparameters.h.

Referenced by read().

◆ domain_xmin

libMesh::Real FEMParameters::domain_xmin

Definition at line 48 of file femparameters.h.

Referenced by read().

◆ domain_ymin

libMesh::Real FEMParameters::domain_ymin

Definition at line 48 of file femparameters.h.

Referenced by read().

◆ domain_zmin

libMesh::Real FEMParameters::domain_zmin

Definition at line 48 of file femparameters.h.

Referenced by read().

◆ domainfile

std::string FEMParameters::domainfile

Definition at line 46 of file femparameters.h.

Referenced by build_domain(), and read().

◆ domaintype

std::string FEMParameters::domaintype

Definition at line 46 of file femparameters.h.

Referenced by read().

◆ elementorder

libMesh::Real FEMParameters::elementorder

Definition at line 47 of file femparameters.h.

Referenced by read().

◆ elementtype

std::string FEMParameters::elementtype

Definition at line 46 of file femparameters.h.

Referenced by read().

◆ end_time

libMesh::Real FEMParameters::end_time

Definition at line 38 of file femparameters.h.

Referenced by read().

◆ extra_quadrature_order

int FEMParameters::extra_quadrature_order

Definition at line 110 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ extrarefinements

unsigned int FEMParameters::extrarefinements

Definition at line 51 of file femparameters.h.

Referenced by read().

◆ fe_family

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

Definition at line 108 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ fe_order

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

Definition at line 109 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ global_tolerance

libMesh::Real FEMParameters::global_tolerance

Definition at line 60 of file femparameters.h.

Referenced by build_mesh_refinement(), and read().

◆ indicator_type

std::string FEMParameters::indicator_type

Definition at line 145 of file femparameters.h.

Referenced by build_error_estimator(), and read().

◆ initial_adaptivesteps

unsigned int FEMParameters::initial_adaptivesteps

Definition at line 63 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 88 of file femparameters.h.

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

◆ initial_extra_quadrature

unsigned int FEMParameters::initial_extra_quadrature

Definition at line 140 of file femparameters.h.

Referenced by read().

◆ initial_linear_tolerance

double FEMParameters::initial_linear_tolerance

Definition at line 134 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ initial_sobolev_order

unsigned int FEMParameters::initial_sobolev_order

Definition at line 139 of file femparameters.h.

Referenced by read().

◆ initial_timestep

unsigned int FEMParameters::initial_timestep

Definition at line 34 of file femparameters.h.

Referenced by read(), and write_output_headers().

◆ linear_tolerance_multiplier

double FEMParameters::linear_tolerance_multiplier

Definition at line 134 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ max_adaptivesteps

unsigned int FEMParameters::max_adaptivesteps

Definition at line 62 of file femparameters.h.

Referenced by read().

◆ max_linear_iterations

unsigned int FEMParameters::max_linear_iterations

Definition at line 131 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ max_nonlinear_iterations

unsigned int FEMParameters::max_nonlinear_iterations

Definition at line 131 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ mesh_partitioner_type

std::string FEMParameters::mesh_partitioner_type

Definition at line 55 of file femparameters.h.

Referenced by read().

◆ mesh_redistribute_func

std::string FEMParameters::mesh_redistribute_func

Definition at line 52 of file femparameters.h.

Referenced by read().

◆ min_step_length

libMesh::Real FEMParameters::min_step_length

Definition at line 130 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ minimum_linear_tolerance

double FEMParameters::minimum_linear_tolerance

Definition at line 134 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ n_timesteps

unsigned int FEMParameters::n_timesteps

Definition at line 34 of file femparameters.h.

Referenced by read().

◆ nelem_target

unsigned int FEMParameters::nelem_target

Definition at line 59 of file femparameters.h.

Referenced by build_mesh_refinement(), and read().

◆ neumann_condition_variables

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

Definition at line 93 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 90 of file femparameters.h.

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

◆ numerical_jacobian_h

libMesh::Real FEMParameters::numerical_jacobian_h

Definition at line 116 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 100 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 97 of file femparameters.h.

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

◆ output_bz2

bool FEMParameters::output_bz2

Definition at line 68 of file femparameters.h.

Referenced by numbered_filename(), and read().

◆ output_exodus

bool FEMParameters::output_exodus

Definition at line 68 of file femparameters.h.

Referenced by read(), and write_output().

◆ output_gmv

bool FEMParameters::output_gmv

Definition at line 68 of file femparameters.h.

Referenced by read(), and write_output().

◆ output_gz

bool FEMParameters::output_gz

Definition at line 68 of file femparameters.h.

Referenced by numbered_filename(), and read().

◆ output_nemesis

bool FEMParameters::output_nemesis

Definition at line 68 of file femparameters.h.

Referenced by read().

◆ output_tecplot

bool FEMParameters::output_tecplot

Definition at line 68 of file femparameters.h.

Referenced by read(), and write_output().

◆ output_xda

bool FEMParameters::output_xda

Definition at line 68 of file femparameters.h.

Referenced by read(), and write_output().

◆ output_xdr

bool FEMParameters::output_xdr

Definition at line 68 of file femparameters.h.

Referenced by read(), and write_output().

◆ patch_reuse

bool FEMParameters::patch_reuse

Definition at line 146 of file femparameters.h.

Referenced by build_error_estimator(), and read().

◆ periodic_boundaries

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

Definition at line 84 of file femparameters.h.

Referenced by read().

◆ print_element_jacobians

bool FEMParameters::print_element_jacobians

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_element_residuals

bool FEMParameters::print_element_residuals

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_element_solutions

bool FEMParameters::print_element_solutions

Definition at line 118 of file femparameters.h.

Referenced by read().

◆ print_jacobian_norms

bool FEMParameters::print_jacobian_norms

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_jacobians

bool FEMParameters::print_jacobians

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_residual_norms

bool FEMParameters::print_residual_norms

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_residuals

bool FEMParameters::print_residuals

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_solution_norms

bool FEMParameters::print_solution_norms

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ print_solutions

bool FEMParameters::print_solutions

Definition at line 118 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ refine_fraction

libMesh::Real FEMParameters::refine_fraction

Definition at line 61 of file femparameters.h.

Referenced by build_mesh_refinement(), and read().

◆ refine_uniformly

bool FEMParameters::refine_uniformly

Definition at line 144 of file femparameters.h.

Referenced by read().

◆ relative_residual_tolerance

libMesh::Real FEMParameters::relative_residual_tolerance

Definition at line 132 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ relative_step_tolerance

libMesh::Real FEMParameters::relative_step_tolerance

Definition at line 132 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ require_residual_reduction

bool FEMParameters::require_residual_reduction

Definition at line 128 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ reuse_preconditioner

bool FEMParameters::reuse_preconditioner

Definition at line 128 of file femparameters.h.

Referenced by read().

◆ run_postprocess

bool FEMParameters::run_postprocess

Definition at line 104 of file femparameters.h.

Referenced by read().

◆ run_simulation

bool FEMParameters::run_simulation

Definition at line 104 of file femparameters.h.

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

◆ sobolev_order

unsigned int FEMParameters::sobolev_order

Definition at line 147 of file femparameters.h.

Referenced by read().

◆ solver_quiet

bool FEMParameters::solver_quiet

Definition at line 128 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ solver_verbose

bool FEMParameters::solver_verbose

Definition at line 128 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ steadystate_tolerance

libMesh::Real FEMParameters::steadystate_tolerance

Definition at line 38 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 151 of file femparameters.h.

Referenced by read().

◆ system_types

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

Definition at line 77 of file femparameters.h.

Referenced by read().

◆ time_solver_quiet

bool FEMParameters::time_solver_quiet

Definition at line 128 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 38 of file femparameters.h.

Referenced by read().

◆ timesolver_norm

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

Definition at line 41 of file femparameters.h.

Referenced by read().

◆ timesolver_theta

libMesh::Real FEMParameters::timesolver_theta

Definition at line 38 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ timesolver_tolerance

libMesh::Real FEMParameters::timesolver_tolerance

Definition at line 38 of file femparameters.h.

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

◆ timesolver_upper_tolerance

libMesh::Real FEMParameters::timesolver_upper_tolerance

Definition at line 38 of file femparameters.h.

Referenced by read().

◆ transient

bool FEMParameters::transient

Definition at line 35 of file femparameters.h.

Referenced by set_system_parameters().

◆ use_petsc_snes

bool FEMParameters::use_petsc_snes

Definition at line 127 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ verify_analytic_jacobians

libMesh::Real FEMParameters::verify_analytic_jacobians

Definition at line 115 of file femparameters.h.

Referenced by read(), and set_system_parameters().

◆ write_exodus_error

bool FEMParameters::write_exodus_error

Definition at line 68 of file femparameters.h.

Referenced by read().

◆ write_gmv_error

bool FEMParameters::write_gmv_error

Definition at line 68 of file femparameters.h.

Referenced by read().

◆ write_interval

unsigned int FEMParameters::write_interval

Definition at line 67 of file femparameters.h.

Referenced by read().

◆ write_tecplot_error

bool FEMParameters::write_tecplot_error

Definition at line 68 of file femparameters.h.

Referenced by read().


The documentation for this class was generated from the following files:
FEMParameters::reuse_preconditioner
bool reuse_preconditioner
Definition: femparameters.h:128
FEMParameters::use_petsc_snes
bool use_petsc_snes
Definition: femparameters.h:127
FEMParameters::print_jacobians
bool print_jacobians
Definition: femparameters.h:118
FEMParameters::timesolver_norm
std::vector< libMesh::FEMNormType > timesolver_norm
Definition: femparameters.h:41
FEMParameters::dirichlet_conditions
std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > dirichlet_conditions
Definition: femparameters.h:90
libMesh::subdomain_id_type
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
libMesh::FunctionBase< Number >
FEMParameters::domain_edge_length
libMesh::Real domain_edge_length
Definition: femparameters.h:49
FEMParameters::n_timesteps
unsigned int n_timesteps
Definition: femparameters.h:34
FEMParameters::domain_xmin
libMesh::Real domain_xmin
Definition: femparameters.h:48
FEMParameters::system_config_file
std::string system_config_file
Definition: femparameters.h:151
FEMParameters::coarsen_fraction
libMesh::Real coarsen_fraction
Definition: femparameters.h:61
FEMParameters::steadystate_tolerance
libMesh::Real steadystate_tolerance
Definition: femparameters.h:38
FEMParameters::domain_ymin
libMesh::Real domain_ymin
Definition: femparameters.h:48
FEMParameters::max_nonlinear_iterations
unsigned int max_nonlinear_iterations
Definition: femparameters.h:131
FEMParameters::output_xda
bool output_xda
Definition: femparameters.h:68
FEMParameters::print_residuals
bool print_residuals
Definition: femparameters.h:118
FEMParameters::end_time
libMesh::Real end_time
Definition: femparameters.h:38
FEMParameters::print_solution_norms
bool print_solution_norms
Definition: femparameters.h:118
FEMParameters::print_residual_norms
bool print_residual_norms
Definition: femparameters.h:118
FEMParameters::initial_adaptivesteps
unsigned int initial_adaptivesteps
Definition: femparameters.h:63
FEMParameters::timesolver_maxgrowth
libMesh::Real timesolver_maxgrowth
Definition: femparameters.h:38
FEMParameters::dimension
unsigned int dimension
Definition: femparameters.h:45
libMesh::DISCRETE_L2
Definition: enum_norm_type.h:53
FEMParameters::coarserefinements
unsigned int coarserefinements
Definition: femparameters.h:51
FEMParameters::timesolver_tolerance
libMesh::Real timesolver_tolerance
Definition: femparameters.h:38
FEMParameters::mesh_partitioner_type
std::string mesh_partitioner_type
Definition: femparameters.h:55
FEMParameters::sobolev_order
unsigned int sobolev_order
Definition: femparameters.h:147
FEMParameters::output_gmv
bool output_gmv
Definition: femparameters.h:68
FEMParameters::refine_fraction
libMesh::Real refine_fraction
Definition: femparameters.h:61
FEMParameters::elementorder
libMesh::Real elementorder
Definition: femparameters.h:47
FEMParameters::run_postprocess
bool run_postprocess
Definition: femparameters.h:104
libMesh::ParallelObject::comm
const Parallel::Communicator & comm() const
Definition: parallel_object.h:94
FEMParameters::output_exodus
bool output_exodus
Definition: femparameters.h:68
FEMParameters::initial_linear_tolerance
double initial_linear_tolerance
Definition: femparameters.h:134
libMesh::H2
Definition: enum_norm_type.h:38
FEMParameters::fe_order
std::vector< unsigned int > fe_order
Definition: femparameters.h:109
libMesh::RealVectorValue
VectorValue< Real > RealVectorValue
Useful typedefs to allow transparent switching between Real and Complex data types.
Definition: hp_coarsentest.h:46
libMesh::boundary_id_type
int8_t boundary_id_type
Definition: id_types.h:51
FEMParameters::timesolver_core
std::string timesolver_core
Definition: femparameters.h:37
FEMParameters::solver_quiet
bool solver_quiet
Definition: femparameters.h:128
FEMParameters::write_gmv_error
bool write_gmv_error
Definition: femparameters.h:68
FEMParameters::require_residual_reduction
bool require_residual_reduction
Definition: femparameters.h:128
new_function_base
std::unique_ptr< FunctionBase< Number > > new_function_base(const std::string &func_type, const std::string &func_value)
Definition: femparameters.C:140
FEMParameters::coarsen_threshold
libMesh::Real coarsen_threshold
Definition: femparameters.h:61
FEMParameters::run_simulation
bool run_simulation
Definition: femparameters.h:104
FEMParameters::max_linear_iterations
unsigned int max_linear_iterations
Definition: femparameters.h:131
FEMParameters::domain_zmin
libMesh::Real domain_zmin
Definition: femparameters.h:48
libMesh::VectorValue< Real >
FEMParameters::neumann_conditions
std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > neumann_conditions
Definition: femparameters.h:90
FEMParameters::indicator_type
std::string indicator_type
Definition: femparameters.h:145
FEMParameters::refine_uniformly
bool refine_uniformly
Definition: femparameters.h:144
FEMParameters::periodic_boundaries
std::vector< libMesh::PeriodicBoundary > periodic_boundaries
Definition: femparameters.h:84
FEMParameters::print_solutions
bool print_solutions
Definition: femparameters.h:118
FEMParameters::fe_family
std::vector< std::string > fe_family
Definition: femparameters.h:108
FEMParameters::solver_verbose
bool solver_verbose
Definition: femparameters.h:128
FEMParameters::domainfile
std::string domainfile
Definition: femparameters.h:46
FEMParameters::max_adaptivesteps
unsigned int max_adaptivesteps
Definition: femparameters.h:62
FEMParameters::output_bz2
bool output_bz2
Definition: femparameters.h:68
FEMParameters::extrarefinements
unsigned int extrarefinements
Definition: femparameters.h:51
FEMParameters::initial_extra_quadrature
unsigned int initial_extra_quadrature
Definition: femparameters.h:140
FEMParameters::mesh_redistribute_func
std::string mesh_redistribute_func
Definition: femparameters.h:52
FEMParameters::output_xdr
bool output_xdr
Definition: femparameters.h:68
libMesh::ParallelObject::_communicator
const Parallel::Communicator & _communicator
Definition: parallel_object.h:112
FEMParameters::print_element_jacobians
bool print_element_jacobians
Definition: femparameters.h:118
FEMParameters::coarsegridy
unsigned int coarsegridy
Definition: femparameters.h:50
FEMParameters::absolute_residual_tolerance
libMesh::Real absolute_residual_tolerance
Definition: femparameters.h:132
FEMParameters::output_nemesis
bool output_nemesis
Definition: femparameters.h:68
FEMParameters::relative_residual_tolerance
libMesh::Real relative_residual_tolerance
Definition: femparameters.h:132
FEMParameters::write_exodus_error
bool write_exodus_error
Definition: femparameters.h:68
FEMParameters::relative_step_tolerance
libMesh::Real relative_step_tolerance
Definition: femparameters.h:132
FEMParameters::minimum_linear_tolerance
double minimum_linear_tolerance
Definition: femparameters.h:134
FEMParameters::other_interior_functions
std::map< int, std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > > other_interior_functions
Definition: femparameters.h:97
FEMParameters::print_element_solutions
bool print_element_solutions
Definition: femparameters.h:118
FEMParameters::domain_edge_height
libMesh::Real domain_edge_height
Definition: femparameters.h:49
FEMParameters::write_interval
unsigned int write_interval
Definition: femparameters.h:67
libMesh::PeriodicBoundary
The definition of a periodic boundary.
Definition: periodic_boundary.h:44
FEMParameters::other_boundary_functions
std::map< int, std::map< libMesh::boundary_id_type, libMesh::FunctionBase< libMesh::Number > * > > other_boundary_functions
Definition: femparameters.h:100
FEMParameters::timesolver_theta
libMesh::Real timesolver_theta
Definition: femparameters.h:38
FEMParameters::global_tolerance
libMesh::Real global_tolerance
Definition: femparameters.h:60
FEMParameters::elementtype
std::string elementtype
Definition: femparameters.h:46
FEMParameters::min_step_length
libMesh::Real min_step_length
Definition: femparameters.h:130
FEMParameters::extra_quadrature_order
int extra_quadrature_order
Definition: femparameters.h:110
FEMParameters::patch_reuse
bool patch_reuse
Definition: femparameters.h:146
FEMParameters::coarsegridz
unsigned int coarsegridz
Definition: femparameters.h:50
FEMParameters::deltat
libMesh::Real deltat
Definition: femparameters.h:38
libMesh::L2
Definition: enum_norm_type.h:36
FEMParameters::initial_conditions
std::map< libMesh::subdomain_id_type, libMesh::FunctionBase< libMesh::Number > * > initial_conditions
Definition: femparameters.h:88
FEMParameters::numerical_jacobian_h
libMesh::Real numerical_jacobian_h
Definition: femparameters.h:116
FEMParameters::initial_sobolev_order
unsigned int initial_sobolev_order
Definition: femparameters.h:139
FEMParameters::domaintype
std::string domaintype
Definition: femparameters.h:46
FEMParameters::analytic_jacobians
bool analytic_jacobians
Definition: femparameters.h:114
FEMParameters::coarsegridx
unsigned int coarsegridx
Definition: femparameters.h:50
FEMParameters::verify_analytic_jacobians
libMesh::Real verify_analytic_jacobians
Definition: femparameters.h:115
FEMParameters::print_jacobian_norms
bool print_jacobian_norms
Definition: femparameters.h:118
FEMParameters::system_types
std::vector< std::string > system_types
Definition: femparameters.h:77
FEMParameters::domain_edge_width
libMesh::Real domain_edge_width
Definition: femparameters.h:49
FEMParameters::write_tecplot_error
bool write_tecplot_error
Definition: femparameters.h:68
libMesh::err
OStreamProxy err
libMesh::TestClass
Definition: id_types.h:33
libMesh::H1
Definition: enum_norm_type.h:37
libMesh::Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Definition: libmesh_common.h:121
FEMParameters::neumann_condition_variables
std::map< libMesh::boundary_id_type, std::vector< unsigned int > > neumann_condition_variables
Definition: femparameters.h:93
FEMParameters::deltat_reductions
unsigned int deltat_reductions
Definition: femparameters.h:36
FEMParameters::nelem_target
unsigned int nelem_target
Definition: femparameters.h:59
FEMParameters::linear_tolerance_multiplier
double linear_tolerance_multiplier
Definition: femparameters.h:134
FEMParameters::dirichlet_condition_variables
std::map< libMesh::boundary_id_type, std::vector< unsigned int > > dirichlet_condition_variables
Definition: femparameters.h:93
FEMParameters::output_tecplot
bool output_tecplot
Definition: femparameters.h:68
libMesh::out
OStreamProxy out
FEMParameters::output_gz
bool output_gz
Definition: femparameters.h:68
FEMParameters::timesolver_upper_tolerance
libMesh::Real timesolver_upper_tolerance
Definition: femparameters.h:38
FEMParameters::print_element_residuals
bool print_element_residuals
Definition: femparameters.h:118
FEMParameters::time_solver_quiet
bool time_solver_quiet
Definition: femparameters.h:128
libMesh::Quality::name
std::string name(const ElemQuality q)
This function returns a string containing some name for q.
Definition: elem_quality.C:42
FEMParameters::initial_timestep
unsigned int initial_timestep
Definition: femparameters.h:34