12#ifndef MFEM_CEEDSOLVERS_ATPMG_H
13#define MFEM_CEEDSOLVERS_ATPMG_H
36 CeedElemRestriction er_in,
37 CeedElemRestriction* er_out,
57 CeedBasis* basis_ctof,
73 CeedElemRestriction coarse_er,
74 CeedBasis* coarse_basis_out,
75 CeedBasis* basis_ctof_out,
91 CeedBasis* coarse_basis_out,
92 CeedBasis* basis_ctof_out,
93 CeedElemRestriction* er_out,
94 CeedOperator* coarse_oper,
int CeedBasisATPMGCoarseToFine(Ceed ceed, int P1d, int dim, int order_reduction, CeedBasis *basisc2f)
Create coarse-to-fine basis, given number of input nodes and order reduction.
int CeedATPMGOperator(CeedOperator oper, int order_reduction, CeedElemRestriction coarse_er, CeedBasis coarse_basis_in, CeedBasis basis_ctof_in, CeedOperator *out)
int CeedBasisATPMGCoarsen(CeedBasis basisin, CeedBasis basisc2f, CeedBasis *basisout, int order_reduction)
int CeedATPMGBundle(CeedOperator oper, int order_reduction, CeedBasis *coarse_basis_out, CeedBasis *basis_ctof_out, CeedElemRestriction *er_out, CeedOperator *coarse_oper, CeedInt *&dof_map)
Given (fine) CeedOperator, produces everything you need for a coarse level (operator and interpolatio...
int CeedATPMGElemRestriction(int order, int order_reduction, CeedElemRestriction er_in, CeedElemRestriction *er_out, CeedInt *&dof_map)
Take given (high-order) CeedElemRestriction and make a new CeedElemRestriction, which corresponds to ...
OutStream out(std::cout)
Global stream used by the library for standard output. Initially it uses the same std::streambuf as s...