#include <laplacian.h>
Private Types | |
using | VectorType = LA::MPI::Vector |
using | BlockVectorType = LA::MPI::BlockVector |
Private Attributes | |
const ProblemParameters< dim, spacedim > & | par |
MPI_Comm | mpi_communicator |
ConditionalOStream | pcout |
TimerOutput | computing_timer |
parallel::distributed::Triangulation< spacedim > | tria |
std::unique_ptr< FiniteElement< spacedim > > | fe |
Inclusions< spacedim > | inclusions |
std::unique_ptr< Quadrature< spacedim > > | quadrature |
DoFHandler< spacedim > | dh |
std::vector< IndexSet > | owned_dofs |
std::vector< IndexSet > | relevant_dofs |
AffineConstraints< double > | constraints |
AffineConstraints< double > | inclusion_constraints |
LA::MPI::SparseMatrix | coupling_matrix |
LA::MPI::SparseMatrix | inclusion_matrix |
MappingQ< spacedim > | mapping |
LA::MPI::SparseMatrix | stiffness_matrix |
BlockVectorType | solution |
BlockVectorType | locally_relevant_solution |
BlockVectorType | system_rhs |
std::vector< std::vector< BoundingBox< spacedim > > > | global_bounding_boxes |
unsigned int | cycle = 0 |
Additional Inherited Members | |
![]() | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Definition at line 192 of file laplacian.h.
|
private |
Definition at line 271 of file laplacian.h.
|
private |
Definition at line 270 of file laplacian.h.
PoissonProblem< dim, spacedim >::PoissonProblem | ( | const ProblemParameters< dim, spacedim > & | par | ) |
Definition at line 43 of file laplacian.cc.
References computing_timer, dh, mapping, mpi_communicator, par, pcout, and tria.
void PoissonProblem< dim, spacedim >::assemble_coupling | ( | ) |
Definition at line 400 of file laplacian.cc.
References VectorOperation::add, computing_timer, constraints, coupling_matrix, dh, fe, inclusion_constraints, inclusion_matrix, inclusions, pcout, FEValues< int dim, int spacedim >::reinit(), FEValues< int dim, int spacedim >::shape_value(), stiffness_matrix, and system_rhs.
Referenced by run().
IndexSet PoissonProblem< dim, spacedim >::assemble_coupling_sparsity | ( | DynamicSparsityPattern & | dsp | ) | const |
Builds coupling sparsity, and returns locally relevant inclusion dofs.
Definition at line 353 of file laplacian.cc.
References IndexSet::add_indices(), computing_timer, constraints, dh, fe, inclusion_constraints, and inclusions.
Referenced by setup_dofs().
void PoissonProblem< dim, spacedim >::assemble_poisson_system | ( | ) |
Definition at line 299 of file laplacian.cc.
References VectorOperation::add, constraints, coupling_matrix, dh, fe, FEValues< int dim, int spacedim >::get_quadrature_points(), FEValues< int dim, int spacedim >::JxW(), par, quadrature, FEValues< int dim, int spacedim >::reinit(), FEValues< int dim, int spacedim >::shape_value(), stiffness_matrix, and system_rhs.
Referenced by run().
void PoissonProblem< dim, spacedim >::make_grid | ( | ) |
Definition at line 118 of file laplacian.cc.
References GridGenerator::generate_from_name_and_arguments(), par, pcout, read_grid_and_cad_files(), and tria.
Referenced by run().
void PoissonProblem< dim, spacedim >::output_results | ( | ) | const |
Definition at line 788 of file laplacian.cc.
References cycle, inclusions, output_solution(), par, and DataOutBase::write_pvd_record().
Referenced by run().
std::string PoissonProblem< dim, spacedim >::output_solution | ( | ) | const |
Definition at line 750 of file laplacian.cc.
References DataOut< int dim, int spacedim >::add_data_vector(), DataOut< int dim, int spacedim >::attach_dof_handler(), DataOut< int dim, int spacedim >::build_patches(), computing_timer, cycle, dh, locally_relevant_solution, mpi_communicator, par, Vector< typename Number >::size(), tria, and DataOut< int dim, int spacedim >::write_vtu_in_parallel().
Referenced by output_results().
void PoissonProblem< dim, spacedim >::print_parameters | ( | ) | const |
Definition at line 815 of file laplacian.cc.
References Utilities::dim_string(), par, pcout, and ParameterHandler::Short.
Referenced by run().
void PoissonProblem< dim, spacedim >::refine_and_transfer | ( | ) |
Definition at line 705 of file laplacian.cc.
References computing_timer, constraints, dh, KellyErrorEstimator< int dim, int spacedim >::estimate(), inclusions, SolutionTransfer< int dim, typename VectorType, int spacedim >::interpolate(), locally_relevant_solution, par, SolutionTransfer< int dim, typename VectorType, int spacedim >::prepare_for_coarsening_and_refinement(), parallel::distributed::GridRefinement::refine_and_coarsen_fixed_fraction(), parallel::distributed::GridRefinement::refine_and_coarsen_fixed_number(), setup_dofs(), solution, and tria.
Referenced by run().
void PoissonProblem< dim, spacedim >::run | ( | ) |
Definition at line 832 of file laplacian.cc.
References assemble_coupling(), assemble_poisson_system(), constraints, cycle, dh, fe, inclusions, locally_relevant_solution, make_grid(), mapping, output_results(), par, pcout, print_parameters(), refine_and_transfer(), setup_dofs(), setup_fe(), solve(), and tria.
void PoissonProblem< dim, spacedim >::setup_dofs | ( | ) |
Definition at line 149 of file laplacian.cc.
References DynamicSparsityPattern::add(), assemble_coupling_sparsity(), AffineConstraints< typename number >::close(), computing_timer, AffineConstraints< typename number >::constrain_dof_to_zero(), constraints, coupling_matrix, Utilities::MPI::create_evenly_distributed_partitioning(), dh, SparsityTools::distribute_sparsity_pattern(), DoFTools::extract_locally_relevant_dofs(), DoFTools::extract_locally_relevant_level_dofs(), fe, inclusion_constraints, inclusion_matrix, inclusions, VectorTools::interpolate_boundary_values(), locally_relevant_solution, DoFTools::make_hanging_node_constraints(), DoFTools::make_sparsity_pattern(), mapping, MatrixFree::AdditionalData::mapping_update_flags, MatrixFree::AdditionalData::mg_level, mpi_communicator, MatrixFree::AdditionalData::none, owned_dofs, par, pcout, relevant_dofs, solution, stiffness_matrix, system_rhs, MatrixFree::AdditionalData::tasks_parallel_scheme, and tria.
Referenced by refine_and_transfer(), and run().
void PoissonProblem< dim, spacedim >::setup_fe | ( | ) |
Definition at line 139 of file laplacian.cc.
References computing_timer, fe, par, and quadrature.
Referenced by run().
void PoissonProblem< dim, spacedim >::solve | ( | ) |
Definition at line 548 of file laplacian.cc.
References MGTransferMatrixFree< int dim, typename Number >::build(), computing_timer, constraints, coupling_matrix, dh, inclusion_constraints, inclusion_matrix, inclusions, MGCoarseGridApplySmoother< typename VectorType >::initialize(), numbers::invalid_unsigned_int, locally_relevant_solution, mpi_communicator, owned_dofs, par, pcout, relevant_dofs, MGLevelObject< class Object >::resize(), solution, stiffness_matrix, system_rhs, and tria.
Referenced by run().
|
mutableprivate |
Definition at line 239 of file laplacian.h.
Referenced by assemble_coupling(), assemble_coupling_sparsity(), output_solution(), PoissonProblem(), refine_and_transfer(), setup_dofs(), setup_fe(), and solve().
|
private |
Definition at line 249 of file laplacian.h.
Referenced by assemble_coupling(), assemble_coupling_sparsity(), assemble_poisson_system(), refine_and_transfer(), run(), setup_dofs(), and solve().
|
private |
Definition at line 252 of file laplacian.h.
Referenced by assemble_coupling(), assemble_poisson_system(), setup_dofs(), and solve().
|
private |
Definition at line 278 of file laplacian.h.
Referenced by output_results(), output_solution(), and run().
|
private |
Definition at line 245 of file laplacian.h.
Referenced by assemble_coupling(), assemble_coupling_sparsity(), assemble_poisson_system(), output_solution(), PoissonProblem(), refine_and_transfer(), run(), setup_dofs(), and solve().
|
private |
Definition at line 241 of file laplacian.h.
Referenced by assemble_coupling(), assemble_coupling_sparsity(), assemble_poisson_system(), run(), setup_dofs(), and setup_fe().
|
private |
Definition at line 277 of file laplacian.h.
|
private |
Definition at line 250 of file laplacian.h.
Referenced by assemble_coupling(), assemble_coupling_sparsity(), setup_dofs(), and solve().
|
private |
Definition at line 253 of file laplacian.h.
Referenced by assemble_coupling(), setup_dofs(), and solve().
|
private |
Definition at line 242 of file laplacian.h.
Referenced by assemble_coupling(), assemble_coupling_sparsity(), output_results(), refine_and_transfer(), run(), setup_dofs(), and solve().
|
private |
Definition at line 275 of file laplacian.h.
Referenced by output_solution(), refine_and_transfer(), run(), setup_dofs(), and solve().
|
private |
Definition at line 254 of file laplacian.h.
Referenced by PoissonProblem(), run(), and setup_dofs().
|
private |
Definition at line 237 of file laplacian.h.
Referenced by output_solution(), PoissonProblem(), setup_dofs(), and solve().
|
private |
Definition at line 246 of file laplacian.h.
Referenced by setup_dofs(), and solve().
|
private |
Definition at line 236 of file laplacian.h.
Referenced by assemble_poisson_system(), make_grid(), output_results(), output_solution(), PoissonProblem(), print_parameters(), refine_and_transfer(), run(), setup_dofs(), setup_fe(), and solve().
|
private |
Definition at line 238 of file laplacian.h.
Referenced by assemble_coupling(), make_grid(), PoissonProblem(), print_parameters(), run(), setup_dofs(), and solve().
|
private |
Definition at line 243 of file laplacian.h.
Referenced by assemble_poisson_system(), and setup_fe().
|
private |
Definition at line 247 of file laplacian.h.
Referenced by setup_dofs(), and solve().
|
private |
Definition at line 274 of file laplacian.h.
Referenced by refine_and_transfer(), setup_dofs(), and solve().
|
private |
Definition at line 269 of file laplacian.h.
Referenced by assemble_coupling(), assemble_poisson_system(), setup_dofs(), and solve().
|
private |
Definition at line 276 of file laplacian.h.
Referenced by assemble_coupling(), assemble_poisson_system(), setup_dofs(), and solve().
|
private |
Definition at line 240 of file laplacian.h.
Referenced by make_grid(), output_solution(), PoissonProblem(), refine_and_transfer(), run(), setup_dofs(), and solve().