12 #ifndef MFEM_AUXILIARY 13 #define MFEM_AUXILIARY 15 #include "../config/config.hpp" 26 class MatrixCoefficient;
28 class ParBilinearForm;
29 class ParDiscreteLinearOperator;
63 int cg_iterations = 0);
86 int cg_iterations = 1);
99 void SetupAMG(
int system_dimension);
104 int inner_cg_iterations);
116 mutable int inner_aux_iterations;
198 bool useAmgX =
false,
200 int inner_pi_its = 0,
int inner_g_its = 1,
201 Solver* nd_smoother = NULL);
227 #endif // MFEM_USE_MPI virtual void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
Conjugate gradient method.
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
Pointer to an Operator of a specified type.
void SetOperator(const Operator &op)
in principle this should set A_ = op;
Abstract parallel finite element space.
An auxiliary Maxwell solver for a high-order curl-curl system without high-order assembly.
~MatrixFreeAuxiliarySpace()
Perform AMS cycle with generic Operator objects.
MatrixFreeAMS(ParBilinearForm &aform, Operator &oper, ParFiniteElementSpace &nd_fespace, Coefficient *alpha_coeff, Coefficient *beta_coeff, MatrixCoefficient *beta_mcoeff, Array< int > &ess_bdr, #ifdef MFEM_USE_AMGX bool useAmgX=false, #endif int inner_pi_its=0, int inner_g_its=1, Solver *nd_smoother=NULL)
Construct matrix-free AMS preconditioner.
void SetOperator(const Operator &op)
Set/update the solver for the given operator.
void SetOperator(const Operator &op)
Set/update the solver for the given operator.
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormI...
Base class for Matrix Coefficients that optionally depend on time and space.
Auxiliary space solvers for MatrixFreeAMS preconditioner.
GeneralAMS(const Operator &curlcurl_op_, const Operator &pi_, const Operator &gradient_, const Operator &pispacesolver_, const Operator &gspacesolver_, const Operator &smoother_, const Array< int > &ess_tdof_list_)
Constructor.
MatrixFreeAuxiliarySpace(ParMesh &mesh_lor, Coefficient *alpha_coeff, Coefficient *beta_coeff, MatrixCoefficient *beta_mcoeff, Array< int > &ess_bdr, Operator &curlcurl_oper, Operator &pi, #ifdef MFEM_USE_AMGX bool useAmgX_, #endif int cg_iterations=0)
Pi space constructor.
Wrapper for hypre's ParCSR matrix class.
Class for parallel meshes.
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).