12 #ifndef MFEM_EXTRAPOLATOR_HPP 13 #define MFEM_EXTRAPOLATOR_HPP 20 class DiscreteUpwindLOSolver;
39 void ZeroOutInactiveZones(
Vector &dx);
77 double &err_L1,
double &err_L2,
double &err_LI);
81 double dt,
int vis_x_pos, std::string vis_name);
100 const double norm_grad = grad_ls.Norml2();
102 if (norm_grad > 0.0) { V /= norm_grad; }
121 Vector grad_u(T.GetDimension());
135 : u_gf(
u), n_coeff(n) { }
139 const int dim = T.GetDimension();
141 n_coeff.
Eval(n, T, ip);
156 : du_dx(dx), du_dy(dy), n_coeff(n) { }
160 const int dim = T.GetDimension();
162 n_coeff.
Eval(n, T, ip);
GradComponentCoeff(const ParGridFunction &u, int c)
Base class for vector Coefficients that optionally depend on time and space.
virtual void Eval(Vector &V, ElementTransformation &T, const IntegrationPoint &ip)=0
Evaluate the vector coefficient in the element described by T at the point ip, storing the result in ...
Base abstract class for first order time dependent operators.
void GetGradient(ElementTransformation &tr, Vector &grad) const
Gradient of a scalar function at a quadrature point.
virtual double Eval(ElementTransformation &T, const IntegrationPoint &ip)
Evaluate the coefficient in the element described by T at the point ip.
LevelSetNormalGradCoeff(const ParGridFunction &ls)
Abstract class for solving systems of ODEs: dx/dt = f(x,t)
NormalGradCoeff(const ParGridFunction &u, VectorCoefficient &n)
Abstract parallel finite element space.
DiscreteUpwindLOSolver(ParFiniteElementSpace &space, const SparseMatrix &adv, const Vector &Mlump)
NormalGradComponentCoeff(const ParGridFunction &dx, const ParGridFunction &dy, VectorCoefficient &n)
void CalcLOSolution(const Vector &u, const Vector &rhs, Vector &du) const
AdvectionOper(Array< bool > &zones, ParBilinearForm &Mbf, ParBilinearForm &Kbf, const Vector &rhs)
virtual double Eval(ElementTransformation &T, const IntegrationPoint &ip)
Evaluate the coefficient in the element described by T at the point ip.
virtual double Eval(ElementTransformation &T, const IntegrationPoint &ip)
Evaluate the coefficient in the element described by T at the point ip.
virtual void Eval(Vector &V, ElementTransformation &T, const IntegrationPoint &ip)
Evaluate the vector coefficient in the element described by T at the point ip, storing the result in ...
void ComputeDiscreteUpwindMatrix() const
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormI...
virtual double GetValue(int i, const IntegrationPoint &ip, int vdim=1) const
Class for integration point with weight.
virtual void Mult(const Vector &x, Vector &dx) const
Perform the action of the operator: y = k = f(x, t), where k solves the algebraic equation F(x...
enum mfem::AdvectionOper::AdvectionMode adv_mode
void ApplyDiscreteUpwindMatrix(ParGridFunction &u, Vector &du) const
ParFiniteElementSpace & pfes
double u(const Vector &xvec)
Class for parallel grid function.
Wrapper for hypre's ParCSR matrix class.