38 using namespace Mesquite;
48 bool return_flag =
false;
54 const double id[] = {1., 0., 0., 0., 1., 0., 0., 0., 1.};
57 for (
size_t i=0;
i<num_T; ++
i) {
65 dft[
i] /=
pow(h, 4.0/3.0);
#define MSQ_ERRZERO(err)
Return zero/NULL on error.
static const double MSQ_ONE_THIRD
Used to hold the error state and return it to the application.
Matrix3D transpose(const Matrix3D &A)
MsqMeshEntity is the Mesquite object that stores information about the elements in the mesh...
const int MSQ_MAX_NUM_VERT_PER_ENT
double Frobenius_2(const Matrix3D &A)
Return the square of the Frobenius norm of A, i.e. sum (diag (A' * A))
virtual bool evaluate_element(PatchData &pd, MsqMeshEntity *element, double &value, MsqError &err)
Evaluate the metric for an element.
msq_stdc::size_t vertex_count() const
Returns the number of vertices in this element, based on its element type.
3*3 Matric class, row-oriented, 0-based [i][j] indexing.
double weighted_average_metrics(const double coef[], const double metric_values[], const int &num_values, MsqError &err)
takes an array of coefficients and an array of metrics (both of length num_value) and averages the co...
void compute_T_matrices(MsqMeshEntity &elem, PatchData &pd, Matrix3D T[], size_t num_T, double c_k[], MsqError &err)
For a given element, compute each corner matrix A, and given a target corner matrix W...
double det(const Matrix3D &A)
bool get_barrier_function(PatchData &pd, const double &tau, double &h, MsqError &err)
double pow(double value, const Exponent &exp)