libMesh
|
A class holding degree of freedom information pertinent to static condensation. More...
#include <static_condensation_dof_map.h>
Classes | |
struct | DofData |
Data stored on a per-element basis used to compute element Schur complements and their applications to vectors. More... | |
Public Member Functions | |
StaticCondensationDofMap (MeshBase &mesh, System &system, const DofMap &dof_map) | |
virtual | ~StaticCondensationDofMap () |
void | reinit () |
Build the element global to local index maps. More... | |
void | dont_condense_vars (const std::unordered_set< unsigned int > &vars) |
Add vars to the list of variables not to condense. More... | |
const std::unordered_set< unsigned int > & | uncondensed_vars () const |
virtual unsigned int | n_variables () const override |
virtual const Variable & | variable (const unsigned int c) const override |
virtual void | dof_indices (const Elem *const elem, std::vector< dof_id_type > &di, const unsigned int vn, int p_level=-12345) const override |
Fills the vector di with the global degree of freedom indices for the element. More... | |
virtual void | dof_indices (const Node *const node, std::vector< dof_id_type > &di, const unsigned int vn) const override |
Fills the vector di with the global degree of freedom indices for the node , for one variable vn . More... | |
const System & | reduced_system () const |
bool | initialized () const |
Whether we are initialized. More... | |
virtual void | clear () override |
dof_id_type | get_reduced_from_global_constraint_dof (dof_id_type full_dof) const |
Retrieve the dof index in the reduced system corresponding to the provided dof index in the full system. More... | |
dof_id_type | first_dof (const processor_id_type proc) const |
dof_id_type | first_dof () const |
dof_id_type | end_dof (const processor_id_type proc) const |
dof_id_type | end_dof () const |
dof_id_type | n_dofs () const |
dof_id_type | n_dofs_on_processor (const processor_id_type proc) const |
dof_id_type | n_local_dofs () const |
dof_id_type | n_old_dofs () const |
dof_id_type | first_old_dof (const processor_id_type proc) const |
dof_id_type | first_old_dof () const |
dof_id_type | end_old_dof (const processor_id_type proc) const |
dof_id_type | end_old_dof () const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Protected Member Functions | |
std::size_t | compute_dof_info (dof_id_type n_local_dofs) |
compute the key degree of freedom information given the local number of degrees of freedom on this process More... | |
Protected Attributes | |
std::vector< dof_id_type > | _first_df |
First DOF index on processor p . More... | |
std::vector< dof_id_type > | _end_df |
Last DOF index (plus 1) on processor p . More... | |
dof_id_type | _n_dfs |
Total number of degrees of freedom. More... | |
dof_id_type | _n_old_dfs |
Total number of degrees of freedom on old dof objects. More... | |
std::vector< dof_id_type > | _first_old_df |
First old DOF index on processor p . More... | |
std::vector< dof_id_type > | _end_old_df |
Last old DOF index (plus 1) on processor p . More... | |
const Parallel::Communicator & | _communicator |
Private Member Functions | |
void | add_uncondensed_dof_plus_constraint_dofs (dof_id_type full_dof_number, bool involved_in_constraints, std::unordered_map< dof_id_type, dof_id_type > &uncondensed_global_to_local_map, std::unordered_set< dof_id_type > &local_uncondensed_dofs_set, std::unordered_map< processor_id_type, std::unordered_set< dof_id_type >> &nonlocal_uncondensed_dofs, std::vector< dof_id_type > &elem_uncondensed_dofs, dof_id_type &uncondensed_local_dof_number, std::unordered_set< dof_id_type > &constraint_dofs) |
Add an uncondensed dof potentially along with constraining dofs which themselves must/will also be uncondensed. More... | |
void | add_uncondensed_dof (dof_id_type full_dof_number, bool involved_in_constraints, std::unordered_map< dof_id_type, dof_id_type > &uncondensed_global_to_local_map, std::unordered_set< dof_id_type > &local_uncondensed_dofs_set, std::unordered_map< processor_id_type, std::unordered_set< dof_id_type >> &nonlocal_uncondensed_dofs, std::vector< dof_id_type > &elem_uncondensed_dofs, dof_id_type &uncondensed_local_dof_number, std::unordered_set< dof_id_type > &constraint_dofs) |
Add an uncondensed dof. More... | |
Private Attributes | |
std::unordered_map< dof_id_type, DofData > | _elem_to_dof_data |
A map from element ID to Schur complement data. More... | |
std::vector< dof_id_type > | _local_uncondensed_dofs |
All the uncondensed degrees of freedom (numbered in the "full" uncondensed + condensed space). More... | |
MeshBase & | _mesh |
System & | _system |
const DofMap & | _dof_map |
std::unordered_set< unsigned int > | _uncondensed_vars |
Variables for which we will keep all dofs. More... | |
bool | _sc_is_initialized |
Whether our object has been initialized. More... | |
std::vector< Variable > | _reduced_vars |
The variables in the reduced system. More... | |
System * | _reduced_system |
A dummyish system to help with DofObjects. More... | |
std::unique_ptr< SparsityPattern::Build > | _reduced_sp |
Owned storage of the reduced system sparsity pattern. More... | |
std::vector< dof_id_type > | _reduced_nnz |
Number of on-diagonal nonzeros per row in the reduced system. More... | |
std::vector< dof_id_type > | _reduced_noz |
Number of off-diagonal nonzeros per row in the reduced system. More... | |
std::unordered_map< dof_id_type, dof_id_type > | _full_to_reduced_constraint_dofs |
A small map from full system degrees of freedom to reduced/condensed system degrees of freedom involved in constraints. More... | |
Friends | |
class | StaticCondensation |
Friend the static condensation matrix class so they can inspect our degree of freedom data. More... | |
A class holding degree of freedom information pertinent to static condensation.
Static condensation is a process for reducing the number of unknowns in a linear(ized) system. It is often used in conjunction with a hybridized discontinuous Galerkin (HDG) method to reduce the number of unknowns in the linear system to something more on the order of a continuous Galerkin (CG) method as opposed to a discontinuous Galerkin method. In the HDG example, degrees of freedom on the element interiors are condensed out and only the degrees of freedom on element faces are retained in the condensed system. Static condensation is not only applicable to HDG methods, however. One could also use static condensation with a high order CG method, again removing internal degrees of freedom and leaving those on element boundaries.
Users may query this class for condensed space degree of freedom information associated with elements. Queries with nodes are not supported. This class also holds information for mapping degree of freedom indices in the global, uncondensed space to local element degree of freedom numbers. This information is essential in order to build the element Schur complement matrices that are used to map global system vector and matrix data to the condensed system vector and matrix data
Definition at line 59 of file static_condensation_dof_map.h.
libMesh::StaticCondensationDofMap::StaticCondensationDofMap | ( | MeshBase & | mesh, |
System & | system, | ||
const DofMap & | dof_map | ||
) |
Definition at line 31 of file static_condensation_dof_map.C.
|
virtualdefault |
|
private |
Add an uncondensed dof.
full_dof_number | The dof id in the full (uncondensed + condensed) system |
involved_in_constraints | Whether the full_dof_number is involved in constraints |
uncondensed_local_to_global_map | A map from uncondensed full dof numbering to local (element) numbering for a given element |
local_uncondensed_dofs_set | Set of local uncondensed degrees of freedom (numbered in the full system) |
nonlocal_uncondensed_dofs | Map from processor IDs to sets of nonlocal uncondensed degrees of freedom (numbered in the full system) |
elem_uncondensed_dofs | Used for temporary storage of uncondensed degrees of freedom active on an element |
uncondensed_local_dof_number | Counter for number of uncondensed dofs on an element |
constraint_dofs | Set of degrees of freedom numbered in the full system involved in constraints |
Definition at line 45 of file static_condensation_dof_map.C.
References _dof_map, libMesh::DofMap::dof_owner(), and libMesh::DofMap::local_index().
Referenced by add_uncondensed_dof_plus_constraint_dofs().
|
private |
Add an uncondensed dof potentially along with constraining dofs which themselves must/will also be uncondensed.
full_dof_number | The dof id in the full (uncondensed + condensed) system |
involved_in_constraints | Whether the full_dof_number is involved in constraints |
uncondensed_local_to_global_map | A map from uncondensed full dof numbering to local (element) numbering for a given element |
local_uncondensed_dofs_set | Set of local uncondensed degrees of freedom (numbered in the full system) |
nonlocal_uncondensed_dofs | Map from processor IDs to sets of nonlocal uncondensed degrees of freedom (numbered in the full system) |
elem_uncondensed_dofs | Used for temporary storage of uncondensed degrees of freedom active on an element |
uncondensed_local_dof_number | Counter for number of uncondensed dofs on an element |
constraint_dofs | Set of degrees of freedom numbered in the full system involved in constraints |
Definition at line 71 of file static_condensation_dof_map.C.
References _dof_map, add_uncondensed_dof(), libMesh::DofMap::get_dof_constraints(), libMesh::libmesh_ignore(), and libMesh::MeshTools::weight().
Referenced by reinit().
|
overridevirtual |
Reimplemented from libMesh::DofMapBase.
Definition at line 422 of file static_condensation_dof_map.C.
References _elem_to_dof_data, _reduced_nnz, _reduced_noz, _reduced_sp, _reduced_vars, _sc_is_initialized, _uncondensed_vars, and libMesh::DofMapBase::clear().
Referenced by reinit().
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 97 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::Partitioner::_find_global_index_by_pid_map(), 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::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::RBEIMEvaluation::add_interpolation_data(), libMesh::CondensedEigenSystem::add_matrices(), libMesh::EigenSystem::add_matrices(), libMesh::System::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::System::add_vector(), 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::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::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::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::DofMap::computed_sparsity_already(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), 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::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::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_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::System::get_info(), libMesh::DofMap::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(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::StaticCondensation::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), 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::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_recalculate_monitor(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_interface(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_precheck(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), libMesh::LinearImplicitSystem::LinearImplicitSystem(), 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_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::MeshRefinement::make_refinement_compatible(), 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::MeshBase::operator==(), 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::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(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::prepare_for_use(), 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(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::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::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::Nemesis_IO_Helper::read_var_names_impl(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::SimplexRefiner::refine_via_edges(), reinit(), 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::ClawSystem::solve_conservation_law(), libMesh::split_mesh(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), DofMapTest::testBadElemFECombo(), SystemsTest::testBlockRestrictedVarNDofs(), BoundaryInfoTest::testBoundaryOnChildrenErrors(), VolumeTest::testC0PolygonMethods(), VolumeTest::testC0PolyhedronMethods(), ConstraintOperatorTest::testCoreform(), ConnectedComponentsTest::testEdge(), MeshInputTest::testExodusIGASidesets(), MeshTriangulationTest::testFoundCenters(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), PointLocatorTest::testPlanar(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testProjectCubeWithMeshFunction(), BoundaryInfoTest::testRenumber(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), MeshTriangulationTest::testTriangulatorRoundHole(), libMesh::MeshTools::total_weight(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::Poly2TriTriangulator::triangulate(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), update_current_local_solution(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), libMesh::NameBasedIO::write(), libMesh::XdrIO::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::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().
|
protectedinherited |
compute the key degree of freedom information given the local number of degrees of freedom on this process
Referenced by libMesh::DofMap::distribute_dofs(), and reinit().
|
overridevirtual |
Fills the vector di
with the global degree of freedom indices for the element.
For one variable, and potentially for a non-default element p refinement level
Implements libMesh::DofMapBase.
Definition at line 405 of file static_condensation_dof_map.C.
References _elem_to_dof_data, and libMesh::DofObject::id().
Referenced by reinit().
|
overridevirtual |
Fills the vector di
with the global degree of freedom indices for the node
, for one variable vn
.
Implements libMesh::DofMapBase.
Definition at line 414 of file static_condensation_dof_map.C.
|
inline |
Add vars
to the list of variables not to condense.
This can be useful when some variable's equation is discretized with a DG method or if including the variable in the condensed block diagonal would result in it being singular
Definition at line 239 of file static_condensation_dof_map.h.
References _uncondensed_vars.
Referenced by libMesh::StaticCondensation::dont_condense_vars().
|
inlineinherited |
proc
.Analogous to the end() member function of STL containers.
Definition at line 191 of file dof_map_base.h.
References libMesh::DofMapBase::_end_df.
Referenced by DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::SystemSubsetBySubdomain::init(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::SparsityPattern::Build::join(), libMesh::System::local_dof_indices(), AssembleOptimization::lower_and_upper_bounds(), main(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::StaticCondensation::row_stop(), libMesh::System::solve_for_unconstrained_dofs(), DofMapTest::testDofOwner(), NonManifoldGhostingFunctorTest::verify_send_list_entries_helper(), and libMesh::RBConstruction::zero_constrained_dofs_on_vector().
|
inlineinherited |
Definition at line 83 of file dof_map_base.h.
References libMesh::DofMapBase::end_dof(), and libMesh::ParallelObject::processor_id().
Referenced by libMesh::DofMap::distribute_dofs(), libMesh::DofMapBase::end_dof(), libMesh::DofMap::local_index(), libMesh::DofMap::n_local_constrained_dofs(), and libMesh::DofMap::process_mesh_constraint_rows().
|
inlineinherited |
proc
.Analogous to the end() member function of STL containers.
Definition at line 210 of file dof_map_base.h.
References libMesh::DofMapBase::_end_old_df.
Referenced by libMesh::PetscDMWrapper::init_petscdm(), libMesh::BuildProjectionList::operator()(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), and SystemsTest::testProjectMatrix3D().
|
inlineinherited |
Definition at line 140 of file dof_map_base.h.
References libMesh::DofMapBase::end_old_dof(), and libMesh::ParallelObject::processor_id().
Referenced by libMesh::DofMapBase::end_old_dof().
|
inlineinherited |
proc
. Definition at line 185 of file dof_map_base.h.
References libMesh::DofMapBase::_first_df.
Referenced by libMesh::PetscDMWrapper::build_sf(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::SystemSubsetBySubdomain::init(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::System::local_dof_indices(), AssembleOptimization::lower_and_upper_bounds(), main(), libMesh::SparsityPattern::Build::parallel_sync(), reinit(), libMesh::StaticCondensation::row_start(), libMesh::System::solve_for_unconstrained_dofs(), DofMapTest::testDofOwner(), NonManifoldGhostingFunctorTest::verify_send_list_entries_helper(), and libMesh::RBConstruction::zero_constrained_dofs_on_vector().
|
inlineinherited |
Definition at line 73 of file dof_map_base.h.
References libMesh::DofMapBase::first_dof(), and libMesh::ParallelObject::processor_id().
Referenced by libMesh::DofMap::distribute_dofs(), libMesh::DofMapBase::first_dof(), libMesh::DofMap::local_index(), libMesh::DofMap::n_local_constrained_dofs(), and libMesh::DofMap::process_mesh_constraint_rows().
|
inlineinherited |
proc
. Definition at line 204 of file dof_map_base.h.
References libMesh::DofMapBase::_first_old_df.
Referenced by libMesh::PetscDMWrapper::init_petscdm(), libMesh::BuildProjectionList::operator()(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), and SystemsTest::testProjectMatrix3D().
|
inlineinherited |
Definition at line 130 of file dof_map_base.h.
References libMesh::DofMapBase::first_old_dof(), and libMesh::ParallelObject::processor_id().
Referenced by libMesh::DofMapBase::first_old_dof().
|
inline |
Retrieve the dof index in the reduced system corresponding to the provided dof index in the full system.
This dof index should be a dof index involved in constraints
Definition at line 251 of file static_condensation_dof_map.h.
References _full_to_reduced_constraint_dofs.
Referenced by libMesh::StaticCondensation::set().
|
inline |
Whether we are initialized.
Definition at line 107 of file static_condensation_dof_map.h.
References _sc_is_initialized.
Referenced by libMesh::StaticCondensation::init(), and reinit().
|
inlineinherited |
Definition at line 105 of file dof_map_base.h.
References libMesh::DofMapBase::_n_dfs.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::add_constraint_row(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DofMap::distribute_dofs(), libMesh::StaticCondensation::init(), libMesh::DofMap::prepare_send_list(), and libMesh::DofMap::process_mesh_constraint_rows().
|
inlineinherited |
proc
. Definition at line 197 of file dof_map_base.h.
References libMesh::DofMapBase::_end_df, and libMesh::DofMapBase::_first_df.
Referenced by libMesh::DofMapBase::n_local_dofs(), and SystemsTest::testProjectMatrix3D().
|
inlineinherited |
Definition at line 115 of file dof_map_base.h.
References libMesh::DofMapBase::n_dofs_on_processor(), and libMesh::ParallelObject::processor_id().
Referenced by libMesh::DofMap::build_sparsity(), libMesh::StaticCondensation::init(), libMesh::DofMap::n_dofs(), libMesh::DofMap::n_dofs_per_processor(), and libMesh::DofMap::process_mesh_constraint_rows().
|
inlineinherited |
Definition at line 123 of file dof_map_base.h.
References libMesh::DofMapBase::_n_old_dfs.
Referenced by libMesh::BuildProjectionList::operator()(), and libMesh::DofMap::SCALAR_dof_indices().
|
inlineinherited |
Definition at line 103 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, libMesh::libmesh_assert(), and TIMPI::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::DofMap::add_neighbors_to_send_list(), 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::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), 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::Nemesis_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::n_active_elem_on_proc(), libMesh::DofMap::n_dofs_per_processor(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::Partitioner::partition(), libMesh::MeshBase::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::MeshBase::print_constraint_rows(), 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(), 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::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::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().
|
overridevirtual |
Implements libMesh::DofMapBase.
Definition at line 398 of file static_condensation_dof_map.C.
References _reduced_vars.
|
inlineinherited |
Definition at line 114 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and TIMPI::Communicator::rank().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), 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::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), 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::DistributedMesh::delete_elem(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), 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::DofMap::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::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::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(), libMesh::DofMap::local_variable_indices(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), 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::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), 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::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::DynaIO::read_mesh(), 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::Nemesis_IO_Helper::read_var_names_impl(), libMesh::SimplexRefiner::refine_via_edges(), 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(), ExodusTest< elem_type >::test_read_gold(), ExodusTest< elem_type >::test_write(), MeshInputTest::testAbaqusRead(), MeshInputTest::testBadGmsh(), 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(), MeshInputTest::testLowOrderEdgeBlocks(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), WriteVecAndScalar::testSolution(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), libMesh::MeshTools::total_weight(), libMesh::NetGenMeshInterface::triangulate(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), 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_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::UCDIO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::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::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_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::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().
|
inline |
Definition at line 244 of file static_condensation_dof_map.h.
References _reduced_system, and libMesh::libmesh_assert().
void libMesh::StaticCondensationDofMap::reinit | ( | ) |
Build the element global to local index maps.
Definition at line 111 of file static_condensation_dof_map.C.
References libMesh::ParallelObject::_communicator, _dof_map, _elem_to_dof_data, libMesh::DofMapBase::_first_df, _full_to_reduced_constraint_dofs, _local_uncondensed_dofs, _mesh, _reduced_nnz, _reduced_noz, _reduced_sp, _reduced_system, _reduced_vars, _sc_is_initialized, _system, _uncondensed_vars, libMesh::EquationSystems::add_system(), add_uncondensed_dof_plus_constraint_dofs(), libMesh::DofMap::build_sparsity(), clear(), libMesh::ParallelObject::comm(), libMesh::DofMapBase::compute_dof_info(), dof_indices(), libMesh::DofMap::dof_indices(), libMesh::FEType::family, libMesh::DofMapBase::first_dof(), libMesh::System::get_equation_systems(), libMesh::index_range(), libMesh::System::init(), initialized(), libMesh::DofObject::invalid_id, libMesh::invalid_uint, libMesh::System::is_initialized(), libMesh::libmesh_assert(), libMesh::libmesh_ignore(), libMesh::make_range(), libMesh::DofMap::n_variable_groups(), libMesh::Variable::name(), libMesh::MeshTools::Subdivision::next, libMesh::VariableGroup::number(), libMesh::System::number(), libMesh::ParallelObject::processor_id(), TIMPI::pull_parallel_vector_data(), libMesh::SCALAR, libMesh::DofMap::SCALAR_dof_indices(), TIMPI::Communicator::set_union(), TIMPI::Communicator::size(), TIMPI::Communicator::sum(), libMesh::Variable::type(), libMesh::DofMap::variable(), and libMesh::DofMap::variable_group().
|
inline |
Definition at line 84 of file static_condensation_dof_map.h.
References _uncondensed_vars.
Referenced by libMesh::SparsityPattern::Build::sorted_connected_dofs().
|
overridevirtual |
c
. Implements libMesh::DofMapBase.
Definition at line 400 of file static_condensation_dof_map.C.
References _reduced_vars.
|
friend |
Friend the static condensation matrix class so they can inspect our degree of freedom data.
Definition at line 197 of file static_condensation_dof_map.h.
|
protectedinherited |
Definition at line 120 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::StaticCondensation::close(), libMesh::ParallelObject::comm(), libMesh::CondensedEigenSystem::initialize_condensed_matrices(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), libMesh::ParallelObject::processor_id(), libMesh::BoundaryInfo::regenerate_id_sets(), and reinit().
|
private |
Definition at line 209 of file static_condensation_dof_map.h.
Referenced by add_uncondensed_dof(), add_uncondensed_dof_plus_constraint_dofs(), and reinit().
|
private |
A map from element ID to Schur complement data.
Definition at line 200 of file static_condensation_dof_map.h.
Referenced by libMesh::StaticCondensation::add_matrix(), libMesh::StaticCondensation::backwards_substitution(), clear(), libMesh::StaticCondensation::close(), dof_indices(), libMesh::StaticCondensation::forward_elimination(), libMesh::StaticCondensation::init(), and reinit().
|
protectedinherited |
Last DOF index (plus 1) on processor p
.
Definition at line 159 of file dof_map_base.h.
Referenced by libMesh::DofMapBase::clear(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::dof_owner(), libMesh::DofMapBase::end_dof(), libMesh::DofMap::gather_constraints(), libMesh::DofMapBase::n_dofs_on_processor(), and libMesh::DofMap::scatter_constraints().
|
protectedinherited |
Last old DOF index (plus 1) on processor p
.
Definition at line 181 of file dof_map_base.h.
Referenced by libMesh::DofMap::clear(), and libMesh::DofMapBase::end_old_dof().
|
protectedinherited |
First DOF index on processor p
.
Definition at line 154 of file dof_map_base.h.
Referenced by libMesh::DofMapBase::clear(), libMesh::DofMap::distribute_dofs(), libMesh::DofMapBase::first_dof(), libMesh::DofMapBase::n_dofs_on_processor(), and reinit().
|
protectedinherited |
First old DOF index on processor p
.
Definition at line 176 of file dof_map_base.h.
Referenced by libMesh::DofMap::clear(), and libMesh::DofMapBase::first_old_dof().
|
private |
A small map from full system degrees of freedom to reduced/condensed system degrees of freedom involved in constraints.
This may be leveraged by StaticCondensation::set
during DofMap::enforce_constraints_on_jacobian
at the very end of Jacobian evaluation
Definition at line 235 of file static_condensation_dof_map.h.
Referenced by get_reduced_from_global_constraint_dof(), and reinit().
|
private |
All the uncondensed degrees of freedom (numbered in the "full" uncondensed + condensed space).
This data member is used for creating subvectors corresponding to only uncondensed dofs
Definition at line 205 of file static_condensation_dof_map.h.
Referenced by libMesh::StaticCondensation::apply(), libMesh::StaticCondensation::forward_elimination(), and reinit().
|
private |
Definition at line 207 of file static_condensation_dof_map.h.
Referenced by reinit().
|
protectedinherited |
Total number of degrees of freedom.
Definition at line 164 of file dof_map_base.h.
Referenced by libMesh::DofMapBase::clear(), and libMesh::DofMapBase::n_dofs().
|
protectedinherited |
Total number of degrees of freedom on old dof objects.
Definition at line 171 of file dof_map_base.h.
Referenced by libMesh::DofMap::clear(), and libMesh::DofMapBase::n_old_dofs().
|
private |
Number of on-diagonal nonzeros per row in the reduced system.
Definition at line 227 of file static_condensation_dof_map.h.
Referenced by clear(), libMesh::StaticCondensation::init(), and reinit().
|
private |
Number of off-diagonal nonzeros per row in the reduced system.
Definition at line 230 of file static_condensation_dof_map.h.
Referenced by clear(), libMesh::StaticCondensation::init(), and reinit().
|
private |
Owned storage of the reduced system sparsity pattern.
Definition at line 224 of file static_condensation_dof_map.h.
Referenced by clear(), libMesh::StaticCondensation::init(), and reinit().
|
private |
A dummyish system to help with DofObjects.
Definition at line 221 of file static_condensation_dof_map.h.
Referenced by reduced_system(), and reinit().
|
private |
The variables in the reduced system.
Definition at line 218 of file static_condensation_dof_map.h.
Referenced by clear(), n_variables(), reinit(), and variable().
|
private |
Whether our object has been initialized.
Definition at line 215 of file static_condensation_dof_map.h.
Referenced by clear(), initialized(), and reinit().
|
private |
Definition at line 208 of file static_condensation_dof_map.h.
Referenced by reinit().
|
private |
Variables for which we will keep all dofs.
Definition at line 212 of file static_condensation_dof_map.h.
Referenced by clear(), dont_condense_vars(), reinit(), and uncondensed_vars().