20 #ifndef LIBMESH_SYSTEM_NORM_H 21 #define LIBMESH_SYSTEM_NORM_H 24 #include "libmesh/libmesh_common.h" 86 std::vector<Real> & weights);
96 std::vector<std::vector<Real>> & weights);
123 const std::vector<Real> & v2);
188 #endif // LIBMESH_SYSTEM_NORM_H std::vector< FEMNormType > _norms
FEMNormType
defines an enum for norms defined on vectors of finite element coefficients
std::vector< Real > _weights_sq
virtual ~SystemNorm()=default
This class defines a norm/seminorm to be applied to a NumericVector which contains coefficients in a ...
The libMesh namespace provides an interface to certain functionality in the library.
void set_off_diagonal_weight(unsigned int i, unsigned int j, Real w)
Sets the weight corresponding to the norm from the variable pair v1(var1) coming from v2(var2)...
void set_weight(unsigned int var, Real w)
Sets the weight corresponding to the norm in variable var, as well as for any unset variables with in...
FEMNormType type(unsigned int var) const
SystemNorm & operator=(const SystemNorm &)=default
Real weight_sq(unsigned int var) const
Real weight(unsigned int var) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real calculate_norm(const std::vector< Real > &v)
std::vector< std::vector< Real > > _off_diagonal_weights
One more data structure needed to store the off diagonal components for the generalize SystemNorm cas...
std::vector< Real > _weights
void set_type(unsigned int var, const FEMNormType &t)
Sets the type of the norm in variable var, as well as for any unset variables with index less than va...
SystemNorm()
Constructor, defaults to DISCRETE_L2 with weight of 1.0.
void ErrorVector unsigned int