DDM solvers¶
Builder¶
-
template<typename CoefficientPrecision, typename CoordinatePrecision = underlying_type<CoefficientPrecision>>
class DDMSolverBuilder¶ Public Functions
-
inline DDMSolverBuilder(DistributedOperator<CoefficientPrecision> &distributed_operator, HMatrix<CoefficientPrecision, CoordinatePrecision> &block_diagonal_hmatrix)¶
-
inline DDMSolverBuilder(DistributedOperator<CoefficientPrecision> &distributed_operator, HMatrix<CoefficientPrecision, CoordinatePrecision> &block_diagonal_hmatrix, const VirtualGenerator<CoefficientPrecision> &generator, const std::vector<int> &ovr_subdomain_to_global, const std::vector<int> &cluster_to_ovr_subdomain, const std::vector<int> &neighbors, const std::vector<std::vector<int>> &intersections)¶
-
inline DDMSolverBuilder(DistributedOperator<CoefficientPrecision> &distributed_operator, const std::vector<int> &ovr_subdomain_to_global, const std::vector<int> &cluster_to_ovr_subdomain, const std::vector<int> &neighbors, const std::vector<std::vector<int>> &intersections, const VirtualGenerator<CoefficientPrecision> &generator, int spatial_dimension, const CoordinatePrecision *global_geometry, const CoordinatePrecision *radii, const CoordinatePrecision *weights, const ClusterTreeBuilder<CoordinatePrecision> &cluster_tree_builder, const HMatrixTreeBuilder<CoefficientPrecision, CoordinatePrecision> &local_hmatrix_builder)¶
-
inline DDMSolverBuilder(DistributedOperator<CoefficientPrecision> &distributed_operator, const std::vector<int> &ovr_subdomain_to_global, const std::vector<int> &cluster_to_ovr_subdomain, const std::vector<int> &neighbors, const std::vector<std::vector<int>> &intersections, const VirtualGenerator<CoefficientPrecision> &generator, int spatial_dimension, const CoordinatePrecision *global_geometry, const ClusterTreeBuilder<CoordinatePrecision> &cluster_tree_builder, const HMatrixTreeBuilder<CoefficientPrecision, CoordinatePrecision> &local_hmatrix_builder)¶
Public Members
-
const std::vector<int> &local_to_global_numbering¶
-
std::unique_ptr<HMatrix<CoefficientPrecision, CoordinatePrecision>> local_hmatrix¶
-
std::array<Matrix<CoefficientPrecision>, 3> blocks_in_overlap¶
-
DDM<CoefficientPrecision, HPDDMCustomLocalSolver> solver¶
-
inline DDMSolverBuilder(DistributedOperator<CoefficientPrecision> &distributed_operator, HMatrix<CoefficientPrecision, CoordinatePrecision> &block_diagonal_hmatrix)¶
DDM¶
-
template<typename CoefficientPrecision, template<class> class LocalSolver>
class DDM¶ Public Functions
-
virtual ~DDM() = default¶
-
inline void clean()¶
-
inline DDM(int size_w_overlap, const DistributedOperator<CoefficientPrecision> &distributed_operator, std::unique_ptr<HPDDMOperator<CoefficientPrecision, LocalSolver>> hpddm_op)¶
-
inline void facto_one_level()¶
-
inline void build_coarse_space(VirtualCoarseSpaceBuilder<CoefficientPrecision> &coarse_space_builder, VirtualCoarseOperatorBuilder<CoefficientPrecision> &coarse_operator_builder)¶
-
inline void solve(const CoefficientPrecision *const rhs, CoefficientPrecision *const x, const int &mu = 1)¶
-
inline void print_infos() const¶
-
inline void save_infos(const std::string &outputname, std::ios_base::openmode mode = std::ios_base::app, const std::string &sep = " = ") const¶
-
inline void add_infos(std::string key, std::string value) const¶
-
inline void set_infos(std::string key, std::string value) const¶
-
inline std::string get_information(const std::string &key) const¶
-
inline std::map<std::string, std::string> get_information() const¶
-
inline int get_nevi() const¶
-
inline int get_local_size() const¶
-
virtual ~DDM() = default¶