8#include <xtensor/core/xtensor_forward.hpp>
10#include "oiseau/dg/nodal/ref_element.hpp"
21namespace oiseau::dg::nodal {
57 xt::xarray<double>
basis_function(
const xt::xarray<double> &rst,
int i,
int j,
int k)
const;
71 xt::xarray<double>
grad_basis_function(
const xt::xarray<double> &rst,
int i,
int j,
int k)
const;
84 xt::xarray<double> vandermonde(
const xt::xarray<double> &rst)
const;
97 xt::xarray<double> grad_vandermonde(
const xt::xarray<double> &rst)
const;
113 xt::xarray<double> grad_operator(
const xt::xarray<double> &v,
const xt::xarray<double> &gv)
const;
129xt::xarray<double> equilateral_xyz_to_rst(
const xt::xarray<double> &coords);
145xt::xarray<double> rst_to_abc(
const xt::xarray<double> &rst);
156xt::xarray<double> generate_tetrahedron_nodes(
unsigned p);
168xt::xarray<double> generate_tetrahedron_equidistant_nodes(
unsigned n);
185xt::xarray<double> warp_shift_face_3d(
int p,
double pval,
const xt::xarray<double> &l2,
186 const xt::xarray<double> &l3,
const xt::xarray<double> &l4);
201xt::xarray<double> eval_shift(
int p,
double pval,
const xt::xarray<double> &l1,
202 const xt::xarray<double> &l2,
const xt::xarray<double> &l3);
217xt::xarray<double> eval_warp(
int p,
const xt::xarray<double> &xnodes,
218 const xt::xarray<double> &xout);
xt::xarray< double > grad_basis_function(const xt::xarray< double > &rst, int i, int j, int k) const
Computes the gradient of a 3D basis function on the reference tetrahedron.
Definition ref_tetrahedron.cpp:49
RefTetrahedron(unsigned order)
Constructs a RefTetrahedron object of a specific polynomial order.
Definition ref_tetrahedron.cpp:29
xt::xarray< double > basis_function(const xt::xarray< double > &rst, int i, int j, int k) const
Evaluates a 3D basis function on the reference tetrahedron.
Definition ref_tetrahedron.cpp:38