libMesh
|
A specific instantiation of the FEBase
class.
More...
#include <fe.h>
Public Types | |
typedef OutputType | OutputShape |
Convenient typedefs for gradients of output, hessians of output, and potentially-complex-valued versions of same. More... | |
typedef TensorTools::IncrementRank< OutputShape >::type | OutputGradient |
typedef TensorTools::IncrementRank< OutputGradient >::type | OutputTensor |
typedef TensorTools::DecrementRank< OutputShape >::type | OutputDivergence |
typedef TensorTools::MakeNumber< OutputShape >::type | OutputNumber |
typedef TensorTools::IncrementRank< OutputNumber >::type | OutputNumberGradient |
typedef TensorTools::IncrementRank< OutputNumberGradient >::type | OutputNumberTensor |
typedef TensorTools::DecrementRank< OutputNumber >::type | OutputNumberDivergence |
Public Member Functions | |
InfFE (const FEType &fet) | |
Constructor and empty destructor. More... | |
~InfFE ()=default | |
virtual FEContinuity | get_continuity () const override |
virtual bool | is_hierarchic () const override |
virtual void | reinit (const Elem *elem, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr) override |
This is at the core of this class. More... | |
virtual void | reinit (const Elem *inf_elem, const unsigned int s, const Real tolerance=TOLERANCE, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr) override |
Reinitializes all the physical element-dependent data based on the side of an infinite element. More... | |
virtual void | edge_reinit (const Elem *elem, const unsigned int edge, const Real tolerance=TOLERANCE, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr) override |
Not implemented yet. More... | |
virtual void | side_map (const Elem *, const Elem *, const unsigned int, const std::vector< Point > &, std::vector< Point > &) override |
Computes the reference space quadrature points on the side of an element based on the side quadrature points. More... | |
virtual void | attach_quadrature_rule (QBase *q) override |
The use of quadrature rules with the InfFE class is somewhat different from the approach of the FE class. More... | |
virtual unsigned int | n_shape_functions () const override |
virtual unsigned int | n_quadrature_points () const override |
virtual const std::vector< Point > & | get_xyz () const override |
virtual const std::vector< Real > & | get_JxW () const override |
virtual const std::vector< Real > & | get_JxWxdecay_sq () const override |
virtual const std::vector< std::vector< OutputShape > > & | get_phi_over_decayxR () const override |
virtual const std::vector< std::vector< OutputGradient > > & | get_dphi_over_decayxR () const override |
virtual const std::vector< std::vector< OutputGradient > > & | get_dphi_over_decay () const override |
virtual const std::vector< RealGradient > & | get_dxyzdxi () const override |
virtual const std::vector< RealGradient > & | get_dxyzdeta () const override |
virtual const std::vector< RealGradient > & | get_dxyzdzeta () const override |
virtual const std::vector< RealGradient > & | get_d2xyzdxi2 () const override |
virtual const std::vector< RealGradient > & | get_d2xyzdeta2 () const override |
virtual const std::vector< RealGradient > & | get_d2xyzdzeta2 () const override |
virtual const std::vector< RealGradient > & | get_d2xyzdxideta () const override |
virtual const std::vector< RealGradient > & | get_d2xyzdxidzeta () const override |
virtual const std::vector< RealGradient > & | get_d2xyzdetadzeta () const override |
virtual const std::vector< Real > & | get_dxidx () const override |
virtual const std::vector< Real > & | get_dxidy () const override |
virtual const std::vector< Real > & | get_dxidz () const override |
virtual const std::vector< Real > & | get_detadx () const override |
virtual const std::vector< Real > & | get_detady () const override |
virtual const std::vector< Real > & | get_detadz () const override |
virtual const std::vector< Real > & | get_dzetadx () const override |
virtual const std::vector< Real > & | get_dzetady () const override |
virtual const std::vector< Real > & | get_dzetadz () const override |
virtual const std::vector< Real > & | get_Sobolev_weight () const override |
virtual const std::vector< RealGradient > & | get_Sobolev_dweight () const override |
virtual const std::vector< std::vector< Point > > & | get_tangents () const override |
virtual const std::vector< Point > & | get_normals () const override |
virtual const std::vector< Real > & | get_curvatures () const override |
virtual const std::vector< Real > & | get_Sobolev_weightxR_sq () const override |
virtual const std::vector< RealGradient > & | get_Sobolev_dweightxR_sq () const override |
template<> | |
std::unique_ptr< FEGenericBase< Real > > | build (const unsigned int dim, const FEType &fet) |
template<> | |
std::unique_ptr< FEGenericBase< RealGradient > > | build (const unsigned int dim, const FEType &fet) |
template<> | |
std::unique_ptr< FEGenericBase< Real > > | build_InfFE (const unsigned int dim, const FEType &fet) |
template<> | |
std::unique_ptr< FEGenericBase< RealGradient > > | build_InfFE (const unsigned int, const FEType &) |
const std::vector< std::vector< OutputShape > > & | get_phi () const |
const std::vector< std::vector< OutputShape > > & | get_dual_phi () const |
virtual void | request_phi () const override |
request phi calculations More... | |
virtual void | request_dual_phi () const override |
const std::vector< std::vector< OutputGradient > > & | get_dphi () const |
const std::vector< std::vector< OutputGradient > > & | get_dual_dphi () const |
virtual void | request_dphi () const override |
request dphi calculations More... | |
virtual void | request_dual_dphi () const override |
const DenseMatrix< Real > & | get_dual_coeff () const |
virtual_for_inffe const std::vector< std::vector< OutputShape > > & | get_curl_phi () const |
virtual_for_inffe const std::vector< std::vector< OutputDivergence > > & | get_div_phi () const |
const std::vector< std::vector< OutputShape > > & | get_dphidx () const |
const std::vector< std::vector< OutputShape > > & | get_dphidy () const |
const std::vector< std::vector< OutputShape > > & | get_dphidz () const |
const std::vector< std::vector< OutputShape > > & | get_dphidxi () const |
const std::vector< std::vector< OutputShape > > & | get_dphideta () const |
const std::vector< std::vector< OutputShape > > & | get_dphidzeta () const |
const std::vector< std::vector< OutputTensor > > & | get_d2phi () const |
const std::vector< std::vector< OutputTensor > > & | get_dual_d2phi () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidx2 () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidxdy () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidxdz () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidy2 () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidydz () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidz2 () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidxi2 () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidxideta () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidxidzeta () const |
const std::vector< std::vector< OutputShape > > & | get_d2phideta2 () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidetadzeta () const |
const std::vector< std::vector< OutputShape > > & | get_d2phidzeta2 () const |
const std::vector< OutputGradient > & | get_dphase () const |
virtual void | print_phi (std::ostream &os) const override |
Prints the value of each shape function at each quadrature point. More... | |
virtual void | print_dual_phi (std::ostream &os) const override |
virtual void | print_dphi (std::ostream &os) const override |
Prints the value of each shape function's derivative at each quadrature point. More... | |
virtual void | print_dual_dphi (std::ostream &os) const override |
virtual void | print_d2phi (std::ostream &os) const override |
Prints the value of each shape function's second derivatives at each quadrature point. More... | |
virtual void | print_dual_d2phi (std::ostream &os) const override |
virtual void | reinit_dual_shape_coeffs (const Elem *, const std::vector< Point > &, const std::vector< Real > &) |
This re-computes the dual shape function coefficients using CUSTOMIZED qrule. More... | |
virtual void | reinit_default_dual_shape_coeffs (const Elem *) |
This re-computes the dual shape function coefficients using DEFAULT qrule. More... | |
unsigned int | get_dim () const |
void | get_nothing () const |
ElemType | get_type () const |
unsigned int | get_p_level () const |
FEType | get_fe_type () const |
Order | get_order () const |
void | set_fe_order (int new_order) |
Sets the base FE order of the finite element. More... | |
FEFamily | get_family () const |
const FEMap & | get_fe_map () const |
FEMap & | get_fe_map () |
void | print_JxW (std::ostream &os) const |
Prints the Jacobian times the weight for each quadrature point. More... | |
void | print_xyz (std::ostream &os) const |
Prints the spatial location of each quadrature point (on the physical element). More... | |
void | print_info (std::ostream &os) const |
Prints all the relevant information about the current element. More... | |
void | set_calculate_dual (const bool val) |
set calculate_dual as needed More... | |
void | set_calculate_default_dual_coeff (const bool val) |
set calculate_default_dual_coeff as needed More... | |
void | add_p_level_in_reinit (bool value) |
Indicate whether to add p-refinement levels in init/reinit methods. More... | |
bool | add_p_level_in_reinit () const |
Whether to add p-refinement levels in init/reinit methods. More... | |
Static Public Member Functions | |
static Real | shape (const FEType &fet, const ElemType t, const unsigned int i, const Point &p) |
static Real | shape (const FEType &fet, const Elem *elem, const unsigned int i, const Point &p) |
static Real | shape (const FEType fet, const Elem *elem, const unsigned int i, const Point &p, const bool add_p_level) |
static Real | shape_deriv (const FEType &fet, const Elem *inf_elem, const unsigned int i, const unsigned int j, const Point &p) |
static Real | shape_deriv (const FEType fet, const Elem *inf_elem, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level) |
static Real | shape_deriv (const FEType &fet, const ElemType inf_elem_type, const unsigned int i, const unsigned int j, const Point &p) |
static void | compute_data (const FEType &fe_t, const Elem *inf_elem, FEComputeData &data) |
Generalized version of shape() , takes an Elem *. More... | |
static unsigned int | n_shape_functions (const FEType &fet, const ElemType t) |
static unsigned int | n_shape_functions (const FEType &fet, const Elem *inf_elem) |
static unsigned int | n_dofs (const FEType &fet, const ElemType inf_elem_type) |
static unsigned int | n_dofs (const FEType &fet, const Elem *inf_elem) |
static unsigned int | n_dofs_at_node (const FEType &fet, const ElemType inf_elem_type, const unsigned int n) |
static unsigned int | n_dofs_at_node (const FEType &fet, const Elem *inf_elem, const unsigned int n) |
static unsigned int | n_dofs_per_elem (const FEType &fet, const ElemType inf_elem_type) |
static unsigned int | n_dofs_per_elem (const FEType &fet, const Elem *inf_elem) |
static void | nodal_soln (const FEType &fet, const Elem *elem, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln) |
Usually, this method would build the nodal soln from the element soln. More... | |
static Point | map (const Elem *inf_elem, const Point &reference_point) |
static Point | inverse_map (const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true) |
static void | inverse_map (const Elem *elem, const std::vector< Point > &physical_points, std::vector< Point > &reference_points, const Real tolerance=TOLERANCE, const bool secure=true) |
static void | inf_compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *child_elem) |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number , adapted to infinite elements. More... | |
static void | inf_compute_node_constraints (NodeConstraints &constraints, const Elem *elem) |
static std::unique_ptr< FEGenericBase > | build (const unsigned int dim, const FEType &type) |
Builds a specific finite element type. More... | |
static std::unique_ptr< FEGenericBase > | build_InfFE (const unsigned int dim, const FEType &type) |
Builds a specific infinite element type. More... | |
static void | compute_proj_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem) |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number , using generic projections. More... | |
static void | coarsened_dof_values (const NumericVector< Number > &global_vector, const DofMap &dof_map, const Elem *coarse_elem, DenseVector< Number > &coarse_dofs, const unsigned int var, const bool use_old_dof_indices=false) |
Creates a local projection on coarse_elem , based on the DoF values in global_vector for it's children. More... | |
static void | coarsened_dof_values (const NumericVector< Number > &global_vector, const DofMap &dof_map, const Elem *coarse_elem, DenseVector< Number > &coarse_dofs, const bool use_old_dof_indices=false) |
Creates a local projection on coarse_elem , based on the DoF values in global_vector for it's children. More... | |
static void | compute_periodic_constraints (DofConstraints &constraints, DofMap &dof_map, const PeriodicBoundaries &boundaries, const MeshBase &mesh, const PointLocatorBase *point_locator, const unsigned int variable_number, const Elem *elem) |
Computes the constraint matrix contributions (for meshes with periodic boundary conditions) corresponding to variable number var_number , using generic projections. More... | |
static bool | on_reference_element (const Point &p, const ElemType t, const Real eps=TOLERANCE) |
static void | get_refspace_nodes (const ElemType t, std::vector< Point > &nodes) |
static void | compute_node_constraints (NodeConstraints &constraints, const Elem *elem) |
Computes the nodal constraint contributions (for non-conforming adapted meshes), using Lagrange geometry. More... | |
static void | compute_periodic_node_constraints (NodeConstraints &constraints, const PeriodicBoundaries &boundaries, const MeshBase &mesh, const PointLocatorBase *point_locator, const Elem *elem) |
Computes the node position constraint equation contributions (for meshes with periodic boundary conditions) More... | |
static void | print_info (std::ostream &out_stream=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | disable_print_counter_info () |
Protected Types | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
void | update_base_elem (const Elem *inf_elem) |
Updates the protected member base_elem to the appropriate base element for the given inf_elem . More... | |
virtual void | init_base_shape_functions (const std::vector< Point > &, const Elem *) override |
Do not use this derived member in InfFE<Dim,T_radial,T_map> . More... | |
virtual void | determine_calculations () override |
Determine which values are to be calculated, for both the FE itself and for the FEMap. More... | |
void | init_radial_shape_functions (const Elem *inf_elem, const std::vector< Point > *radial_pts=nullptr) |
Some of the member data only depend on the radial part of the infinite element. More... | |
void | init_shape_functions (const std::vector< Point > &radial_qp, const std::vector< Point > &base_qp, const Elem *inf_elem) |
Initialize all the data fields like weight , mode , phi , dphidxi , dphideta , dphidzeta , etc. More... | |
void | init_face_shape_functions (const std::vector< Point > &, const Elem *inf_side) |
Initialize all the data fields like weight , phi , etc for the side s . More... | |
void | compute_shape_functions (const Elem *inf_elem, const std::vector< Point > &base_qp, const std::vector< Point > &radial_qp) |
After having updated the jacobian and the transformation from local to global coordinates in FEAbstract::compute_map(), the first derivatives of the shape functions are transformed to global coordinates, giving dphi , dphidx/y/z , dphasedx/y/z , dweight . More... | |
void | compute_face_functions () |
virtual void | compute_shape_functions (const Elem *, const std::vector< Point > &) override |
Use compute_shape_functions(const Elem*, const std::vector<Point> &, const std::vector<Point> &) instead. More... | |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real v, Order o, unsigned i) |
template<> | |
Real | eval (Real v, Order o, unsigned i) |
template<> | |
Real | eval (Real v, Order o, unsigned i) |
template<> | |
Real | eval_deriv (Real v, Order o, unsigned i) |
template<> | |
Real | eval_deriv (Real v, Order o, unsigned i) |
template<> | |
Real | eval_deriv (Real v, Order o, unsigned i) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval_deriv (Real x, Order, unsigned n) |
template<> | |
Real | eval (Real v, Order o, unsigned i) |
template<> | |
Real | eval (Real v, Order o, unsigned i) |
template<> | |
Real | eval (Real v, Order o, unsigned i) |
template<> | |
Real | eval_deriv (Real v, Order o, unsigned i) |
template<> | |
Real | eval_deriv (Real v, Order o, unsigned i) |
template<> | |
Real | eval_deriv (Real v, Order o, unsigned i) |
bool | calculating_nothing () const |
void | compute_dual_shape_coeffs (const std::vector< Real > &JxW, const std::vector< std::vector< OutputShape >> &phi) |
Compute the dual basis coefficients dual_coeff we rely on the JxW (or weights) and the phi values, which can come from default or customized qrule. More... | |
template<> | |
void | compute_dual_shape_coeffs (const std::vector< Real > &, const std::vector< std::vector< OutputShape >> &) |
template<> | |
void | compute_dual_shape_coeffs (const std::vector< Real > &JxW, const std::vector< std::vector< OutputShape >> &phi_vals) |
void | compute_dual_shape_functions () |
Compute dual_phi , dual_dphi , dual_d2phi It is only valid for this to be called after reinit has occurred with a quadrature rule. More... | |
template<> | |
void | compute_dual_shape_functions () |
template<> | |
void | compute_dual_shape_functions () |
void | increment_constructor_count (const std::string &name) noexcept |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) noexcept |
Increments the destruction counter. More... | |
Static Protected Member Functions | |
static Real | eval (Real v, Order o_radial, unsigned int i) |
static Real | eval_deriv (Real v, Order o_radial, unsigned int i) |
static void | compute_node_indices (const ElemType inf_elem_type, const unsigned int outer_node_index, unsigned int &base_node, unsigned int &radial_node) |
Computes the indices in the base base_node and in radial direction radial_node (either 0 or 1) associated to the node outer_node_index of an infinite element of type inf_elem_type . More... | |
static void | compute_node_indices_fast (const ElemType inf_elem_type, const unsigned int outer_node_index, unsigned int &base_node, unsigned int &radial_node) |
Does the same as compute_node_indices() , but stores the maps for the current element type. More... | |
static void | compute_shape_indices (const FEType &fet, const ElemType inf_elem_type, const unsigned int i, unsigned int &base_shape, unsigned int &radial_shape) |
Computes the indices of shape functions in the base base_shape and in radial direction radial_shape (0 in the base, \( \ge 1 \) further out) associated to the shape with global index i of an infinite element of type inf_elem_type . More... | |
static void | compute_shape_indices (const FEType &fet, const Elem *inf_elem, const unsigned int i, unsigned int &base_shape, unsigned int &radial_shape) |
Protected Attributes | |
bool | calculate_map_scaled |
Are we calculating scaled mapping functions? More... | |
bool | calculate_phi_scaled |
Are we calculating scaled shape functions? More... | |
bool | calculate_dphi_scaled |
Are we calculating scaled shape function gradients? More... | |
bool | calculate_xyz |
Are we calculating the positions of quadrature points? More... | |
bool | calculate_jxw |
Are we calculating the unscaled jacobian? We avoid it if not requested explicitly; this has the worst stability. More... | |
std::vector< Point > | xyz |
Physical quadrature points. More... | |
std::vector< Real > | weightxr_sq |
std::vector< Real > | dweightdv |
the additional radial weight \( 1/{r^2} \) in local coordinates, over all quadrature points. More... | |
std::vector< RealGradient > | dweightxr_sq |
std::vector< Real > | som |
the radial decay \( 1/r \) in local coordinates. More... | |
std::vector< Real > | dsomdv |
the first local derivative of the radial decay \( 1/r \) in local coordinates. More... | |
std::vector< std::vector< Real > > | mode |
the radial approximation shapes in local coordinates Needed when setting up the overall shape functions. More... | |
std::vector< std::vector< Real > > | dmodedv |
the first local derivative of the radial approximation shapes. More... | |
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< Real > | dxidx_map_scaled |
std::vector< Real > | dxidy_map_scaled |
std::vector< Real > | dxidz_map_scaled |
std::vector< Real > | detadx_map_scaled |
std::vector< Real > | detady_map_scaled |
std::vector< Real > | detadz_map_scaled |
std::vector< Real > | dzetadx_map_scaled |
std::vector< Real > | dzetady_map_scaled |
std::vector< Real > | dzetadz_map_scaled |
std::vector< std::vector< Real > > | phixr |
std::vector< std::vector< RealGradient > > | dphixr |
std::vector< std::vector< RealGradient > > | dphixr_sq |
std::vector< Real > | JxWxdecay |
std::vector< Real > | JxW |
std::vector< Point > | normals |
std::vector< std::vector< Point > > | tangents |
std::vector< unsigned int > | _radial_node_index |
The internal structure of the InfFE – tensor product of base element times radial nodes – has to be determined from the node numbering of the current infinite element. More... | |
std::vector< unsigned int > | _base_node_index |
The internal structure of the InfFE – tensor product of base element times radial nodes – has to be determined from the node numbering of the current element. More... | |
std::vector< unsigned int > | _radial_shape_index |
The internal structure of the InfFE – tensor product of base element shapes times radial shapes – has to be determined from the dof numbering scheme of the current infinite element. More... | |
std::vector< unsigned int > | _base_shape_index |
The internal structure of the InfFE – tensor product of base element shapes times radial shapes – has to be determined from the dof numbering scheme of the current infinite element. More... | |
unsigned int | _n_total_approx_sf |
The number of total approximation shape functions for the current configuration. More... | |
unsigned int | _n_total_qp |
The total number of quadrature points for the current configuration. More... | |
std::vector< Real > | _total_qrule_weights |
this vector contains the combined integration weights, so that FEAbstract::compute_map() can still be used More... | |
std::unique_ptr< QBase > | base_qrule |
The quadrature rule for the base element associated with the current infinite element. More... | |
std::unique_ptr< QBase > | radial_qrule |
The quadrature rule for the base element associated with the current infinite element. More... | |
std::unique_ptr< const Elem > | base_elem |
The "base" (aka non-infinite) element associated with the current infinite element. More... | |
std::unique_ptr< FEBase > | base_fe |
Have a FE<Dim-1 ,T_base> handy for base approximation. More... | |
FEType | current_fe_type |
This FEType stores the characteristics for which the data structures phi , phi_map etc are currently initialized. More... | |
std::unique_ptr< FETransformationBase< OutputType > > | _fe_trans |
Object that handles computing shape function values, gradients, etc in the physical domain. More... | |
std::vector< std::vector< OutputShape > > | phi |
Shape function values. More... | |
std::vector< std::vector< OutputShape > > | dual_phi |
std::vector< std::vector< OutputGradient > > | dphi |
Shape function derivative values. More... | |
std::vector< std::vector< OutputGradient > > | dual_dphi |
DenseMatrix< Real > | dual_coeff |
Coefficient matrix for the dual basis. More... | |
std::vector< std::vector< OutputShape > > | curl_phi |
Shape function curl values. More... | |
std::vector< std::vector< OutputDivergence > > | div_phi |
Shape function divergence values. More... | |
std::vector< std::vector< OutputShape > > | dphidxi |
Shape function derivatives in the xi direction. More... | |
std::vector< std::vector< OutputShape > > | dphideta |
Shape function derivatives in the eta direction. More... | |
std::vector< std::vector< OutputShape > > | dphidzeta |
Shape function derivatives in the zeta direction. More... | |
std::vector< std::vector< OutputShape > > | dphidx |
Shape function derivatives in the x direction. More... | |
std::vector< std::vector< OutputShape > > | dphidy |
Shape function derivatives in the y direction. More... | |
std::vector< std::vector< OutputShape > > | dphidz |
Shape function derivatives in the z direction. More... | |
std::vector< std::vector< OutputTensor > > | d2phi |
Shape function second derivative values. More... | |
std::vector< std::vector< OutputTensor > > | dual_d2phi |
std::vector< std::vector< OutputShape > > | d2phidxi2 |
Shape function second derivatives in the xi direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidxideta |
Shape function second derivatives in the xi-eta direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidxidzeta |
Shape function second derivatives in the xi-zeta direction. More... | |
std::vector< std::vector< OutputShape > > | d2phideta2 |
Shape function second derivatives in the eta direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidetadzeta |
Shape function second derivatives in the eta-zeta direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidzeta2 |
Shape function second derivatives in the zeta direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidx2 |
Shape function second derivatives in the x direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidxdy |
Shape function second derivatives in the x-y direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidxdz |
Shape function second derivatives in the x-z direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidy2 |
Shape function second derivatives in the y direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidydz |
Shape function second derivatives in the y-z direction. More... | |
std::vector< std::vector< OutputShape > > | d2phidz2 |
Shape function second derivatives in the z direction. More... | |
std::vector< OutputGradient > | dphase |
Used for certain infinite element families: the first derivatives of the phase term in global coordinates, over all quadrature points. More... | |
std::vector< RealGradient > | dweight |
Used for certain infinite element families: the global derivative of the additional radial weight \( 1/{r^2} \), over all quadrature points. More... | |
std::vector< Real > | weight |
Used for certain infinite element families: the additional radial weight \( 1/{r^2} \) in local coordinates, over all quadrature points. More... | |
std::unique_ptr< FEMap > | _fe_map |
const unsigned int | dim |
The dimensionality of the object. More... | |
bool | calculations_started |
Have calculations with this object already been started? Then all get_* functions should already have been called. More... | |
bool | calculate_dual |
Are we calculating dual basis? More... | |
bool | calculate_default_dual_coeff |
Are we calculating the coefficient for the dual basis using the default qrule? More... | |
bool | calculate_nothing |
Are we potentially deliberately calculating nothing? More... | |
bool | calculate_map |
Are we calculating mapping functions? More... | |
bool | calculate_phi |
Should we calculate shape functions? More... | |
bool | calculate_dphi |
Should we calculate shape function gradients? More... | |
bool | calculate_d2phi |
Should we calculate shape function hessians? More... | |
const bool | calculate_d2phi =false |
bool | calculate_curl_phi |
Should we calculate shape function curls? More... | |
bool | calculate_div_phi |
Should we calculate shape function divergences? More... | |
bool | calculate_dphiref |
Should we calculate reference shape function gradients? More... | |
FEType | fe_type |
The finite element type for this object. More... | |
ElemType | elem_type |
The element type the current data structures are set up for. More... | |
unsigned int | _elem_p_level |
The element p-refinement level the current data structures are set up for. More... | |
unsigned int | _p_level |
The p refinement level the current data structures are set up for. More... | |
QBase * | qrule |
A pointer to the quadrature rule employed. More... | |
bool | shapes_on_quadrature |
A flag indicating if current data structures correspond to quadrature rule points. More... | |
bool | _add_p_level_in_reinit |
Whether to add p-refinement levels in init/reinit methods. More... | |
Static Protected Attributes | |
static Counts | _counts |
Actually holds the data. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. More... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. More... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
Private Member Functions | |
virtual bool | shapes_need_reinit () const override |
Static Private Attributes | |
static ElemType | _compute_node_indices_fast_current_elem_type = INVALID_ELEM |
When compute_node_indices_fast() is used, this static variable remembers the element type for which the static variables in compute_node_indices_fast() are currently set. More... | |
static bool | _warned_for_nodal_soln = false |
static members that are used to issue warning messages only once. More... | |
static bool | _warned_for_shape = false |
static bool | _warned_for_dshape = false |
Friends | |
template<unsigned int friend_Dim, FEFamily friend_T_radial, InfMapType friend_T_map> | |
class | InfFE |
Make all InfFE<Dim,T_radial,T_map> classes friends of each other, so that the protected eval() may be accessed. More... | |
class | InfFEMap |
A specific instantiation of the FEBase
class.
This class is templated, and specific template instantiations will result in different Infinite Element families, similar to the FE
class. InfFE
builds a FE<Dim-1
,T_base>, and most of the requests related to the base are handed over to this object. All methods related to the radial part are collected in the class InfFERadial
. Similarly, most of the static methods concerning base approximation are contained in InfFEBase
.
Having different shape approximation families in radial direction introduces the requirement for an additional Order
in this class. Therefore, the FEType
internals change when infinite elements are enabled. When the specific infinite element type is not known at compile time, use the FEBase::build()
member to create abstract (but still optimized) infinite elements at run time.
The node numbering scheme is the one from the current infinite element. Each node in the base holds exactly the same number of dofs as an adjacent conventional FE
would contain. The nodes further out hold the additional dof necessary for radial approximation. The order of the outer nodes' components is such that the radial shapes have highest priority, followed by the base shapes.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 119 of file reference_counter.h.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
explicit |
Constructor and empty destructor.
Initializes some data structures. Builds a FE<Dim-1
,T_base> object to handle approximation in the base, so that there is no need to template InfFE<Dim,T_radial,T_map>
also with respect to the base approximation T_base
.
The same remarks concerning compile-time optimization for FE
also hold for InfFE
. Use the FEBase::build_InfFE(const unsigned int, const FEType &)
method to build specific instantiations of InfFE
at run time.
Definition at line 43 of file inf_fe.C.
References libMesh::InfFE< Dim, T_radial, T_map >::base_fe, libMesh::FEGenericBase< OutputType >::build(), libMesh::FEAbstract::fe_type, libMesh::FEType::inf_map, and libMesh::FEType::radial_family.
|
default |
|
inlineinherited |
Indicate whether to add p-refinement levels in init/reinit methods.
Definition at line 610 of file fe_abstract.h.
References libMesh::FEAbstract::_add_p_level_in_reinit, and value.
Referenced by libMesh::FEMContext::build_new_fe().
|
inlineinherited |
Whether to add p-refinement levels in init/reinit methods.
Definition at line 615 of file fe_abstract.h.
References libMesh::FEAbstract::_add_p_level_in_reinit.
|
overridevirtual |
The use of quadrature rules with the InfFE
class is somewhat different from the approach of the FE
class.
While the FE
class requires an appropriately initialized quadrature rule object, and simply uses it, the InfFE
class requires only the quadrature rule object of the current FE
class. From this QBase
*, it determines the necessary data, and builds two appropriate quadrature classes, one for radial, and another for base integration, using the convenient QBase::build()
method.
Implements libMesh::FEAbstract.
Definition at line 80 of file inf_fe.C.
References libMesh::QBase::build(), libMesh::QBase::get_dim(), libMesh::QBase::get_order(), libMesh::libmesh_assert(), and libMesh::QBase::type().
|
staticinherited |
Builds a specific finite element type.
A std::unique_ptr<FEGenericBase>
is returned to prevent a memory leak. This way the user need not remember to delete the object.
The build call will fail if the OutputType of this class is not compatible with the output required for the requested type
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::MeshFunction::_gradient_on_elem(), alternative_fe_assembly(), assemble(), LinearElasticity::assemble(), assemble_1D(), assemble_biharmonic(), assemble_cd(), assemble_divgrad(), assemble_elasticity(), assemble_ellipticdg(), assemble_func(), assemble_helmholtz(), assemble_laplace(), assemble_mass(), assemble_matrices(), assemble_poisson(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), libMesh::FEMContext::cached_fe(), libMesh::System::calculate_norm(), libMesh::FEInterface::compute_data(), compute_enriched_soln(), compute_jacobian(), compute_residual(), compute_stresses(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::ExactErrorEstimator::estimate_error(), fe_assembly(), libMesh::MeshFunction::hessian(), libMesh::InfFE< Dim, T_radial, T_map >::InfFE(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), integrate_function(), LaplaceYoung::jacobian(), LargeDeformationElasticity::jacobian(), libMesh::LIBMESH_DEFAULT_VECTORIZED_FE(), main(), OverlappingCouplingFunctor::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), periodic_bc_test_poisson(), libMesh::System::point_hessian(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), LaplaceYoung::residual(), LargeDeformationElasticity::residual(), libMesh::HPCoarsenTest::select_refinement(), RationalMapTest< elem_type >::setUp(), DualShapeTest::setUp(), FETestBase< order, family, elem_type, 1 >::setUp(), FETest< order, family, elem_type >::testCustomReinit(), InfFERadialTest::testRefinement(), InfFERadialTest::testSides(), libMesh::Elem::true_centroid(), and libMesh::Elem::volume().
|
inherited |
Definition at line 191 of file fe_base.C.
|
inherited |
Definition at line 413 of file fe_base.C.
|
staticinherited |
Builds a specific infinite element type.
A std::unique_ptr<FEGenericBase>
is returned to prevent a memory leak. This way the user need not remember to delete the object.
The build call will fail if the OutputShape of this class is not compatible with the output required for the requested type
Referenced by assemble_func(), assemble_SchroedingerEquation(), assemble_wave(), libMesh::FEMContext::cached_fe(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), InfFERadialTest::testInfQuants(), InfFERadialTest::testInfQuants_numericDeriv(), InfFERadialTest::testRefinement(), InfFERadialTest::testSides(), and InfFERadialTest::testSingleOrder().
|
inherited |
Definition at line 546 of file fe_base.C.
|
inherited |
|
inlineprotectedinherited |
Definition at line 568 of file fe_base.h.
|
staticinherited |
Creates a local projection on coarse_elem
, based on the DoF values in global_vector
for it's children.
Computes a vector of coefficients corresponding to dof_indices for only the single given var
Definition at line 1012 of file fe_base.C.
Referenced by libMesh::JumpErrorEstimator::estimate_error(), and libMesh::ExactErrorEstimator::estimate_error().
|
staticinherited |
Creates a local projection on coarse_elem
, based on the DoF values in global_vector
for it's children.
Computes a vector of coefficients corresponding to all dof_indices.
Definition at line 1552 of file fe_base.C.
|
static |
Generalized version of shape()
, takes an Elem
*.
The data
contains both input and output parameters. For frequency domain simulations, the complex-valued shape is returned. In time domain both the computed shape, and the phase is returned.
Point
data.p
from the envelope) is actually a measure how far into the future the results are. Definition at line 426 of file inf_fe_static.C.
References libMesh::FEGenericBase< OutputType >::build_InfFE(), libMesh::Elem::build_side_ptr(), libMesh::InfFERadial::decay(), libMesh::InfFERadial::decay_deriv(), libMesh::FEComputeData::dshape, libMesh::InfFE< Dim, T_radial, T_map >::eval(), libMesh::InfFE< Dim, T_radial, T_map >::eval_deriv(), libMesh::FEComputeData::frequency, libMesh::imaginary, libMesh::INFEDGE2, libMesh::libmesh_assert(), libMesh::FEComputeData::local_transform, libMesh::InfFERadial::mapping_order(), libMesh::FEComputeData::need_derivative(), libMesh::TensorTools::norm(), libMesh::Elem::origin(), libMesh::FEComputeData::p, libMesh::FEComputeData::phase, libMesh::pi, libMesh::Elem::point(), libMesh::FEType::radial_order, libMesh::Real, libMesh::FEComputeData::shape, libMesh::FE< Dim, T >::shape(), libMesh::FEInterface::shape(), libMesh::FEInterface::shape_deriv(), libMesh::FEComputeData::speed, and libMesh::Elem::type().
|
protectedinherited |
Compute the dual basis coefficients dual_coeff
we rely on the JxW
(or weights) and the phi
values, which can come from default or customized qrule.
|
protectedinherited |
Definition at line 804 of file fe_base.C.
|
protectedinherited |
|
protectedinherited |
Compute dual_phi
, dual_dphi
, dual_d2phi
It is only valid for this to be called after reinit has occurred with a quadrature rule.
|
protectedinherited |
|
protectedinherited |
Definition at line 838 of file fe_base.C.
|
protected |
Definition at line 235 of file inf_fe_boundary.C.
References libMesh::TypeVector< T >::cross(), dim, libMesh::err, libMesh::Real, std::sqrt(), and libMesh::TypeVector< T >::unit().
|
staticinherited |
Computes the nodal constraint contributions (for non-conforming adapted meshes), using Lagrange geometry.
Definition at line 845 of file fe_abstract.C.
References std::abs(), libMesh::Elem::build_side_ptr(), libMesh::Elem::default_order(), libMesh::Elem::default_side_order(), libMesh::Elem::dim(), libMesh::FEAbstract::fe_type, libMesh::Elem::infinite(), libMesh::FEMap::inverse_map(), libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::FEMap::map_fe_type(), libMesh::FEInterface::max_order(), libMesh::FEInterface::n_dofs(), libMesh::Elem::neighbor_ptr(), libMesh::FEType::order, libMesh::Elem::parent(), libMesh::Real, libMesh::remote_elem, libMesh::FEInterface::shape(), libMesh::Elem::side_index_range(), libMesh::Threads::spin_mtx, and libMesh::Elem::subactive().
|
staticprotected |
Computes the indices in the base base_node
and in radial direction radial_node
(either 0 or 1) associated to the node outer_node_index
of an infinite element of type inf_elem_type
.
Definition at line 629 of file inf_fe_static.C.
References libMesh::Utility::enum_to_string(), libMesh::INFEDGE2, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::INFQUAD4, and libMesh::INFQUAD6.
|
staticprotected |
Does the same as compute_node_indices()
, but stores the maps for the current element type.
Provided the infinite element type changes seldom, this is probably faster than using compute_node_indices
() alone. This is possible since the number of nodes is not likely to change.
Definition at line 836 of file inf_fe_static.C.
References libMesh::Utility::enum_to_string(), libMesh::INFEDGE2, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::INFQUAD4, libMesh::INFQUAD6, libMesh::INVALID_ELEM, libMesh::invalid_uint, and n_nodes.
|
staticinherited |
Computes the constraint matrix contributions (for meshes with periodic boundary conditions) corresponding to variable number var_number
, using generic projections.
Definition at line 1883 of file fe_base.C.
Referenced by libMesh::FEInterface::compute_periodic_constraints().
|
staticinherited |
Computes the node position constraint equation contributions (for meshes with periodic boundary conditions)
Definition at line 1037 of file fe_abstract.C.
References libMesh::Elem::active(), libMesh::PeriodicBoundaries::boundary(), libMesh::Elem::build_side_ptr(), libMesh::Elem::default_side_order(), libMesh::Elem::dim(), libMesh::FEAbstract::fe_type, libMesh::PeriodicBoundaryBase::get_corresponding_pos(), libMesh::DofObject::id(), libMesh::FEMap::inverse_map(), libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::FEMap::map_fe_type(), mesh, libMesh::FEInterface::n_dofs(), libMesh::PeriodicBoundaries::neighbor(), libMesh::Elem::neighbor_ptr(), libMesh::Real, libMesh::FEInterface::shape(), libMesh::Elem::side_index_range(), and libMesh::Threads::spin_mtx.
|
staticinherited |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number
, using generic projections.
Definition at line 1575 of file fe_base.C.
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::compute_constraints().
|
protected |
After having updated the jacobian and the transformation from local to global coordinates in FEAbstract::compute_map(), the first derivatives of the shape functions are transformed to global coordinates, giving dphi
, dphidx/y/z
, dphasedx/y/z
, dweight
.
This method should barely be re-defined in derived classes, but still should be usable for children. Therefore, keep it protected.
The full form for 'a' is a = (r0*normal)/(normal*unit_r); where r0 is some point on the base plane(!) when the base element is not a plane, r0 and normal are functions of space. Here, some approximation is used:
Definition at line 780 of file inf_fe.C.
References std::abs(), libMesh::TypeVector< T >::cross(), dim, libMesh::Elem::dim(), libMesh::InfFEBase::get_elem_type(), libMesh::DofObject::id(), libMesh::libmesh_assert(), libMesh::InfFEMap::map(), libMesh::InfFERadial::n_dofs(), libMesh::TensorTools::norm(), libMesh::TypeVector< T >::norm(), libMesh::Elem::origin(), libMesh::Real, libMesh::FE< Dim, T >::shape_deriv(), and libMesh::Elem::type().
|
inlineoverrideprotectedvirtual |
Use compute_shape_functions(const Elem*, const std::vector<Point> &, const std::vector<Point> &)
instead.
Reimplemented from libMesh::FEGenericBase< OutputType >.
|
staticprotected |
Computes the indices of shape functions in the base base_shape
and in radial direction radial_shape
(0 in the base, \( \ge 1 \) further out) associated to the shape with global index i
of an infinite element of type inf_elem_type
.
Definition at line 960 of file inf_fe_static.C.
References libMesh::Utility::enum_to_string(), libMesh::InfFEBase::get_elem_type(), libMesh::OrderWrapper::get_order(), libMesh::INFEDGE2, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::INFQUAD4, libMesh::INFQUAD6, libMesh::invalid_uint, libMesh::FEInterface::n_dofs_at_node(), libMesh::FEInterface::n_dofs_per_elem(), and libMesh::FEType::radial_order.
|
staticprotected |
Definition at line 945 of file inf_fe_static.C.
References libMesh::Elem::type().
|
overrideprotectedvirtual |
Determine which values are to be calculated, for both the FE itself and for the FEMap.
Definition at line 326 of file inf_fe.C.
References libMesh::FEInterface::field_type(), libMesh::libmesh_assert(), and libMesh::TYPE_VECTOR.
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
overridevirtual |
Not implemented yet.
Reinitializes all the physical element-dependent data based on the edge
of an infinite element.
Implements libMesh::FEAbstract.
Definition at line 116 of file inf_fe_boundary.C.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
protected |
Definition at line 57 of file inf_fe_jacobi_20_00_eval.C.
|
protected |
Definition at line 57 of file inf_fe_jacobi_30_00_eval.C.
|
protected |
Definition at line 58 of file inf_fe_jacobi_20_00_eval.C.
|
protected |
Definition at line 58 of file inf_fe_jacobi_30_00_eval.C.
|
protected |
Definition at line 59 of file inf_fe_jacobi_20_00_eval.C.
|
protected |
Definition at line 59 of file inf_fe_jacobi_30_00_eval.C.
|
protected |
Definition at line 59 of file inf_fe_legendre_eval.C.
|
protected |
Definition at line 60 of file inf_fe_legendre_eval.C.
|
protected |
Definition at line 61 of file inf_fe_legendre_eval.C.
|
protected |
Definition at line 63 of file inf_fe_map_eval.C.
References libMesh::InfFEMap::eval().
|
protected |
Definition at line 64 of file inf_fe_map_eval.C.
References libMesh::InfFEMap::eval().
|
protected |
Definition at line 65 of file inf_fe_map_eval.C.
References libMesh::InfFEMap::eval().
|
staticprotected |
v
. This method provides the approximation in radial direction for the overall shape functions, which is defined in InfFE::shape()
. This method is allowed to be static, since it is independent of dimension and base_family. It is templated, though, w.r.t. to radial FEFamily
.v
when T_radial == INFINITE_MAP. Currently, only one specific mapping shape is used. Namely the one by Marques JMMC, Owen DRJ: Infinite elements in quasi-static materially nonlinear problems, Computers and Structures, 1984. Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), and libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv().
|
protected |
Definition at line 2607 of file inf_fe_lagrange_eval.C.
|
protected |
Definition at line 2608 of file inf_fe_lagrange_eval.C.
|
protected |
Definition at line 2609 of file inf_fe_lagrange_eval.C.
|
protected |
Definition at line 63 of file inf_fe_jacobi_20_00_eval.C.
|
protected |
Definition at line 63 of file inf_fe_jacobi_30_00_eval.C.
|
protected |
Definition at line 64 of file inf_fe_jacobi_20_00_eval.C.
|
protected |
Definition at line 64 of file inf_fe_jacobi_30_00_eval.C.
|
protected |
Definition at line 65 of file inf_fe_jacobi_20_00_eval.C.
|
protected |
Definition at line 65 of file inf_fe_jacobi_30_00_eval.C.
|
protected |
Definition at line 65 of file inf_fe_legendre_eval.C.
|
protected |
Definition at line 66 of file inf_fe_legendre_eval.C.
|
protected |
Definition at line 67 of file inf_fe_legendre_eval.C.
|
protected |
Definition at line 69 of file inf_fe_map_eval.C.
References libMesh::InfFEMap::eval_deriv().
|
protected |
Definition at line 70 of file inf_fe_map_eval.C.
References libMesh::InfFEMap::eval_deriv().
|
protected |
Definition at line 71 of file inf_fe_map_eval.C.
References libMesh::InfFEMap::eval_deriv().
|
staticprotected |
v
. See eval
for details. Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv().
|
protected |
Definition at line 2613 of file inf_fe_lagrange_eval.C.
|
protected |
Definition at line 2614 of file inf_fe_lagrange_eval.C.
|
protected |
Definition at line 2615 of file inf_fe_lagrange_eval.C.
|
inlineoverridevirtual |
Implements libMesh::FEAbstract.
Definition at line 435 of file inf_fe.h.
References libMesh::C_ZERO.
|
inlineinherited |
Definition at line 252 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::FEMContext::build_new_fe(), and libMesh::FEMContext::interior_curl().
|
inlineoverridevirtual |
Definition at line 814 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 319 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::FEMContext::build_new_fe(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::LaplacianErrorEstimator::init_context(), libMesh::ParsedFEMFunction< T >::init_context(), libMesh::FEMContext::interior_hessians(), libMesh::LaplacianErrorEstimator::internal_side_integration(), libMesh::FEMContext::side_hessians(), and libMesh::FEMContext::some_hessian().
|
inlineinherited |
Definition at line 403 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 411 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 331 of file fe_base.h.
|
inlineinherited |
Definition at line 339 of file fe_base.h.
|
inlineinherited |
Definition at line 347 of file fe_base.h.
|
inlineinherited |
Definition at line 379 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 387 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 395 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 355 of file fe_base.h.
|
inlineinherited |
Definition at line 363 of file fe_base.h.
|
inlineinherited |
Definition at line 371 of file fe_base.h.
|
inlineinherited |
Definition at line 419 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineoverridevirtual |
Definition at line 668 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 688 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 663 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 678 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 683 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 673 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 723 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::detadx_map, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 732 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::detady_map, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 741 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::detadz_map, and libMesh::libmesh_assert().
|
inlineinherited |
Definition at line 250 of file fe_abstract.h.
References libMesh::FEAbstract::dim.
|
inlineinherited |
Definition at line 261 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), and libMesh::FEMContext::interior_div().
|
inlineinherited |
In case of the general finite element class FE
this field is initialized to all zero, so that the variational formulation for an infinite element produces correct element matrices for a mesh using both finite and infinite elements.
Definition at line 437 of file fe_base.h.
Referenced by assemble_SchroedingerEquation().
|
inlineinherited |
Definition at line 230 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), assembly_with_dg_fem_context(), libMesh::KellyErrorEstimator::boundary_side_integration(), libMesh::FEMContext::build_new_fe(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), ElasticitySystem::element_time_derivative(), HeatSystem::element_time_derivative(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi_over_decay(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi_over_decayxR(), PoissonSystem::init_context(), LaplaceSystem::init_context(), ElasticitySystem::init_context(), libMesh::ParsedFEMFunction< T >::init_context(), HeatSystem::init_context(), libMesh::KellyErrorEstimator::init_context(), ElasticityRBConstruction::init_context(), libMesh::FEMContext::interior_gradients(), libMesh::KellyErrorEstimator::internal_side_integration(), libMesh::FEGenericBase< FEOutputType< T >::type >::request_dphi(), libMesh::FEMContext::side_gradient(), libMesh::FEMContext::side_gradients(), and libMesh::FEMContext::some_gradient().
|
inlineoverridevirtual |
get_dphi()
), but in case of InfFE
, weighted with 1/decay.In contrast to the shape function, its gradient stays finite when divided by the decay function.
Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 631 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_dphi_scaled, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dphixr_sq, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
get_dphi()
), but in case of InfFE
, weighted with r/decay. See get_phi_over_decayxR()
for details. Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 619 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_dphi_scaled, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dphixr, and libMesh::libmesh_assert().
|
inlineinherited |
Definition at line 301 of file fe_base.h.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::HDivFETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_div(), and libMesh::H1FETransformation< OutputShape >::map_dphi().
|
inlineinherited |
Definition at line 269 of file fe_base.h.
|
inlineinherited |
Definition at line 293 of file fe_base.h.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::HDivFETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_div(), and libMesh::H1FETransformation< OutputShape >::map_dphi().
|
inlineinherited |
Definition at line 277 of file fe_base.h.
|
inlineinherited |
Definition at line 285 of file fe_base.h.
|
inlineinherited |
Definition at line 309 of file fe_base.h.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::HDivFETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_div(), and libMesh::H1FETransformation< OutputShape >::map_dphi().
|
inlineinherited |
Definition at line 244 of file fe_base.h.
|
inlineinherited |
Definition at line 323 of file fe_base.h.
|
inlineinherited |
Definition at line 234 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::request_dual_dphi().
|
inlineinherited |
Definition at line 211 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::request_dual_phi().
|
inlineoverridevirtual |
Definition at line 696 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dxidx_map, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 705 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dxidy_map, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 714 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dxidz_map, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 648 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 640 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 656 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map.
|
inlineoverridevirtual |
Definition at line 750 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dzetadx_map, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 759 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dzetady_map, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 768 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dzetadz_map, and libMesh::libmesh_assert().
|
inlineinherited |
Definition at line 526 of file fe_abstract.h.
References libMesh::FEType::family, and libMesh::FEAbstract::fe_type.
|
inlineinherited |
Definition at line 533 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
Referenced by libMesh::HCurlFETransformation< OutputShape >::init_map_d2phi(), libMesh::HDivFETransformation< OutputShape >::init_map_d2phi(), libMesh::H1FETransformation< OutputShape >::init_map_d2phi(), libMesh::HCurlFETransformation< OutputShape >::init_map_dphi(), libMesh::HDivFETransformation< OutputShape >::init_map_dphi(), libMesh::H1FETransformation< OutputShape >::init_map_dphi(), libMesh::HCurlFETransformation< OutputShape >::init_map_phi(), libMesh::HDivFETransformation< OutputShape >::init_map_phi(), libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::HDivFETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), libMesh::HDivFETransformation< OutputShape >::map_phi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inlineinherited |
|
inlineinherited |
Definition at line 499 of file fe_abstract.h.
References libMesh::FEAbstract::fe_type.
Referenced by libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::FEMContext::build_new_fe(), libMesh::HCurlFETransformation< OutputShape >::map_phi(), libMesh::H1FETransformation< OutputShape >::map_phi(), libMesh::HDivFETransformation< OutputShape >::map_phi(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::SubFunctor().
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
|
inlineoverridevirtual |
get_JxWxdecay_sq()
instead! Definition at line 579 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_jxw, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::JxW, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
This function is the variant of get_JxW()
for InfFE
. Since J diverges there, a respectize decay-function must be applied to obtain well-defined quantities.
Reimplemented from libMesh::FEAbstract.
Definition at line 594 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_map_scaled, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::JxWxdecay, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Definition at line 806 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::libmesh_assert(), and libMesh::InfFE< Dim, T_radial, T_map >::normals.
|
inlineinherited |
Definition at line 261 of file fe_abstract.h.
References libMesh::FEAbstract::calculate_nothing.
Referenced by CoupledSystemQoI::init_context(), NavierSystem::init_context(), ElasticitySystem::init_context(), CoupledSystem::init_context(), HeatSystem::init_context(), and Integrate::operator()().
|
inlineinherited |
Definition at line 504 of file fe_abstract.h.
References libMesh::FEAbstract::_p_level, libMesh::FEAbstract::fe_type, and libMesh::FEType::order.
|
inlineinherited |
Definition at line 494 of file fe_abstract.h.
References libMesh::FEAbstract::_p_level.
|
inlineinherited |
Definition at line 207 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), assembly_with_dg_fem_context(), libMesh::DiscontinuityMeasure::boundary_side_integration(), libMesh::FEMContext::build_new_fe(), compute_enriched_soln(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), NavierSystem::element_constraint(), CoupledSystem::element_constraint(), NavierSystem::element_time_derivative(), ElasticitySystem::element_time_derivative(), CoupledSystem::element_time_derivative(), HeatSystem::element_time_derivative(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi_over_decayxR(), CoupledSystemQoI::init_context(), NavierSystem::init_context(), SolidSystem::init_context(), PoissonSystem::init_context(), LaplaceSystem::init_context(), CurlCurlSystem::init_context(), ElasticitySystem::init_context(), CoupledSystem::init_context(), libMesh::ParsedFEMFunction< T >::init_context(), libMesh::DiscontinuityMeasure::init_context(), HeatSystem::init_context(), ElasticityRBConstruction::init_context(), libMesh::FEMSystem::init_context(), libMesh::FEMContext::interior_values(), libMesh::DiscontinuityMeasure::internal_side_integration(), ElasticitySystem::mass_residual(), libMesh::FEMPhysics::mass_residual(), libMesh::RBEIMEvaluation::project_qp_data_map_onto_system(), libMesh::FEGenericBase< FEOutputType< T >::type >::request_phi(), SolidSystem::side_time_derivative(), ElasticitySystem::side_time_derivative(), libMesh::FEMContext::side_values(), libMesh::FEMContext::some_value(), InfFERadialTest::testRefinement(), SlitMeshRefinedSystemTest::testRestart(), and SlitMeshRefinedSystemTest::testSystem().
|
inlineoverridevirtual |
phi
weighted by r/decay where \( decay = r^{-\frac{dim+1}{2}} \)To compensate for the decay function applied to the Jacobian (see get_JxWxdecay_sq
), the wave function phi
should be divided by this function.
The factor r must be compensated for by the Sobolev weight
. (i.e. by using get_Sobolev_weightxR_sq()
)
Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 609 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_phi_scaled, libMesh::FEAbstract::calculations_started, libMesh::libmesh_assert(), and libMesh::InfFE< Dim, T_radial, T_map >::phixr.
|
staticinherited |
nodes
based on the element type. Definition at line 373 of file fe_abstract.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::EDGE4, libMesh::Utility::enum_to_string(), libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::NODEELEM, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM20, libMesh::PRISM21, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID18, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::Real, libMesh::TET10, libMesh::TET14, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, libMesh::TRI7, libMesh::TRISHELL3, and libMesh::Elem::type_to_n_nodes_map.
Referenced by libMesh::LIBMESH_DEFAULT_VECTORIZED_FE().
|
inlineoverridevirtual |
get_Sobolev_weight()
for details. In case of FE
initialized to all zero. Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 790 of file inf_fe.h.
References libMesh::FEAbstract::calculate_dphi, libMesh::FEAbstract::calculations_started, libMesh::FEGenericBase< OutputType >::dweight, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
get_Sobolev_weight()
) but weighted with the radial coordinate square. Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 834 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_dphi_scaled, libMesh::FEAbstract::calculations_started, libMesh::InfFE< Dim, T_radial, T_map >::dweightxr_sq, and libMesh::libmesh_assert().
|
inlineoverridevirtual |
Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 780 of file inf_fe.h.
References libMesh::FEAbstract::calculate_phi, libMesh::FEAbstract::calculations_started, libMesh::libmesh_assert(), and libMesh::FEGenericBase< OutputType >::weight.
|
inlineoverridevirtual |
get_Sobolev_weight()
) but weighted with the radial coordinate square. Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 823 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_phi_scaled, libMesh::FEAbstract::calculations_started, libMesh::libmesh_assert(), and libMesh::InfFE< Dim, T_radial, T_map >::weightxr_sq.
|
inlineoverridevirtual |
Definition at line 799 of file inf_fe.h.
References libMesh::FEAbstract::calculate_map, libMesh::FEAbstract::calculations_started, libMesh::libmesh_assert(), and libMesh::InfFE< Dim, T_radial, T_map >::tangents.
|
inlineinherited |
Definition at line 488 of file fe_abstract.h.
References libMesh::FEAbstract::elem_type.
|
inlineoverridevirtual |
xyz
spatial locations of the quadrature points on the element. Definition at line 569 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::calculate_xyz, libMesh::FEAbstract::calculations_started, libMesh::libmesh_assert(), and libMesh::InfFE< Dim, T_radial, T_map >::xyz.
|
inlineprotectednoexceptinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 183 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 207 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
static |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number
, adapted to infinite elements.
Definition at line 1243 of file inf_fe_static.C.
References std::abs(), libMesh::Elem::build_side_ptr(), libMesh::Elem::contains_point(), libMesh::DofMap::dof_indices(), libMesh::FEType::family, libMesh::FEMap::inverse_map(), libMesh::DofMap::is_constrained_dof(), libMesh::LAGRANGE, libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::FEInterface::n_dofs(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::neighbor_ptr_range(), libMesh::Elem::parent(), libMesh::Real, libMesh::remote_elem, libMesh::FEInterface::shape(), libMesh::Elem::side_index_range(), libMesh::Threads::spin_mtx, libMesh::Elem::subactive(), and libMesh::DofMap::variable_type().
|
static |
Definition at line 1199 of file inf_fe_static.C.
References libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::neighbor_ptr(), libMesh::remote_elem, libMesh::Elem::side_index_range(), and libMesh::Elem::subactive().
|
inlineoverrideprotectedvirtual |
Do not use this derived member in InfFE<Dim,T_radial,T_map>
.
Implements libMesh::FEGenericBase< OutputType >.
|
protected |
Initialize all the data fields like weight
, phi
, etc for the side s
.
Definition at line 134 of file inf_fe_boundary.C.
References libMesh::FEGenericBase< OutputType >::build(), libMesh::Elem::infinite(), libMesh::Elem::interior_parent(), libMesh::libmesh_assert(), and libMesh::Elem::p_level().
|
protected |
Some of the member data only depend on the radial part of the infinite element.
The parts that only change when the radial order changes, are initialized here.
Definition at line 415 of file inf_fe.C.
References libMesh::InfFERadial::decay(), libMesh::InfFERadial::decay_deriv(), libMesh::libmesh_assert(), and libMesh::InfFERadial::n_dofs().
|
protected |
Initialize all the data fields like weight
, mode
, phi
, dphidxi
, dphideta
, dphidzeta
, etc.
for the current element. This method prepares the data related to the base part, and some of the combined fields.
Definition at line 479 of file inf_fe.C.
References libMesh::InfFERadial::D(), libMesh::InfFERadial::D_deriv(), libMesh::InfFERadial::Dxr_sq(), libMesh::libmesh_assert(), libMesh::InfFERadial::n_dofs(), and libMesh::MeshTools::weight().
|
inlinestatic |
Definition at line 466 of file inf_fe.h.
References libMesh::InfFEMap::inverse_map().
Referenced by libMesh::FEInterface::ifem_inverse_map().
|
inlinestatic |
Definition at line 476 of file inf_fe.h.
References libMesh::InfFEMap::inverse_map().
|
inlineoverridevirtual |
true
if the element's higher order shape functions are hierarchic Implements libMesh::FEAbstract.
|
inlinestatic |
Definition at line 458 of file inf_fe.h.
References libMesh::InfFEMap::map().
Referenced by libMesh::FEInterface::ifem_map().
|
static |
o_radial+1
modes in radial direction, andDefinition at line 66 of file inf_fe_static.C.
References libMesh::InfFEBase::get_elem_type(), libMesh::InfFERadial::n_dofs(), libMesh::FEInterface::n_dofs(), and libMesh::FEType::radial_order.
Referenced by libMesh::FEInterface::ifem_n_dofs(), and libMesh::InfFE< Dim, T_radial, T_map >::n_shape_functions().
|
static |
Definition at line 83 of file inf_fe_static.C.
References libMesh::Elem::build_side_ptr(), libMesh::InfFERadial::n_dofs(), libMesh::FEInterface::n_dofs(), and libMesh::FEType::radial_order.
|
static |
n
(not dof!) for an element of type t
and order o
.Definition at line 101 of file inf_fe_static.C.
References libMesh::InfFEBase::get_elem_type(), libMesh::InfFERadial::n_dofs_at_node(), libMesh::FEInterface::n_dofs_at_node(), and libMesh::FEType::radial_order.
Referenced by libMesh::FEInterface::ifem_n_dofs_at_node().
|
static |
Definition at line 130 of file inf_fe_static.C.
References libMesh::Elem::build_side_ptr(), libMesh::InfFERadial::n_dofs_at_node(), libMesh::FEInterface::n_dofs_at_node(), libMesh::FEType::radial_order, and libMesh::Elem::type().
|
static |
Definition at line 152 of file inf_fe_static.C.
References libMesh::InfFEBase::get_elem_type(), libMesh::InfFERadial::n_dofs_per_elem(), libMesh::FEInterface::n_dofs_per_elem(), and libMesh::FEType::radial_order.
Referenced by libMesh::FEInterface::ifem_n_dofs_per_elem().
|
static |
Definition at line 170 of file inf_fe_static.C.
References libMesh::Elem::build_side_ptr(), libMesh::InfFERadial::n_dofs_per_elem(), libMesh::FEInterface::n_dofs_per_elem(), and libMesh::FEType::radial_order.
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 85 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
inlineoverridevirtual |
for
loop in your simulation for matrix assembly of the current element. Implements libMesh::FEAbstract.
Definition at line 561 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::_n_total_qp, libMesh::libmesh_assert(), and libMesh::InfFE< Dim, T_radial, T_map >::radial_qrule.
|
inlinestatic |
t
and approximation order o
.Definition at line 381 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::n_dofs().
|
inlinestatic |
Definition at line 385 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::n_dofs().
|
inlineoverridevirtual |
Implements libMesh::FEAbstract.
Definition at line 553 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::_n_total_approx_sf.
Referenced by libMesh::FEInterface::ifem_n_shape_functions().
|
static |
Usually, this method would build the nodal soln from the element soln.
But infinite elements require additional simulation-specific data to compute physically correct results. Use compute_data()
to compute results. For compatibility an empty vector is returned.
Definition at line 188 of file inf_fe_static.C.
References libMesh::err, and libMesh::libmesh_assert().
Referenced by libMesh::FEInterface::ifem_nodal_soln().
|
staticinherited |
true
if the point p is located on the reference element for element type t, false otherwise. Since we are doing floating point comparisons here the parameter eps
can be specified to indicate a tolerance. For example, \( x \le 1 \) becomes \( x \le 1 + \epsilon \). Definition at line 601 of file fe_abstract.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::EDGE4, libMesh::Utility::enum_to_string(), libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::NODEELEM, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM20, libMesh::PRISM21, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID18, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::Real, libMesh::TET10, libMesh::TET14, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, libMesh::TRI7, and libMesh::TRISHELL3.
Referenced by libMesh::FEInterface::ifem_on_reference_element(), libMesh::FEMap::inverse_map(), and libMesh::FEInterface::on_reference_element().
|
overridevirtualinherited |
Prints the value of each shape function's second derivatives at each quadrature point.
Implements libMesh::FEAbstract.
Definition at line 989 of file fe_base.C.
|
overridevirtualinherited |
Prints the value of each shape function's derivative at each quadrature point.
Implements libMesh::FEAbstract.
Definition at line 895 of file fe_base.C.
|
overridevirtualinherited |
Implements libMesh::FEAbstract.
Definition at line 997 of file fe_base.C.
|
overridevirtualinherited |
Implements libMesh::FEAbstract.
Definition at line 903 of file fe_base.C.
|
overridevirtualinherited |
Implements libMesh::FEAbstract.
Definition at line 884 of file fe_base.C.
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 81 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
inherited |
Prints all the relevant information about the current element.
Definition at line 818 of file fe_abstract.C.
References libMesh::FEAbstract::print_dphi(), libMesh::FEAbstract::print_JxW(), libMesh::FEAbstract::print_phi(), and libMesh::FEAbstract::print_xyz().
Referenced by libMesh::operator<<().
|
inherited |
Prints the Jacobian times the weight for each quadrature point.
Definition at line 805 of file fe_abstract.C.
References libMesh::FEAbstract::_fe_map.
Referenced by libMesh::FEAbstract::print_info().
|
overridevirtualinherited |
Prints the value of each shape function at each quadrature point.
Implements libMesh::FEAbstract.
Definition at line 876 of file fe_base.C.
|
inherited |
Prints the spatial location of each quadrature point (on the physical element).
Definition at line 812 of file fe_abstract.C.
References libMesh::FEAbstract::_fe_map.
Referenced by libMesh::FEAbstract::print_info().
|
overridevirtual |
This is at the core of this class.
Use this for each new element in the mesh. Reinitializes all the physical element-dependent data based on the current element elem
.
Implements libMesh::FEAbstract.
Definition at line 121 of file inf_fe.C.
References std::abs(), libMesh::FEGenericBase< OutputType >::build(), libMesh::EDGE2, libMesh::libmesh_assert(), radius, libMesh::Real, and libMesh::Elem::type().
|
overridevirtual |
Reinitializes all the physical element-dependent data based on the side
of an infinite element.
After the recent larger changes, this case was not tested. It might work, but maybe it gives wrong results.
Implements libMesh::FEAbstract.
Definition at line 37 of file inf_fe_boundary.C.
References libMesh::QBase::build(), libMesh::Elem::build_side_ptr(), libMesh::EDGE2, libMesh::libmesh_assert(), libMesh::Elem::neighbor_ptr(), libMesh::NODEELEM, libMesh::Elem::p_level(), libMesh::QGAUSS, and libMesh::Elem::type().
|
inlinevirtualinherited |
This re-computes the dual shape function coefficients using DEFAULT qrule.
This has not been implemented for InfFE
Reimplemented in libMesh::FE< Dim, T >, libMesh::FE< 2, SUBDIVISION >, libMesh::FE< Dim, HIERARCHIC >, libMesh::FE< Dim, L2_RAVIART_THOMAS >, libMesh::FE< Dim, SCALAR >, libMesh::FE< Dim, L2_LAGRANGE >, libMesh::FE< Dim, L2_LAGRANGE_VEC >, libMesh::FE< Dim, NEDELEC_ONE >, libMesh::FE< Dim, HIERARCHIC_VEC >, libMesh::FE< Dim, RAVIART_THOMAS >, libMesh::FE< Dim, HERMITE >, libMesh::FE< Dim, L2_HIERARCHIC_VEC >, libMesh::FE< Dim, CLOUGH >, libMesh::FE< Dim, MONOMIAL >, libMesh::FE< Dim, XYZ >, libMesh::FE< Dim, MONOMIAL_VEC >, libMesh::FE< Dim, LAGRANGE >, libMesh::FE< Dim, L2_HIERARCHIC >, and libMesh::FE< Dim, LAGRANGE_VEC >.
Definition at line 161 of file fe_abstract.h.
|
inlinevirtualinherited |
This re-computes the dual shape function coefficients using CUSTOMIZED qrule.
The dual shape coefficients are utilized when calculating dual shape functions. This has not been implemented for InfFE
Reimplemented in libMesh::FE< Dim, T >, libMesh::FE< 2, SUBDIVISION >, libMesh::FE< Dim, HIERARCHIC >, libMesh::FE< Dim, L2_RAVIART_THOMAS >, libMesh::FE< Dim, SCALAR >, libMesh::FE< Dim, L2_LAGRANGE >, libMesh::FE< Dim, L2_LAGRANGE_VEC >, libMesh::FE< Dim, NEDELEC_ONE >, libMesh::FE< Dim, HIERARCHIC_VEC >, libMesh::FE< Dim, RAVIART_THOMAS >, libMesh::FE< Dim, HERMITE >, libMesh::FE< Dim, L2_HIERARCHIC_VEC >, libMesh::FE< Dim, CLOUGH >, libMesh::FE< Dim, MONOMIAL >, libMesh::FE< Dim, XYZ >, libMesh::FE< Dim, MONOMIAL_VEC >, libMesh::FE< Dim, LAGRANGE >, libMesh::FE< Dim, L2_HIERARCHIC >, and libMesh::FE< Dim, LAGRANGE_VEC >.
Definition at line 150 of file fe_abstract.h.
|
inlineoverridevirtualinherited |
request dphi calculations
Implements libMesh::FEAbstract.
Definition at line 238 of file fe_base.h.
|
inlineoverridevirtualinherited |
Implements libMesh::FEAbstract.
Definition at line 241 of file fe_base.h.
|
inlineoverridevirtualinherited |
Implements libMesh::FEAbstract.
Definition at line 223 of file fe_base.h.
|
inlineoverridevirtualinherited |
request phi calculations
Implements libMesh::FEAbstract.
Definition at line 220 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_phi().
|
inlineinherited |
set calculate_default_dual_coeff as needed
Definition at line 605 of file fe_abstract.h.
References libMesh::FEAbstract::calculate_default_dual_coeff.
|
inlineinherited |
set calculate_dual as needed
Definition at line 600 of file fe_abstract.h.
References libMesh::FEAbstract::calculate_dual.
|
inlineinherited |
Sets the base FE order of the finite element.
Definition at line 510 of file fe_abstract.h.
References libMesh::FEAbstract::fe_type, and libMesh::FEType::order.
|
static |
p
. This method lets you specify the relevant data directly, and is therefore allowed to be static.FE<Dim,T>
, and is not employed in the reinit()
cycle.compute_data()
. The shape()
methods should only be used for mapping. Definition at line 223 of file inf_fe_static.C.
References libMesh::InfFERadial::decay(), libMesh::err, libMesh::InfFE< Dim, T_radial, T_map >::eval(), libMesh::InfFEBase::get_elem_type(), libMesh::INFINITE_MAP, libMesh::FEType::radial_order, libMesh::Real, and libMesh::FEInterface::shape().
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::shape().
|
static |
p
. This method lets you specify the relevant data directly, and is therefore allowed to be static.FE<Dim,T>
, and is not employed in the reinit()
cycle.compute_data()
. The shape()
methods should only be used for mapping. Definition at line 270 of file inf_fe_static.C.
References libMesh::Elem::build_side_ptr(), libMesh::InfFERadial::decay(), libMesh::err, libMesh::InfFE< Dim, T_radial, T_map >::eval(), libMesh::INFINITE_MAP, libMesh::libmesh_assert(), libMesh::FEType::radial_order, libMesh::Real, and libMesh::FEInterface::shape().
|
static |
p
. This method lets you specify the relevant data directly, and is therefore allowed to be static.FE<Dim,T>
, and is not employed in the reinit()
cycle.compute_data()
. The shape()
methods should only be used for mapping. Definition at line 309 of file inf_fe_static.C.
References libMesh::FEType::order, libMesh::Elem::p_level(), and libMesh::InfFE< Dim, T_radial, T_map >::shape().
|
static |
p
. This method lets you specify the relevant data directly, and is therefore allowed to be static.FE<Dim,T>
, and is not employed in the reinit()
cycle.compute_data()
. The shape_deriv()
methods should only be used for mapping. Definition at line 373 of file inf_fe_static.C.
References libMesh::Elem::build_side_ptr(), libMesh::InfFERadial::decay(), libMesh::InfFERadial::decay_deriv(), libMesh::err, libMesh::InfFE< Dim, T_radial, T_map >::eval(), libMesh::InfFE< Dim, T_radial, T_map >::eval_deriv(), libMesh::INFINITE_MAP, libMesh::FEType::radial_order, libMesh::Real, libMesh::FEInterface::shape(), and libMesh::FEInterface::shape_deriv().
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv().
|
static |
p
. This method lets you specify the relevant data directly, and is therefore allowed to be static.FE<Dim,T>
, and is not employed in the reinit()
cycle.compute_data()
. The shape_deriv()
methods should only be used for mapping. Definition at line 607 of file inf_fe_static.C.
References libMesh::FEType::order, libMesh::Elem::p_level(), and libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv().
|
static |
p
. This method lets you specify the relevant data directly, and is therefore allowed to be static.FE<Dim,T>
, and is not employed in the reinit()
cycle.compute_data()
. The shape_deriv()
methods should only be used for mapping. Definition at line 326 of file inf_fe_static.C.
References libMesh::InfFERadial::decay(), libMesh::InfFERadial::decay_deriv(), libMesh::err, libMesh::InfFE< Dim, T_radial, T_map >::eval(), libMesh::InfFE< Dim, T_radial, T_map >::eval_deriv(), libMesh::InfFEBase::get_elem_type(), libMesh::INFINITE_MAP, libMesh::FEType::radial_order, libMesh::Real, libMesh::FEInterface::shape(), and libMesh::FEInterface::shape_deriv().
|
overrideprivatevirtual |
false
, currently not required. Implements libMesh::FEAbstract.
|
inlineoverridevirtual |
Computes the reference space quadrature points on the side of an element based on the side quadrature points.
Implements libMesh::FEAbstract.
|
protected |
Updates the protected member base_elem
to the appropriate base element for the given inf_elem
.
Definition at line 110 of file inf_fe.C.
References libMesh::InfFEBase::build_elem().
|
friend |
|
friend |
|
protectedinherited |
Whether to add p-refinement levels in init/reinit methods.
Definition at line 756 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::add_p_level_in_reinit().
|
protected |
|
protected |
|
staticprivate |
When compute_node_indices_fast()
is used, this static variable remembers the element type for which the static variables in compute_node_indices_fast()
are currently set.
Using a class member for the element type helps initializing it to a default value.
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
protectedinherited |
The element p-refinement level the current data structures are set up for.
Note that this is different from _p_level
which is the p-refinement level this finite elment object is operating at, e.g. how many dofs per elem, etc. On the other hand, this data member can indicate things like the order of the quadrature rule. We will use this primarily to determine whether cached data is still valid
Definition at line 726 of file fe_abstract.h.
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 143 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
protectedinherited |
Definition at line 633 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::get_curvatures(), libMesh::FEAbstract::get_d2xyzdeta2(), libMesh::FEAbstract::get_d2xyzdetadzeta(), libMesh::FEAbstract::get_d2xyzdxi2(), libMesh::FEAbstract::get_d2xyzdxideta(), libMesh::FEAbstract::get_d2xyzdxidzeta(), libMesh::FEAbstract::get_d2xyzdzeta2(), libMesh::FEAbstract::get_detadx(), libMesh::FEAbstract::get_detady(), libMesh::FEAbstract::get_detadz(), libMesh::FEAbstract::get_dxidx(), libMesh::FEAbstract::get_dxidy(), libMesh::FEAbstract::get_dxidz(), libMesh::FEAbstract::get_dxyzdeta(), libMesh::FEAbstract::get_dxyzdxi(), libMesh::FEAbstract::get_dxyzdzeta(), libMesh::FEAbstract::get_dzetadx(), libMesh::FEAbstract::get_dzetady(), libMesh::FEAbstract::get_dzetadz(), libMesh::FEAbstract::get_fe_map(), libMesh::FEAbstract::get_JxW(), libMesh::FEAbstract::get_normals(), libMesh::FEAbstract::get_tangents(), libMesh::FEAbstract::get_xyz(), libMesh::FEAbstract::print_JxW(), and libMesh::FEAbstract::print_xyz().
|
protectedinherited |
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 137 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 132 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
protected |
The number of total approximation shape functions for the current configuration.
Definition at line 1172 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::n_shape_functions().
|
protected |
The total number of quadrature points for the current configuration.
Definition at line 1178 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::n_quadrature_points().
|
protectedinherited |
The p refinement level the current data structures are set up for.
Definition at line 732 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::get_order(), and libMesh::FEAbstract::get_p_level().
|
protected |
|
protected |
|
protected |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
protected |
|
protected |
Have a FE<Dim-1
,T_base> handy for base approximation.
Since this one is created using the FEBase::build()
method, the InfFE
class is not required to be templated w.r.t. to the base approximation shape.
Definition at line 1211 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::InfFE().
|
protected |
|
mutableprotectedinherited |
Should we calculate shape function curls?
Definition at line 691 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::calculating_nothing(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_curl_phi().
|
mutableprotectedinherited |
Should we calculate shape function hessians?
Definition at line 681 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::calculating_nothing(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phideta2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidetadzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidx2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxi2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxideta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxidzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidy2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidydz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidz2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidzeta2(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_d2phi().
|
protectedinherited |
Definition at line 684 of file fe_abstract.h.
|
mutableprotectedinherited |
Are we calculating the coefficient for the dual basis using the default qrule?
Definition at line 655 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::set_calculate_default_dual_coeff().
|
mutableprotectedinherited |
Should we calculate shape function divergences?
Definition at line 696 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::calculating_nothing(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_div_phi().
|
mutableprotectedinherited |
Should we calculate shape function gradients?
Definition at line 675 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::calculating_nothing(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidx(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_dphi(), and libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweight().
|
mutableprotected |
Are we calculating scaled shape function gradients?
Definition at line 979 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decay(), libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decayxR(), and libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweightxR_sq().
|
mutableprotectedinherited |
Should we calculate reference shape function gradients?
Definition at line 701 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_curl_phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phideta2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidetadzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidx2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxi2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxideta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxidzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidy2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidydz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidz2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidzeta2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_div_phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphideta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidx(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidxi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_d2phi(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_dphi().
|
mutableprotectedinherited |
Are we calculating dual basis?
Definition at line 650 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_d2phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_dphi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_phi(), and libMesh::FEAbstract::set_calculate_dual().
|
mutableprotected |
Are we calculating the unscaled jacobian? We avoid it if not requested explicitly; this has the worst stability.
Definition at line 992 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_JxW().
|
mutableprotectedinherited |
Are we calculating mapping functions?
Definition at line 665 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::calculating_nothing(), libMesh::FEAbstract::get_curvatures(), libMesh::InfFE< Dim, T_radial, T_map >::get_curvatures(), libMesh::FEAbstract::get_d2xyzdeta2(), libMesh::InfFE< Dim, T_radial, T_map >::get_d2xyzdeta2(), libMesh::FEAbstract::get_d2xyzdetadzeta(), libMesh::InfFE< Dim, T_radial, T_map >::get_d2xyzdetadzeta(), libMesh::FEAbstract::get_d2xyzdxi2(), libMesh::InfFE< Dim, T_radial, T_map >::get_d2xyzdxi2(), libMesh::FEAbstract::get_d2xyzdxideta(), libMesh::InfFE< Dim, T_radial, T_map >::get_d2xyzdxideta(), libMesh::FEAbstract::get_d2xyzdxidzeta(), libMesh::InfFE< Dim, T_radial, T_map >::get_d2xyzdxidzeta(), libMesh::FEAbstract::get_d2xyzdzeta2(), libMesh::InfFE< Dim, T_radial, T_map >::get_d2xyzdzeta2(), libMesh::FEAbstract::get_detadx(), libMesh::InfFE< Dim, T_radial, T_map >::get_detadx(), libMesh::FEAbstract::get_detady(), libMesh::InfFE< Dim, T_radial, T_map >::get_detady(), libMesh::FEAbstract::get_detadz(), libMesh::InfFE< Dim, T_radial, T_map >::get_detadz(), libMesh::FEAbstract::get_dxidx(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidx(), libMesh::FEAbstract::get_dxidy(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidy(), libMesh::FEAbstract::get_dxidz(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidz(), libMesh::FEAbstract::get_dxyzdeta(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxyzdeta(), libMesh::FEAbstract::get_dxyzdxi(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxyzdxi(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxyzdzeta(), libMesh::FEAbstract::get_dzetadx(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadx(), libMesh::FEAbstract::get_dzetady(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetady(), libMesh::FEAbstract::get_dzetadz(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadz(), libMesh::FEAbstract::get_JxW(), libMesh::FEAbstract::get_normals(), libMesh::InfFE< Dim, T_radial, T_map >::get_normals(), libMesh::FEAbstract::get_tangents(), libMesh::InfFE< Dim, T_radial, T_map >::get_tangents(), and libMesh::FEAbstract::get_xyz().
|
mutableprotected |
Are we calculating scaled mapping functions?
Definition at line 969 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_JxWxdecay_sq().
|
mutableprotectedinherited |
Are we potentially deliberately calculating nothing?
Definition at line 660 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::calculating_nothing(), and libMesh::FEAbstract::get_nothing().
|
mutableprotectedinherited |
Should we calculate shape functions?
Definition at line 670 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::calculating_nothing(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi(), and libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weight().
|
mutableprotected |
Are we calculating scaled shape functions?
Definition at line 974 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_phi_over_decayxR(), and libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weightxR_sq().
|
mutableprotected |
Are we calculating the positions of quadrature points?
Definition at line 985 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_xyz().
|
mutableprotectedinherited |
Have calculations with this object already been started? Then all get_* functions should already have been called.
Definition at line 645 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_curl_phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phideta2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidetadzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidx2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxi2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxideta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxidzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidy2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidydz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidz2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidzeta2(), libMesh::InfFE< Dim, T_radial, T_map >::get_detadx(), libMesh::InfFE< Dim, T_radial, T_map >::get_detady(), libMesh::InfFE< Dim, T_radial, T_map >::get_detadz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_div_phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi(), libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decay(), libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decayxR(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphideta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidx(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidxi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidzeta(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_d2phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_dphi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_phi(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidx(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidy(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidz(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadx(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetady(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadz(), libMesh::InfFE< Dim, T_radial, T_map >::get_JxW(), libMesh::InfFE< Dim, T_radial, T_map >::get_JxWxdecay_sq(), libMesh::InfFE< Dim, T_radial, T_map >::get_normals(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi(), libMesh::InfFE< Dim, T_radial, T_map >::get_phi_over_decayxR(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweight(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweightxR_sq(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weight(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weightxR_sq(), libMesh::InfFE< Dim, T_radial, T_map >::get_tangents(), and libMesh::InfFE< Dim, T_radial, T_map >::get_xyz().
|
protectedinherited |
Shape function curl values.
Only defined for vector types.
Definition at line 631 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_curl_phi().
|
protected |
|
protectedinherited |
Shape function second derivative values.
Definition at line 674 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phi().
|
protectedinherited |
Shape function second derivatives in the eta direction.
Definition at line 695 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phideta2().
|
protectedinherited |
Shape function second derivatives in the eta-zeta direction.
Definition at line 700 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidetadzeta().
|
protectedinherited |
Shape function second derivatives in the x direction.
Definition at line 710 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidx2().
|
protectedinherited |
Shape function second derivatives in the x-y direction.
Definition at line 715 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdy().
|
protectedinherited |
Shape function second derivatives in the x-z direction.
Definition at line 720 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdz().
|
protectedinherited |
Shape function second derivatives in the xi direction.
Definition at line 680 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxi2().
|
protectedinherited |
Shape function second derivatives in the xi-eta direction.
Definition at line 685 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxideta().
|
protectedinherited |
Shape function second derivatives in the xi-zeta direction.
Definition at line 690 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxidzeta().
|
protectedinherited |
Shape function second derivatives in the y direction.
Definition at line 725 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidy2().
|
protectedinherited |
Shape function second derivatives in the y-z direction.
Definition at line 730 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidydz().
|
protectedinherited |
Shape function second derivatives in the z direction.
Definition at line 735 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidz2().
|
protectedinherited |
Shape function second derivatives in the zeta direction.
Definition at line 705 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidzeta2().
|
protected |
Definition at line 1091 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_detadx().
|
protected |
|
protected |
Definition at line 1092 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_detady().
|
protected |
|
protected |
Definition at line 1093 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_detadz().
|
protected |
|
protectedinherited |
The dimensionality of the object.
Definition at line 639 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::build(), and libMesh::FEAbstract::get_dim().
|
protectedinherited |
Shape function divergence values.
Only defined for vector types.
Definition at line 636 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_div_phi().
|
protected |
|
protectedinherited |
Used for certain infinite element families: the first derivatives of the phase term in global coordinates, over all quadrature points.
Definition at line 753 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphase().
|
protectedinherited |
Shape function derivative values.
Definition at line 620 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi().
|
protectedinherited |
Shape function derivatives in the eta direction.
Definition at line 646 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphideta().
|
protectedinherited |
Shape function derivatives in the x direction.
Definition at line 656 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidx().
|
protectedinherited |
Shape function derivatives in the xi direction.
Definition at line 641 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidxi().
|
protectedinherited |
Shape function derivatives in the y direction.
Definition at line 661 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidy().
|
protectedinherited |
Shape function derivatives in the z direction.
Definition at line 666 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidz().
|
protectedinherited |
Shape function derivatives in the zeta direction.
Definition at line 651 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidzeta().
|
protected |
Definition at line 1115 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decayxR().
|
protected |
Definition at line 1116 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decay().
|
protected |
|
mutableprotectedinherited |
Coefficient matrix for the dual basis.
Definition at line 626 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_coeff().
|
protectedinherited |
Definition at line 675 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_d2phi().
|
protectedinherited |
Definition at line 621 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_dphi().
|
protectedinherited |
Definition at line 615 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dual_phi().
|
protectedinherited |
Used for certain infinite element families: the global derivative of the additional radial weight \( 1/{r^2} \), over all quadrature points.
Definition at line 760 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_Sobolev_dweight(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweight(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_Sobolev_dweightxR_sq().
|
protected |
|
protected |
Definition at line 1056 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweightxR_sq().
|
protected |
Definition at line 1088 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dxidx().
|
protected |
|
protected |
Definition at line 1089 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dxidy().
|
protected |
|
protected |
Definition at line 1090 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dxidz().
|
protected |
|
protected |
Definition at line 1094 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadx().
|
protected |
|
protected |
Definition at line 1095 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dzetady().
|
protected |
|
protected |
Definition at line 1096 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadz().
|
protected |
|
protectedinherited |
The element type the current data structures are set up for.
Definition at line 715 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::get_type().
|
protectedinherited |
The finite element type for this object.
Definition at line 709 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::compute_node_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEAbstract::get_family(), libMesh::FEAbstract::get_fe_type(), libMesh::FEAbstract::get_order(), libMesh::InfFE< Dim, T_radial, T_map >::InfFE(), and libMesh::FEAbstract::set_fe_order().
|
protected |
Definition at line 1119 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_JxW().
|
protected |
Definition at line 1118 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_JxWxdecay_sq().
|
protected |
|
protected |
Definition at line 1121 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_normals().
|
protectedinherited |
Shape function values.
Definition at line 614 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi().
|
protected |
Definition at line 1114 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_phi_over_decayxR().
|
protectedinherited |
A pointer to the quadrature rule employed.
Definition at line 737 of file fe_abstract.h.
|
protected |
The quadrature rule for the base element associated with the current infinite element.
Definition at line 1196 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::n_quadrature_points().
|
protectedinherited |
A flag indicating if current data structures correspond to quadrature rule points.
Definition at line 743 of file fe_abstract.h.
|
protected |
|
protected |
Definition at line 1122 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_tangents().
|
protectedinherited |
Used for certain infinite element families: the additional radial weight \( 1/{r^2} \) in local coordinates, over all quadrature points.
Definition at line 767 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_Sobolev_weight(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weight(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_Sobolev_weightxR_sq().
|
protected |
Definition at line 1047 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weightxR_sq().
|
protected |
Physical quadrature points.
Usually, this is obtained from the FEMap
class, but here FEMap does not know enough to compute it.
Definition at line 1045 of file inf_fe.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::get_xyz().