12 #ifndef MFEM_PGRIDFUNC
13 #define MFEM_PGRIDFUNC
15 #include "../config/config.hpp"
28 double GlobalLpNorm(
const double p,
double loc_norm, MPI_Comm comm);
146 return GlobalLpNorm(std::numeric_limits<double>::infinity(),
161 exsol, NULL, NULL, irs);
181 p, exsol, weight, v_weight, irs),
pfes->
GetComm());
187 virtual void Save(std::ostream &out)
const;
190 void SaveAsOne(std::ostream &out = std::cout);
197 #endif // MFEM_USE_MPI
Class for integration rule.
Class for grid function - Vector with associated FE space.
void SaveAsOne(std::ostream &out=std::cout)
Merge the local grid functions.
void ExchangeFaceNbrData()
double ComputeL2Error(Coefficient *exsol[], const IntegrationRule *irs[]=NULL) const
HypreParVector * ParallelAssemble() const
Returns a new vector assembled on the true dofs.
virtual ~ParGridFunction()
ParFiniteElementSpace * pfes
ParGridFunction & operator=(const HypreParVector &tv)
Short semantic for Distribute.
ParGridFunction(ParFiniteElementSpace *pf)
virtual double GetValue(int i, const IntegrationPoint &ip, int vdim=1) const
virtual void Save(std::ostream &out) const
Abstract parallel finite element space.
void ProjectCoefficient(Coefficient &coeff)
ParFiniteElementSpace * ParFESpace()
void Distribute(const Vector &tv)
double GetValue(ElementTransformation &T)
double ComputeMaxError(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const
double ComputeL2Error(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const
ParGridFunction & operator=(double value)
const Vector & FaceNbrData() const
double ComputeMaxError(VectorCoefficient &exsol, const IntegrationRule *irs[]=NULL) const
double ComputeLpError(const double p, VectorCoefficient &exsol, Coefficient *weight=NULL, VectorCoefficient *v_weight=NULL, const IntegrationRule *irs[]=NULL) const
double ComputeLpError(const double p, Coefficient &exsol, Coefficient *weight=NULL, const IntegrationRule *irs[]=NULL) const
double ComputeL1Error(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const
double ComputeL1Error(VectorCoefficient &exsol, const IntegrationRule *irs[]=NULL) const
ParGridFunction & operator=(const Vector &v)
Wrapper for hypre's parallel vector class.
double GlobalLpNorm(const double p, double loc_norm, MPI_Comm comm)
Compute a global Lp norm from the local Lp norms computed by each processor.
Base class Coefficient that may optionally depend on time.
double ComputeMaxError(Coefficient *exsol[], const IntegrationRule *irs[]=NULL) const
void Distribute(const Vector *tv)
double ComputeL2Error(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const
Class for integration point with weight.
double ComputeLpError(const double p, Coefficient &exsol, Coefficient *weight=NULL, const IntegrationRule *irs[]=NULL) const
HypreParVector * ParallelAverage() const
Returns a new vector averaged on the true dofs.
double ComputeL2Error(VectorCoefficient &exsol, const IntegrationRule *irs[]=NULL, Array< int > *elems=NULL) const
HypreParVector * GetTrueDofs() const
Returns the true dofs in a new HypreParVector.
void ProjectCoefficient(Coefficient &coeff)
double ComputeW11Error(Coefficient *exsol, VectorCoefficient *exgrad, int norm_type, Array< int > *elems=NULL, const IntegrationRule *irs[]=NULL) const
GridFunction & operator=(double value)
Redefine '=' for GridFunction = constant.
Class for parallel grid function.
Class for parallel meshes.
double ComputeL1Error(Coefficient *exsol[], const IntegrationRule *irs[]=NULL) const
double ComputeMaxError(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const