|
HybridADRSolver
|
Matrix-based solver with hybrid MPI+threading parallelization. More...
#include <matrix_based_solver.h>


Public Member Functions | |
| MatrixBasedSolver (const ProblemInterface< dim > &problem, unsigned int degree, MPI_Comm comm, const SolverParameters ¶ms=SolverParameters()) | |
| void | run (unsigned int n_refinements) override |
| SolverType | get_solver_type () const override |
| std::string | get_name () const override |
| const LADistributed::MPI::SparseMatrix & | get_system_matrix () const |
| double | compute_memory_usage () const |
| Compute memory usage in MB. | |
| double | compute_l2_error () |
| Compute the L2 error of the solution. | |
| Public Member Functions inherited from HybridADRSolver::ParallelSolverBase< dim > | |
| ParallelSolverBase (MPI_Comm comm, SolverParameters params, bool construct_mg_hierarchy=false) | |
| virtual | ~ParallelSolverBase ()=default |
| const TimingResults & | get_timing_results () const |
Protected Member Functions | |
| void | setup_dofs () override |
| void | assemble_system () override |
| void | solve () override |
| void | output_results (unsigned int cycle) const override |
| Protected Member Functions inherited from HybridADRSolver::ParallelSolverBase< dim > | |
| virtual void | setup_grid (unsigned int n_refinements) |
Additional Inherited Members | |
| Protected Attributes inherited from HybridADRSolver::ParallelSolverBase< dim > | |
| MPI_Comm | mpi_communicator |
| unsigned int | n_mpi_processes |
| unsigned int | this_mpi_process |
| parallel::distributed::Triangulation< dim > | triangulation |
| std::unique_ptr< FiniteElement< dim > > | fe |
| DoFHandler< dim > | dof_handler |
| std::unique_ptr< Mapping< dim > > | mapping |
| AffineConstraints< double > | constraints |
| IndexSet | locally_owned_dofs |
| IndexSet | locally_relevant_dofs |
| SolverParameters | parameters |
| TimingResults | timing_results |
| ConditionalOStream | pcout |
| TimerOutput | computing_timer |
| bool | has_mg_hierarchy |
Matrix-based solver with hybrid MPI+threading parallelization.
| dim | Spatial dimension |
| HybridADRSolver::MatrixBasedSolver< dim >::MatrixBasedSolver | ( | const ProblemInterface< dim > & | problem, |
| unsigned int | degree, | ||
| MPI_Comm | comm, | ||
| const SolverParameters & | params = SolverParameters() ) |
Constructor
| problem | The PDE problem to solve |
| degree | Polynomial degree of finite elements |
| comm | MPI communicator |
| params | Solver parameters |
|
overrideprotectedvirtual |
Assemble the system (matrix and/or RHS)
Implements HybridADRSolver::ParallelSolverBase< dim >.
| double HybridADRSolver::MatrixBasedSolver< dim >::compute_l2_error | ( | ) |
Compute the L2 error of the solution.
| double HybridADRSolver::MatrixBasedSolver< dim >::compute_memory_usage | ( | ) | const |
Compute memory usage in MB.
|
inlineoverridevirtual |
Get a descriptive name for the solver
Implements HybridADRSolver::ParallelSolverBase< dim >.
|
inlineoverridevirtual |
Get the solver type (matrix-based or matrix-free)
Implements HybridADRSolver::ParallelSolverBase< dim >.
|
inline |
Get the system matrix (for analysis/debugging)
|
overrideprotectedvirtual |
Output results to files
| cycle | Current refinement cycle |
Implements HybridADRSolver::ParallelSolverBase< dim >.
|
overridevirtual |
Run the complete solve cycle
| n_refinements | Number of global mesh refinements |
Implements HybridADRSolver::ParallelSolverBase< dim >.
|
overrideprotectedvirtual |
Distribute degrees of freedom and setup constraints
Implements HybridADRSolver::ParallelSolverBase< dim >.
|
overrideprotectedvirtual |
Solve the linear system
Implements HybridADRSolver::ParallelSolverBase< dim >.