15 #include "../config/config.hpp"
38 void SaveSTLTri(std::ostream &out,
double p1[],
double p2[],
double p3[]);
149 double _min = 0.0,
double _max = std::numeric_limits<double>::infinity());
206 int norm_type)
const;
222 exsol, NULL, NULL, irs);
251 int wcoef = 1,
int subdomain = -1);
271 virtual void Save(std::ostream &out)
const;
276 void SaveVTK(std::ostream &out,
const std::string &field_name,
int ref);
278 void SaveSTL(std::ostream &out,
int TimesToRefine = 1);
287 std::ostream &
operator<<(std::ostream &out,
const GridFunction &sol);
293 Vector &error_estimates,
294 Array<int> *aniso_flags = NULL,
295 int with_subdomains = 1);
299 GridFunction& gf1, GridFunction& gf2);
311 : n(_n), mesh_in(m), sol_in(s) { }
318 GridFunction *sol,
const int ny);
void SaveSTLTri(std::ostream &out, double p1[], double p2[], double p3[])
virtual ~GridFunction()
Destroys grid function.
std::ostream & operator<<(std::ostream &out, const Mesh &mesh)
Class for integration rule.
double ComputeL1Error(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const
Class for grid function - Vector with associated FE space.
double ComputeMaxError(VectorCoefficient &exsol, const IntegrationRule *irs[]=NULL) const
Class used for extruding scalar GridFunctions.
void MakeRef(FiniteElementSpace *f, Vector &v, int v_offset)
void ProjectDeltaCoefficient(DeltaCoefficient &delta_coeff, double &integral)
double ZZErrorEstimator(BilinearFormIntegrator &blfi, GridFunction &u, GridFunction &flux, Vector &error_estimates, Array< int > *aniso_flags, int with_subdomains)
void GetVectorValue(int i, const IntegrationPoint &ip, Vector &val) const
GridFunction * Extrude1DGridFunction(Mesh *mesh, Mesh *mesh2d, GridFunction *sol, const int ny)
Extrude a scalar 1D GridFunction, after extruding the mesh with Extrude1D.
void MakeOwner(FiniteElementCollection *_fec)
Make the GridFunction the owner of 'fec' and 'fes'.
void GetVectorGradientHat(ElementTransformation &T, DenseMatrix &gh)
virtual void ComputeFlux(BilinearFormIntegrator &blfi, GridFunction &flux, int wcoef=1, int subdomain=-1)
void ProjectDiscCoefficient(VectorCoefficient &coeff, Array< int > &dof_attr)
void GetBdrValuesFrom(GridFunction &)
void GetGradient(ElementTransformation &tr, Vector &grad)
Data type dense matrix using column-major storage.
Delta function coefficient.
void ImposeBounds(int i, const Vector &weights, const Vector &_lo, const Vector &_hi)
void GetNodalValues(int i, Array< double > &nval, int vdim=1) const
Returns the values in the vertices of i'th element for dimension vdim.
void GetVectorFieldNodalValues(Vector &val, int comp) const
virtual void Save(std::ostream &out) const
Save the GridFunction to an output stream.
const FiniteElementSpace * FESpace() const
virtual double Eval(ElementTransformation &T, const IntegrationPoint &ip)
double ComputeMaxError(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const
void GetDerivative(int comp, int der_comp, GridFunction &der)
void ProjectBdrCoefficientNormal(VectorCoefficient &vcoeff, Array< int > &bdr_attr)
void SumFluxAndCount(BilinearFormIntegrator &blfi, GridFunction &flux, Array< int > &counts, int wcoef, int subdomain)
double GetDivergence(ElementTransformation &tr)
double ComputeL2Error(Coefficient &exsol, const IntegrationRule *irs[]=NULL) const
void GetVectorFieldValues(int i, const IntegrationRule &ir, DenseMatrix &vals, DenseMatrix &tr, int comp=0) const
double ComputeH1Error(Coefficient *exsol, VectorCoefficient *exgrad, Coefficient *ell_coef, double Nu, int norm_type) const
void GetCurl(ElementTransformation &tr, Vector &curl)
void GetValues(int i, const IntegrationRule &ir, Vector &vals, int vdim=1) const
FiniteElementCollection * OwnFEC()
virtual ~ExtrudeCoefficient()
FiniteElementSpace * FESpace()
double ComputeLpError(const double p, Coefficient &exsol, Coefficient *weight=NULL, const IntegrationRule *irs[]=NULL) const
Base class Coefficient that may optionally depend on time.
FiniteElementSpace * fes
FE space on which grid function lives.
void ProjectGridFunction(const GridFunction &src)
double ComputeL1Error(VectorCoefficient &exsol, const IntegrationRule *irs[]=NULL) const
FiniteElementCollection * fec
Used when the grid function is read from a file.
void Update()
Transform by the Space UpdateMatrix (e.g., on Mesh change).
double ComputeElementLpDistance(double p, int i, GridFunction &gf1, GridFunction &gf2)
Compute the Lp distance between two grid functions on the given element.
int GetFaceVectorValues(int i, int side, const IntegrationRule &ir, DenseMatrix &vals, DenseMatrix &tr) const
Class for integration point with weight.
void SaveSTL(std::ostream &out, int TimesToRefine=1)
int GetFaceValues(int i, int side, const IntegrationRule &ir, Vector &vals, DenseMatrix &tr, int vdim=1) const
void GetElementAverages(GridFunction &avgs)
void ProjectBdrCoefficientTangent(VectorCoefficient &vcoeff, Array< int > &bdr_attr)
void GetVectorValues(ElementTransformation &T, const IntegrationRule &ir, DenseMatrix &vals) const
void ProjectCoefficient(Coefficient &coeff)
void SetSpace(FiniteElementSpace *f)
void ReorderByNodes()
For a vector grid function, makes sure that the ordering is byNODES.
double ComputeW11Error(Coefficient *exsol, VectorCoefficient *exgrad, int norm_type, Array< int > *elems=NULL, const IntegrationRule *irs[]=NULL) const
ExtrudeCoefficient(Mesh *m, Coefficient &s, int _n)
GridFunction & operator=(double value)
Redefine '=' for GridFunction = constant.
void GetGradients(const int elem, const IntegrationRule &ir, DenseMatrix &grad)
GridFunction(FiniteElementSpace *f)
Creates grid function associated with *f.
long GetSequence() const
Return update counter (see Mesh::sequence)
void GetVectorGradient(ElementTransformation &tr, DenseMatrix &grad)
void GetValuesFrom(GridFunction &)
void SaveVTK(std::ostream &out, const std::string &field_name, int ref)
void ProjectBdrCoefficient(Coefficient &coeff, Array< int > &attr)
virtual double GetValue(int i, const IntegrationPoint &ip, int vdim=1) const
void ProjectVectorFieldOn(GridFunction &vec_field, int comp=0)