21 template<
class TSparseSpace,
class TDenseSpace,
class TLinearSolver>
29 typename TLinearSolver::Pointer pNewLinearSystemSolver)
31 const std::string block_builder_entry =
"block_builder";
33 "the block_builder parameter is not defined, aborting BuilderAndSolverCreation";
35 if (rSolverSettings[block_builder_entry].GetBool())
37 return std::make_shared<ResidualBasedBlockBuilderAndSolver<TSparseSpace, TDenseSpace, TLinearSolver>>(pNewLinearSystemSolver);
40 return std::make_shared<ResidualBasedEliminationBuilderAndSolver<TSparseSpace, TDenseSpace, TLinearSolver>>(pNewLinearSystemSolver);
Definition: builder_and_solver_factory.hpp:23
static std::shared_ptr< BuilderAndSolverType > Create(const Parameters &rSolverSettings, typename TLinearSolver::Pointer pNewLinearSystemSolver)
Definition: builder_and_solver_factory.hpp:28
Current class provides an implementation for the base builder and solving operations.
Definition: builder_and_solver.h:64
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
bool Has(const std::string &rEntry) const
This method checks if the Parameter contains a certain entry.
Definition: kratos_parameters.cpp:520
#define KRATOS_ERROR_IF_NOT(conditional)
Definition: exception.h:163
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21