SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
DistributedLinearSolverAlgorithmTestHelpers Namespace Reference

Functionality to test parallel linear solvers on multiple elements. More...

Classes

struct  CollectOperatorAction
struct  ComputeOperatorAction
struct  ExpectedResult
struct  InitializeElement
struct  LinearOperator
struct  ScalarFieldTag
struct  Source
struct  TestResult

Typedefs

using fields_tag = Tags::Variables<tmpl::list<ScalarFieldTag>>
using sources_tag = db::add_tag_prefix<::Tags::FixedSource, fields_tag>
using operator_applied_to_fields_tag
template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using initialization_actions
template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using register_actions
template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using solve_actions
template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using test_actions
template<typename Metavariables>
using ElementArray
template<typename Metavariables>
using component_list

Functions

size_t get_index (const ElementId< 1 > &element_id)
blaze::DynamicMatrix< double > combine_matrix_slices (const std::vector< blaze::DynamicMatrix< double > > &matrix_slices)

Detailed Description

Functionality to test parallel linear solvers on multiple elements.

Typedef Documentation

◆ component_list

template<typename Metavariables>
using DistributedLinearSolverAlgorithmTestHelpers::component_list
Initial value:
tmpl::push_back<tmpl::append<helpers::detail::get_component_list<
typename Metavariables::linear_solver>,
helpers::detail::get_component_list<
typename Metavariables::preconditioner>>,
ElementArray<Metavariables>,
Definition LinearSolverAlgorithmTestHelpers.hpp:386
The nodegroup parallel component that is responsible for writing data to disk.
Definition ObserverComponent.hpp:52
The group parallel component that is responsible for reducing data to be observed.
Definition ObserverComponent.hpp:30

◆ ElementArray

template<typename Metavariables>
using DistributedLinearSolverAlgorithmTestHelpers::ElementArray
Initial value:
Metavariables,
initialization_actions<Metavariables>>,
register_actions<Metavariables>>,
solve_actions<Metavariables>>,
test_actions<Metavariables>>>>
@ Register
phase in which components register with other components
Definition Phase.hpp:79
@ Initialization
initial phase of an executable
Definition Phase.hpp:67
@ Solve
phase in which something is solved
Definition Phase.hpp:85
@ Testing
phase in which something is tested
Definition Phase.hpp:87
List of all the actions to be executed in the specified phase.
Definition PhaseDependentActionList.hpp:17
The parallel component responsible for managing the DG elements that compose the computational domain...
Definition DgElementArray.hpp:187

◆ initialization_actions

template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using DistributedLinearSolverAlgorithmTestHelpers::initialization_actions
Initial value:
tmpl::list<InitializeElement, typename LinearSolverType::initialize_element,
helpers::detail::init_preconditioner<PreconditionerType>,
Definition DistributedLinearSolverAlgorithmTestHelpers.hpp:150
Definition DistributedLinearSolverAlgorithmTestHelpers.hpp:270
Terminate the algorithm to proceed to the next phase.
Definition TerminatePhase.hpp:28

◆ operator_applied_to_fields_tag

using DistributedLinearSolverAlgorithmTestHelpers::operator_applied_to_fields_tag
Initial value:
typename detail::add_tag_prefix_impl< Prefix, Tag, Args... >::type add_tag_prefix
Wrap Tag in Prefix<_, Args...>, unless Tag is a Tags::Variables, in which case this creates a new Tag...
Definition PrefixHelpers.hpp:50

◆ register_actions

template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using DistributedLinearSolverAlgorithmTestHelpers::register_actions
Initial value:
tmpl::list<typename LinearSolverType::register_element,
helpers::detail::register_preconditioner<PreconditionerType>,

◆ solve_actions

template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using DistributedLinearSolverAlgorithmTestHelpers::solve_actions
Initial value:
tmpl::list<
typename LinearSolverType::template solve<tmpl::list<
detail::run_preconditioner<PreconditionerType>,

◆ test_actions

template<typename Metavariables, typename LinearSolverType = typename Metavariables::linear_solver, typename PreconditionerType = typename Metavariables::preconditioner>
using DistributedLinearSolverAlgorithmTestHelpers::test_actions
Initial value:
tmpl::list<TestResult<typename LinearSolverType::options_group>>