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; }
135 : u_gf(u), n_coeff(n) { }
140 Vector n(dim), grad_u(dim);
141 n_coeff.
Eval(n, T, ip);
156 : du_dx(dx), du_dy(dy), n_coeff(n) { }
161 Vector n(dim), grad_u(dim);
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 ComputeDiscreteUpwindMatrix() const
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)
virtual double GetValue(int i, const IntegrationPoint &ip, int vdim=1) const
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)
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.
void CalcLOSolution(const Vector &u, const Vector &rhs, Vector &du) const
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 ...
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...
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormI...
Class for integration point with weight.
enum mfem::AdvectionOper::AdvectionMode adv_mode
ParFiniteElementSpace & pfes
double u(const Vector &xvec)
Class for parallel grid function.
Wrapper for hypre's ParCSR matrix class.
void ApplyDiscreteUpwindMatrix(ParGridFunction &u, Vector &du) const
void GetGradient(ElementTransformation &tr, Vector &grad) const