Computes finite element mapping function values, gradients, etc. More...
#include <fe_map.h>
Public Member Functions | |
FEMap () | |
virtual | ~FEMap () |
template<unsigned int Dim> | |
void | init_reference_to_physical_map (const std::vector< Point > &qp, const Elem *elem) |
void | compute_single_point_map (const unsigned int dim, const std::vector< Real > &qw, const Elem *elem, unsigned int p, const std::vector< const Node *> &elem_nodes, bool compute_second_derivatives) |
virtual void | compute_affine_map (const unsigned int dim, const std::vector< Real > &qw, const Elem *elem) |
virtual void | compute_null_map (const unsigned int dim, const std::vector< Real > &qw) |
virtual void | compute_map (const unsigned int dim, const std::vector< Real > &qw, const Elem *elem, bool calculate_d2phi) |
virtual void | compute_face_map (int dim, const std::vector< Real > &qw, const Elem *side) |
void | compute_edge_map (int dim, const std::vector< Real > &qw, const Elem *side) |
template<unsigned int Dim> | |
void | init_face_shape_functions (const std::vector< Point > &qp, const Elem *side) |
template<unsigned int Dim> | |
void | init_edge_shape_functions (const std::vector< Point > &qp, const Elem *edge) |
const std::vector< Point > & | get_xyz () const |
const std::vector< Real > & | get_jacobian () const |
const std::vector< Real > & | get_JxW () const |
const std::vector< RealGradient > & | get_dxyzdxi () const |
const std::vector< RealGradient > & | get_dxyzdeta () const |
const std::vector< RealGradient > & | get_dxyzdzeta () const |
const std::vector< RealGradient > & | get_d2xyzdxi2 () const |
const std::vector< RealGradient > & | get_d2xyzdeta2 () const |
const std::vector< RealGradient > & | get_d2xyzdzeta2 () const |
const std::vector< RealGradient > & | get_d2xyzdxideta () const |
const std::vector< RealGradient > & | get_d2xyzdxidzeta () const |
const std::vector< RealGradient > & | get_d2xyzdetadzeta () const |
const std::vector< Real > & | get_dxidx () const |
const std::vector< Real > & | get_dxidy () const |
const std::vector< Real > & | get_dxidz () const |
const std::vector< Real > & | get_detadx () const |
const std::vector< Real > & | get_detady () const |
const std::vector< Real > & | get_detadz () const |
const std::vector< Real > & | get_dzetadx () const |
const std::vector< Real > & | get_dzetady () const |
const std::vector< Real > & | get_dzetadz () const |
const std::vector< std::vector< Real > > & | get_d2xidxyz2 () const |
const std::vector< std::vector< Real > > & | get_d2etadxyz2 () const |
const std::vector< std::vector< Real > > & | get_d2zetadxyz2 () const |
const std::vector< std::vector< Real > > & | get_psi () const |
const std::vector< std::vector< Real > > & | get_phi_map () const |
const std::vector< std::vector< Real > > & | get_dphidxi_map () const |
const std::vector< std::vector< Real > > & | get_dphideta_map () const |
const std::vector< std::vector< Real > > & | get_dphidzeta_map () const |
const std::vector< std::vector< Point > > & | get_tangents () const |
const std::vector< Point > & | get_normals () const |
const std::vector< Real > & | get_curvatures () const |
void | print_JxW (std::ostream &os) const |
void | print_xyz (std::ostream &os) const |
std::vector< std::vector< Real > > & | get_psi () |
std::vector< std::vector< Real > > & | get_dpsidxi () |
std::vector< std::vector< Real > > & | get_dpsideta () |
std::vector< std::vector< Real > > & | get_d2psidxi2 () |
std::vector< std::vector< Real > > & | get_d2psidxideta () |
std::vector< std::vector< Real > > & | get_d2psideta2 () |
std::vector< std::vector< Real > > & | get_phi_map () |
std::vector< std::vector< Real > > & | get_dphidxi_map () |
std::vector< std::vector< Real > > & | get_dphideta_map () |
std::vector< std::vector< Real > > & | get_dphidzeta_map () |
std::vector< std::vector< Real > > & | get_d2phidxi2_map () |
std::vector< std::vector< Real > > & | get_d2phidxideta_map () |
std::vector< std::vector< Real > > & | get_d2phidxidzeta_map () |
std::vector< std::vector< Real > > & | get_d2phideta2_map () |
std::vector< std::vector< Real > > & | get_d2phidetadzeta_map () |
std::vector< std::vector< Real > > & | get_d2phidzeta2_map () |
std::vector< Real > & | get_JxW () |
Static Public Member Functions | |
static std::unique_ptr< FEMap > | build (FEType fe_type) |
Protected Member Functions | |
void | determine_calculations () |
void | resize_quadrature_map_vectors (const unsigned int dim, unsigned int n_qp) |
Real | dxdxi_map (const unsigned int p) const |
Real | dydxi_map (const unsigned int p) const |
Real | dzdxi_map (const unsigned int p) const |
Real | dxdeta_map (const unsigned int p) const |
Real | dydeta_map (const unsigned int p) const |
Real | dzdeta_map (const unsigned int p) const |
Real | dxdzeta_map (const unsigned int p) const |
Real | dydzeta_map (const unsigned int p) const |
Real | dzdzeta_map (const unsigned int p) const |
Protected Attributes | |
std::vector< Point > | xyz |
std::vector< RealGradient > | dxyzdxi_map |
std::vector< RealGradient > | dxyzdeta_map |
std::vector< RealGradient > | dxyzdzeta_map |
std::vector< RealGradient > | d2xyzdxi2_map |
std::vector< RealGradient > | d2xyzdxideta_map |
std::vector< RealGradient > | d2xyzdeta2_map |
std::vector< RealGradient > | d2xyzdxidzeta_map |
std::vector< RealGradient > | d2xyzdetadzeta_map |
std::vector< RealGradient > | d2xyzdzeta2_map |
std::vector< Real > | dxidx_map |
std::vector< Real > | dxidy_map |
std::vector< Real > | dxidz_map |
std::vector< Real > | detadx_map |
std::vector< Real > | detady_map |
std::vector< Real > | detadz_map |
std::vector< Real > | dzetadx_map |
std::vector< Real > | dzetady_map |
std::vector< Real > | dzetadz_map |
std::vector< std::vector< Real > > | d2xidxyz2_map |
std::vector< std::vector< Real > > | d2etadxyz2_map |
std::vector< std::vector< Real > > | d2zetadxyz2_map |
std::vector< std::vector< Real > > | phi_map |
std::vector< std::vector< Real > > | dphidxi_map |
std::vector< std::vector< Real > > | dphideta_map |
std::vector< std::vector< Real > > | dphidzeta_map |
std::vector< std::vector< Real > > | d2phidxi2_map |
std::vector< std::vector< Real > > | d2phidxideta_map |
std::vector< std::vector< Real > > | d2phidxidzeta_map |
std::vector< std::vector< Real > > | d2phideta2_map |
std::vector< std::vector< Real > > | d2phidetadzeta_map |
std::vector< std::vector< Real > > | d2phidzeta2_map |
std::vector< std::vector< Real > > | psi_map |
std::vector< std::vector< Real > > | dpsidxi_map |
std::vector< std::vector< Real > > | dpsideta_map |
std::vector< std::vector< Real > > | d2psidxi2_map |
std::vector< std::vector< Real > > | d2psidxideta_map |
std::vector< std::vector< Real > > | d2psideta2_map |
std::vector< std::vector< Point > > | tangents |
std::vector< Point > | normals |
std::vector< Real > | curvatures |
std::vector< Real > | jac |
std::vector< Real > | JxW |
bool | calculations_started |
bool | calculate_xyz |
bool | calculate_dxyz |
bool | calculate_d2xyz |
Private Member Functions | |
void | compute_inverse_map_second_derivs (unsigned p) |
Private Attributes | |
std::vector< const Node * > | _elem_nodes |
Friends | |
template<unsigned int Dim, FEFamily T> | |
class | FE |
Computes finite element mapping function values, gradients, etc.
Class contained in FE that encapsulates mapping (i.e. from physical space to reference space and vice-versa) quantities and operations.
Definition at line 53 of file fe_map.C.
References libMesh::FEType::family, and libMesh::XYZ.
|
virtual |
Compute the jacobian and some other additional data fields. Takes the integration weights as input, along with a pointer to the element. The element is assumed to have a constant Jacobian
Definition at line 1232 of file fe_map.C.
References _elem_nodes, calculate_d2xyz, calculate_dxyz, calculate_xyz, compute_single_point_map(), d2xyzdeta2_map, d2xyzdetadzeta_map, d2xyzdxi2_map, d2xyzdxideta_map, d2xyzdxidzeta_map, d2xyzdzeta2_map, detadx_map, detady_map, detadz_map, dxidx_map, dxidy_map, dxidz_map, dxyzdeta_map, dxyzdxi_map, dxyzdzeta_map, dzetadx_map, dzetady_map, dzetadz_map, libMesh::index_range(), jac, JxW, n_nodes, libMesh::Elem::n_nodes(), libMesh::Elem::node_ptr(), phi_map, resize_quadrature_map_vectors(), and xyz.
Referenced by compute_map().
void libMesh::FEMap::compute_edge_map | ( | int | dim, |
const std::vector< Real > & | qw, | ||
const Elem * | side | ||
) |
Same as before, but for an edge. Useful for some projections.
Definition at line 922 of file fe_boundary.C.
References calculate_d2xyz, calculate_dxyz, calculate_xyz, compute_face_map(), curvatures, d2psidxi2_map, d2xyzdeta2_map, d2xyzdxi2_map, d2xyzdxideta_map, determine_calculations(), dpsidxi_map, dxdxi_map(), dxyzdeta_map, dxyzdxi_map, dydxi_map(), dzdxi_map(), JxW, normals, libMesh::Elem::point(), psi_map, libMesh::Real, tangents, and xyz.
|
virtual |
Same as compute_map, but for a side. Useful for boundary integration.
Reimplemented in libMesh::FEXYZMap.
Definition at line 574 of file fe_boundary.C.
References calculate_d2xyz, calculate_dxyz, calculate_xyz, libMesh::TypeVector< T >::cross(), curvatures, d2psideta2_map, d2psidxi2_map, d2psidxideta_map, d2xyzdeta2_map, d2xyzdxi2_map, d2xyzdxideta_map, determine_calculations(), dpsideta_map, dpsidxi_map, dxdeta_map(), dxdxi_map(), dxyzdeta_map, dxyzdxi_map, dydeta_map(), dydxi_map(), dzdeta_map(), dzdxi_map(), libMesh::FE< Dim, T >::inverse_map(), JxW, libMesh::FE< Dim, T >::map_eta(), libMesh::FE< Dim, T >::map_xi(), libMesh::FE< Dim, T >::n_shape_functions(), libMesh::Elem::node_id(), normals, psi_map, libMesh::Real, side, tangents, libMesh::TypeVector< T >::unit(), and xyz.
Referenced by compute_edge_map().
|
private |
A helper function used by FEMap::compute_single_point_map() to compute second derivatives of the inverse map.
Definition at line 1454 of file fe_map.C.
References A, d2etadxyz2_map, d2xidxyz2_map, d2xyzdeta2_map, d2xyzdetadzeta_map, d2xyzdxi2_map, d2xyzdxideta_map, d2xyzdxidzeta_map, d2xyzdzeta2_map, d2zetadxyz2_map, detadx_map, detady_map, detadz_map, dxidx_map, dxidy_map, dxidz_map, dzetadx_map, dzetady_map, dzetadz_map, and libMesh::libmesh_ignore().
Referenced by compute_single_point_map().
|
virtual |
Compute the jacobian and some other additional data fields. Takes the integration weights as input, along with a pointer to the element. Also takes a boolean parameter indicating whether second derivatives need to be calculated, allowing us to potentially skip unnecessary, expensive computations.
Definition at line 1388 of file fe_map.C.
References _elem_nodes, compute_affine_map(), compute_null_map(), compute_single_point_map(), libMesh::MeshTools::Subdivision::find_one_ring(), libMesh::Elem::has_affine_map(), libMesh::Elem::n_nodes(), libMesh::Elem::node_ptr(), resize_quadrature_map_vectors(), libMesh::TRI3SUBDIVISION, and libMesh::Elem::type().
|
virtual |
Assign a fake jacobian and some other additional data fields. Takes the integration weights as input. For use on non-element evaluations.
Definition at line 1313 of file fe_map.C.
References calculate_d2xyz, calculate_dxyz, calculate_xyz, d2xyzdeta2_map, d2xyzdetadzeta_map, d2xyzdxi2_map, d2xyzdxideta_map, d2xyzdxidzeta_map, d2xyzdzeta2_map, detadx_map, detady_map, detadz_map, dxidx_map, dxidy_map, dxidz_map, dxyzdeta_map, dxyzdxi_map, dxyzdzeta_map, dzetadx_map, dzetady_map, dzetadz_map, jac, JxW, resize_quadrature_map_vectors(), and xyz.
Referenced by compute_map().
void libMesh::FEMap::compute_single_point_map | ( | const unsigned int | dim, |
const std::vector< Real > & | qw, | ||
const Elem * | elem, | ||
unsigned int | p, | ||
const std::vector< const Node *> & | elem_nodes, | ||
bool | compute_second_derivatives | ||
) |
Compute the jacobian and some other additional data fields at the single point with index p. Takes the integration weights as input, along with a pointer to the element and a list of points that contribute to the element. Also takes a boolean flag telling whether second derivatives should actually be computed.
Definition at line 412 of file fe_map.C.
References A, calculate_d2xyz, calculate_dxyz, calculate_xyz, calculations_started, compute_inverse_map_second_derivs(), d2etadxyz2_map, d2phideta2_map, d2phidetadzeta_map, d2phidxi2_map, d2phidxideta_map, d2phidxidzeta_map, d2phidzeta2_map, d2xidxyz2_map, d2xyzdeta2_map, d2xyzdetadzeta_map, d2xyzdxi2_map, d2xyzdxideta_map, d2xyzdxidzeta_map, d2xyzdzeta2_map, d2zetadxyz2_map, detadx_map, detady_map, detadz_map, dphideta_map, dphidxi_map, dphidzeta_map, dxdeta_map(), dxdxi_map(), dxdzeta_map(), dxidx_map, dxidy_map, dxidz_map, dxyzdeta_map, dxyzdxi_map, dxyzdzeta_map, dydeta_map(), dydxi_map(), dydzeta_map(), dzdeta_map(), dzdxi_map(), dzdzeta_map(), dzetadx_map, dzetady_map, dzetadz_map, libMesh::err, libMesh::DofObject::id(), libMesh::index_range(), jac, JxW, phi_map, libMesh::Elem::print_info(), libMesh::Real, libMesh::DenseMatrix< T >::vector_mult(), and xyz.
Referenced by compute_affine_map(), and compute_map().
|
inlineprotected |
Determine which values are to be calculated
Definition at line 527 of file fe_map.h.
References calculate_d2xyz, calculate_dxyz, and calculations_started.
Referenced by compute_edge_map(), compute_face_map(), init_edge_shape_functions(), init_face_shape_functions(), init_reference_to_physical_map(), and resize_quadrature_map_vectors().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 573 of file fe_map.h.
References dxyzdeta_map.
Referenced by libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 549 of file fe_map.h.
References dxyzdxi_map.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 597 of file fe_map.h.
References dxyzdzeta_map.
Referenced by compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 581 of file fe_map.h.
References dxyzdeta_map.
Referenced by libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 557 of file fe_map.h.
References dxyzdxi_map.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 605 of file fe_map.h.
References dxyzdzeta_map.
Referenced by compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 589 of file fe_map.h.
References dxyzdeta_map.
Referenced by libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 565 of file fe_map.h.
References dxyzdxi_map.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and compute_single_point_map().
|
inlineprotected |
Used in FEMap::compute_map()
, which should be be usable in derived classes, and therefore protected.
Definition at line 613 of file fe_map.h.
References dxyzdzeta_map.
Referenced by compute_single_point_map().
|
inline |
Definition at line 380 of file fe_map.h.
References calculate_d2xyz, calculations_started, and curvatures.
|
inline |
Second derivatives of "eta" reference coordinate wrt physical coordinates.
Definition at line 317 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2etadxyz2_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inline |
Definition at line 493 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2phideta2_map.
|
inline |
Definition at line 500 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2phidetadzeta_map.
|
inline |
Definition at line 472 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2phidxi2_map.
|
inline |
Definition at line 479 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2phidxideta_map.
|
inline |
Definition at line 486 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2phidxidzeta_map.
|
inline |
Definition at line 507 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2phidzeta2_map.
|
inline |
Definition at line 436 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2psideta2_map.
|
inline |
Definition at line 422 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2psidxi2_map.
|
inline |
Definition at line 429 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2psidxideta_map.
|
inline |
Second derivatives of "xi" reference coordinate wrt physical coordinates.
Definition at line 310 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2xidxyz2_map.
Referenced by libMesh::HCurlFETransformation< OutputShape >::init_map_d2phi(), libMesh::H1FETransformation< OutputShape >::init_map_d2phi(), and libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inline |
Definition at line 194 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2xyzdeta2_map.
|
inline |
Definition at line 228 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2xyzdetadzeta_map.
|
inline |
Definition at line 187 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2xyzdxi2_map.
|
inline |
Definition at line 212 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2xyzdxideta_map.
|
inline |
Definition at line 221 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2xyzdxidzeta_map.
|
inline |
Definition at line 203 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2xyzdzeta2_map.
|
inline |
Second derivatives of "zeta" reference coordinate wrt physical coordinates.
Definition at line 324 of file fe_map.h.
References calculate_d2xyz, calculations_started, and d2zetadxyz2_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inline |
Definition at line 262 of file fe_map.h.
References calculate_dxyz, calculations_started, and detadx_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 270 of file fe_map.h.
References calculate_dxyz, calculations_started, and detady_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 278 of file fe_map.h.
References calculate_dxyz, calculations_started, and detadz_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 352 of file fe_map.h.
References calculate_dxyz, calculations_started, and dphideta_map.
|
inline |
Definition at line 457 of file fe_map.h.
References calculate_dxyz, calculations_started, and dphideta_map.
|
inline |
Definition at line 345 of file fe_map.h.
References calculate_dxyz, calculations_started, and dphidxi_map.
|
inline |
Definition at line 450 of file fe_map.h.
References calculate_dxyz, calculations_started, and dphidxi_map.
|
inline |
Definition at line 359 of file fe_map.h.
References calculate_dxyz, calculations_started, and dphidzeta_map.
|
inline |
Definition at line 464 of file fe_map.h.
References calculate_dxyz, calculations_started, and dphidzeta_map.
|
inline |
Definition at line 415 of file fe_map.h.
References calculate_dxyz, calculations_started, and dpsideta_map.
|
inline |
Definition at line 408 of file fe_map.h.
References calculate_dxyz, calculations_started, and dpsidxi_map.
|
inline |
Definition at line 238 of file fe_map.h.
References calculate_dxyz, calculations_started, and dxidx_map.
Referenced by libMesh::HCurlFETransformation< OutputShape >::init_map_d2phi(), libMesh::H1FETransformation< OutputShape >::init_map_d2phi(), libMesh::HCurlFETransformation< OutputShape >::init_map_dphi(), libMesh::H1FETransformation< OutputShape >::init_map_dphi(), libMesh::HCurlFETransformation< OutputShape >::init_map_phi(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 246 of file fe_map.h.
References calculate_dxyz, calculations_started, and dxidy_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 254 of file fe_map.h.
References calculate_dxyz, calculations_started, and dxidz_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 172 of file fe_map.h.
References calculate_dxyz, calculations_started, and dxyzdeta_map.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl().
|
inline |
Definition at line 164 of file fe_map.h.
References calculate_dxyz, calculations_started, and dxyzdxi_map.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl().
|
inline |
Definition at line 180 of file fe_map.h.
References calculate_dxyz, calculations_started, and dxyzdzeta_map.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl().
|
inline |
Definition at line 286 of file fe_map.h.
References calculate_dxyz, calculations_started, and dzetadx_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 294 of file fe_map.h.
References calculate_dxyz, calculations_started, and dzetady_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 302 of file fe_map.h.
References calculate_dxyz, calculations_started, and dzetadz_map.
Referenced by libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inline |
Definition at line 148 of file fe_map.h.
References calculate_dxyz, calculations_started, and jac.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl().
|
inline |
Definition at line 156 of file fe_map.h.
References calculate_dxyz, calculations_started, and JxW.
|
inline |
Definition at line 518 of file fe_map.h.
References calculate_dxyz, calculations_started, and JxW.
|
inline |
Definition at line 373 of file fe_map.h.
References calculate_dxyz, calculations_started, and normals.
|
inline |
Definition at line 338 of file fe_map.h.
References calculate_xyz, calculations_started, and phi_map.
|
inline |
Definition at line 443 of file fe_map.h.
References calculate_xyz, calculations_started, and phi_map.
|
inline |
|
inline |
|
inline |
Definition at line 366 of file fe_map.h.
References calculate_dxyz, calculations_started, and tangents.
|
inline |
xyz
spatial locations of the quadrature points on the element. Definition at line 141 of file fe_map.h.
References calculate_xyz, calculations_started, and xyz.
void libMesh::FEMap::init_edge_shape_functions | ( | const std::vector< Point > & | qp, |
const Elem * | edge | ||
) |
Same as before, but for an edge. This is used for some projection operators.
Definition at line 514 of file fe_boundary.C.
References calculate_d2xyz, calculate_dxyz, calculate_xyz, d2psidxi2_map, libMesh::Elem::default_order(), determine_calculations(), dpsidxi_map, libMesh::FE< Dim, T >::n_shape_functions(), psi_map, libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), and libMesh::Elem::type().
void libMesh::FEMap::init_face_shape_functions | ( | const std::vector< Point > & | qp, |
const Elem * | side | ||
) |
Initializes the reference to physical element map for a side. This is used for boundary integration.
Definition at line 409 of file fe_boundary.C.
References calculate_d2xyz, calculate_dxyz, calculate_xyz, d2psideta2_map, d2psidxi2_map, d2psidxideta_map, determine_calculations(), dpsideta_map, dpsidxi_map, libMesh::FE< Dim, T >::n_shape_functions(), psi_map, libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), and side.
template void libMesh::FEMap::init_reference_to_physical_map< 3 > | ( | const std::vector< Point > & | qp, |
const Elem * | elem | ||
) |
Definition at line 68 of file fe_map.C.
References calculate_d2xyz, calculate_dxyz, calculate_xyz, d2phideta2_map, d2phidetadzeta_map, d2phidxi2_map, d2phidxideta_map, d2phidxidzeta_map, d2phidzeta2_map, libMesh::Elem::default_order(), determine_calculations(), dphideta_map, dphidxi_map, dphidzeta_map, libMesh::Elem::infinite(), libMesh::Elem::is_linear(), libMesh::FE< Dim, T >::n_shape_functions(), phi_map, libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), and libMesh::Elem::type().
void libMesh::FEMap::print_JxW | ( | std::ostream & | os | ) | const |
Prints the Jacobian times the weight for each quadrature point.
Definition at line 1438 of file fe_map.C.
References libMesh::index_range(), and JxW.
void libMesh::FEMap::print_xyz | ( | std::ostream & | os | ) | const |
Prints the spatial location of each quadrature point (on the physical element).
Definition at line 1446 of file fe_map.C.
References libMesh::index_range(), and xyz.
|
protected |
A utility function for use by compute_*_map
Definition at line 1151 of file fe_map.C.
References calculate_d2xyz, calculate_dxyz, calculate_xyz, d2etadxyz2_map, d2xidxyz2_map, d2xyzdeta2_map, d2xyzdetadzeta_map, d2xyzdxi2_map, d2xyzdxideta_map, d2xyzdxidzeta_map, d2xyzdzeta2_map, d2zetadxyz2_map, detadx_map, detady_map, detadz_map, determine_calculations(), dxidx_map, dxidy_map, dxidz_map, dxyzdeta_map, dxyzdxi_map, dxyzdzeta_map, dzetadx_map, dzetady_map, dzetadz_map, libMesh::index_range(), jac, JxW, and xyz.
Referenced by compute_affine_map(), compute_map(), and compute_null_map().
|
friend |
|
private |
Work vector for compute_affine_map()
Definition at line 911 of file fe_map.h.
Referenced by compute_affine_map(), and compute_map().
|
mutableprotected |
Should we calculate mapping hessians?
Definition at line 892 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), compute_face_map(), compute_null_map(), compute_single_point_map(), determine_calculations(), get_curvatures(), get_d2etadxyz2(), get_d2phideta2_map(), get_d2phidetadzeta_map(), get_d2phidxi2_map(), get_d2phidxideta_map(), get_d2phidxidzeta_map(), get_d2phidzeta2_map(), get_d2psideta2(), get_d2psidxi2(), get_d2psidxideta(), get_d2xidxyz2(), get_d2xyzdeta2(), get_d2xyzdetadzeta(), get_d2xyzdxi2(), get_d2xyzdxideta(), get_d2xyzdxidzeta(), get_d2xyzdzeta2(), get_d2zetadxyz2(), init_edge_shape_functions(), init_face_shape_functions(), init_reference_to_physical_map(), and resize_quadrature_map_vectors().
|
mutableprotected |
Should we calculate mapping gradients?
Definition at line 887 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), compute_face_map(), compute_null_map(), compute_single_point_map(), determine_calculations(), get_detadx(), get_detady(), get_detadz(), get_dphideta_map(), get_dphidxi_map(), get_dphidzeta_map(), get_dpsideta(), get_dpsidxi(), get_dxidx(), get_dxidy(), get_dxidz(), get_dxyzdeta(), get_dxyzdxi(), get_dxyzdzeta(), get_dzetadx(), get_dzetady(), get_dzetadz(), get_jacobian(), get_JxW(), get_normals(), get_tangents(), init_edge_shape_functions(), init_face_shape_functions(), init_reference_to_physical_map(), and resize_quadrature_map_vectors().
|
mutableprotected |
Should we calculate physical point locations?
Definition at line 882 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), compute_face_map(), compute_null_map(), compute_single_point_map(), libMesh::FEXYZMap::FEXYZMap(), get_phi_map(), get_xyz(), init_edge_shape_functions(), init_face_shape_functions(), init_reference_to_physical_map(), and resize_quadrature_map_vectors().
|
mutableprotected |
Have calculations with this object already been started? Then all get_* functions should already have been called.
Definition at line 877 of file fe_map.h.
Referenced by compute_single_point_map(), determine_calculations(), get_curvatures(), get_d2etadxyz2(), get_d2phideta2_map(), get_d2phidetadzeta_map(), get_d2phidxi2_map(), get_d2phidxideta_map(), get_d2phidxidzeta_map(), get_d2phidzeta2_map(), get_d2psideta2(), get_d2psidxi2(), get_d2psidxideta(), get_d2xidxyz2(), get_d2xyzdeta2(), get_d2xyzdetadzeta(), get_d2xyzdxi2(), get_d2xyzdxideta(), get_d2xyzdxidzeta(), get_d2xyzdzeta2(), get_d2zetadxyz2(), get_detadx(), get_detady(), get_detadz(), get_dphideta_map(), get_dphidxi_map(), get_dphidzeta_map(), get_dpsideta(), get_dpsidxi(), get_dxidx(), get_dxidy(), get_dxidz(), get_dxyzdeta(), get_dxyzdxi(), get_dxyzdzeta(), get_dzetadx(), get_dzetady(), get_dzetadz(), get_jacobian(), get_JxW(), get_normals(), get_phi_map(), get_tangents(), and get_xyz().
|
protected |
The mean curvature (= one half the sum of the principal curvatures) on the boundary at the quadrature points. The mean curvature is a scalar value.
Definition at line 861 of file fe_map.h.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and get_curvatures().
|
protected |
Second derivatives of "eta" reference coordinate wrt physical coordinates. At each qp: (eta_{xx}, eta_{xy}, eta_{xz}, eta_{yy}, eta_{yz}, eta_{zz})
Definition at line 745 of file fe_map.h.
Referenced by compute_inverse_map_second_derivs(), compute_single_point_map(), get_d2etadxyz2(), and resize_quadrature_map_vectors().
|
protected |
Map for the second derivative, d^2(phi)/d(eta)^2.
Definition at line 794 of file fe_map.h.
Referenced by compute_single_point_map(), get_d2phideta2_map(), and init_reference_to_physical_map().
|
protected |
Map for the second derivative, d^2(phi)/d(eta)d(zeta).
Definition at line 799 of file fe_map.h.
Referenced by compute_single_point_map(), get_d2phidetadzeta_map(), and init_reference_to_physical_map().
|
protected |
Map for the second derivative, d^2(phi)/d(xi)^2.
Definition at line 779 of file fe_map.h.
Referenced by compute_single_point_map(), get_d2phidxi2_map(), and init_reference_to_physical_map().
|
protected |
Map for the second derivative, d^2(phi)/d(xi)d(eta).
Definition at line 784 of file fe_map.h.
Referenced by compute_single_point_map(), get_d2phidxideta_map(), and init_reference_to_physical_map().
|
protected |
Map for the second derivative, d^2(phi)/d(xi)d(zeta).
Definition at line 789 of file fe_map.h.
Referenced by compute_single_point_map(), get_d2phidxidzeta_map(), and init_reference_to_physical_map().
|
protected |
Map for the second derivative, d^2(phi)/d(zeta)^2.
Definition at line 804 of file fe_map.h.
Referenced by compute_single_point_map(), get_d2phidzeta2_map(), and init_reference_to_physical_map().
|
protected |
Map for the second derivatives (in eta) of the side shape functions. Useful for computing the curvature at the quadrature points.
Definition at line 844 of file fe_map.h.
Referenced by libMesh::FEXYZMap::compute_face_map(), compute_face_map(), get_d2psideta2(), and init_face_shape_functions().
|
protected |
Map for the second derivatives (in xi) of the side shape functions. Useful for computing the curvature at the quadrature points.
Definition at line 830 of file fe_map.h.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), get_d2psidxi2(), init_edge_shape_functions(), and init_face_shape_functions().
|
protected |
Map for the second (cross) derivatives in xi, eta of the side shape functions. Useful for computing the curvature at the quadrature points.
Definition at line 837 of file fe_map.h.
Referenced by libMesh::FEXYZMap::compute_face_map(), compute_face_map(), get_d2psidxideta(), and init_face_shape_functions().
|
protected |
Second derivatives of "xi" reference coordinate wrt physical coordinates. At each qp: (xi_{xx}, xi_{xy}, xi_{xz}, xi_{yy}, xi_{yz}, xi_{zz})
Definition at line 739 of file fe_map.h.
Referenced by compute_inverse_map_second_derivs(), compute_single_point_map(), get_d2xidxyz2(), and resize_quadrature_map_vectors().
|
protected |
Vector of second partial derivatives in eta: d^2(x)/d(eta)^2
Definition at line 654 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_d2xyzdeta2(), and resize_quadrature_map_vectors().
|
protected |
Vector of mixed second partial derivatives in eta-zeta: d^2(x)/d(eta)d(zeta) d^2(y)/d(eta)d(zeta) d^2(z)/d(eta)d(zeta)
Definition at line 668 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_d2xyzdetadzeta(), and resize_quadrature_map_vectors().
|
protected |
Vector of second partial derivatives in xi: d^2(x)/d(xi)^2, d^2(y)/d(xi)^2, d^2(z)/d(xi)^2
Definition at line 642 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_d2xyzdxi2(), and resize_quadrature_map_vectors().
|
protected |
Vector of mixed second partial derivatives in xi-eta: d^2(x)/d(xi)d(eta) d^2(y)/d(xi)d(eta) d^2(z)/d(xi)d(eta)
Definition at line 648 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_d2xyzdxideta(), and resize_quadrature_map_vectors().
|
protected |
Vector of second partial derivatives in xi-zeta: d^2(x)/d(xi)d(zeta), d^2(y)/d(xi)d(zeta), d^2(z)/d(xi)d(zeta)
Definition at line 662 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_d2xyzdxidzeta(), and resize_quadrature_map_vectors().
|
protected |
Vector of second partial derivatives in zeta: d^2(x)/d(zeta)^2
Definition at line 674 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_d2xyzdzeta2(), and resize_quadrature_map_vectors().
|
protected |
Second derivatives of "zeta" reference coordinate wrt physical coordinates. At each qp: (zeta_{xx}, zeta_{xy}, zeta_{xz}, zeta_{yy}, zeta_{yz}, zeta_{zz})
Definition at line 751 of file fe_map.h.
Referenced by compute_inverse_map_second_derivs(), compute_single_point_map(), get_d2zetadxyz2(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(eta)/d(x). Needed for the Jacobian.
Definition at line 701 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_detadx(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(eta)/d(y). Needed for the Jacobian.
Definition at line 707 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_detady(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(eta)/d(z). Needed for the Jacobian.
Definition at line 713 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_detadz(), and resize_quadrature_map_vectors().
|
protected |
Map for the derivative, d(phi)/d(eta).
Definition at line 767 of file fe_map.h.
Referenced by compute_single_point_map(), get_dphideta_map(), and init_reference_to_physical_map().
|
protected |
Map for the derivative, d(phi)/d(xi).
Definition at line 762 of file fe_map.h.
Referenced by compute_single_point_map(), get_dphidxi_map(), and init_reference_to_physical_map().
|
protected |
Map for the derivative, d(phi)/d(zeta).
Definition at line 772 of file fe_map.h.
Referenced by compute_single_point_map(), get_dphidzeta_map(), and init_reference_to_physical_map().
|
protected |
Map for the derivative of the side function, d(psi)/d(eta).
Definition at line 823 of file fe_map.h.
Referenced by libMesh::FEXYZMap::compute_face_map(), compute_face_map(), get_dpsideta(), and init_face_shape_functions().
|
protected |
Map for the derivative of the side functions, d(psi)/d(xi).
Definition at line 817 of file fe_map.h.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), get_dpsidxi(), init_edge_shape_functions(), and init_face_shape_functions().
|
protected |
Map for partial derivatives: d(xi)/d(x). Needed for the Jacobian.
Definition at line 682 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_dxidx(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(xi)/d(y). Needed for the Jacobian.
Definition at line 688 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_dxidy(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(xi)/d(z). Needed for the Jacobian.
Definition at line 694 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_dxidz(), and resize_quadrature_map_vectors().
|
protected |
Vector of partial derivatives: d(x)/d(eta), d(y)/d(eta), d(z)/d(eta)
Definition at line 630 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), compute_null_map(), compute_single_point_map(), dxdeta_map(), dydeta_map(), dzdeta_map(), get_dxyzdeta(), and resize_quadrature_map_vectors().
|
protected |
Vector of partial derivatives: d(x)/d(xi), d(y)/d(xi), d(z)/d(xi)
Definition at line 624 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), compute_null_map(), compute_single_point_map(), dxdxi_map(), dydxi_map(), dzdxi_map(), get_dxyzdxi(), and resize_quadrature_map_vectors().
|
protected |
Vector of partial derivatives: d(x)/d(zeta), d(y)/d(zeta), d(z)/d(zeta)
Definition at line 636 of file fe_map.h.
Referenced by compute_affine_map(), compute_null_map(), compute_single_point_map(), dxdzeta_map(), dydzeta_map(), dzdzeta_map(), get_dxyzdzeta(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(zeta)/d(x). Needed for the Jacobian.
Definition at line 720 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_dzetadx(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(zeta)/d(y). Needed for the Jacobian.
Definition at line 726 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_dzetady(), and resize_quadrature_map_vectors().
|
protected |
Map for partial derivatives: d(zeta)/d(z). Needed for the Jacobian.
Definition at line 732 of file fe_map.h.
Referenced by compute_affine_map(), compute_inverse_map_second_derivs(), compute_null_map(), compute_single_point_map(), get_dzetadz(), and resize_quadrature_map_vectors().
|
protected |
Jacobian values at quadrature points
Definition at line 866 of file fe_map.h.
Referenced by compute_affine_map(), compute_null_map(), compute_single_point_map(), get_jacobian(), and resize_quadrature_map_vectors().
|
protected |
Jacobian*Weight values at quadrature points
Definition at line 871 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), compute_null_map(), compute_single_point_map(), get_JxW(), print_JxW(), and resize_quadrature_map_vectors().
|
protected |
Normal vectors on boundary at quadrature points
Definition at line 854 of file fe_map.h.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and get_normals().
|
protected |
Map for the shape function phi.
Definition at line 757 of file fe_map.h.
Referenced by compute_affine_map(), compute_single_point_map(), get_phi_map(), and init_reference_to_physical_map().
|
protected |
Map for the side shape functions, psi.
Definition at line 811 of file fe_map.h.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), get_psi(), init_edge_shape_functions(), and init_face_shape_functions().
|
protected |
Tangent vectors on boundary at quadrature points.
Definition at line 849 of file fe_map.h.
Referenced by compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), and get_tangents().
|
protected |
The spatial locations of the quadrature points
Definition at line 618 of file fe_map.h.
Referenced by compute_affine_map(), compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), compute_face_map(), compute_null_map(), compute_single_point_map(), get_xyz(), print_xyz(), and resize_quadrature_map_vectors().