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 () | |
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 |
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< OutputGradient > > & | get_dphi () const |
const std::vector< std::vector< OutputShape > > & | get_curl_phi () const |
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< 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 |
const std::vector< Real > & | get_Sobolev_weight () const |
const std::vector< RealGradient > & | get_Sobolev_dweight () const |
void | print_phi (std::ostream &os) const |
Prints the value of each shape function at each quadrature point. More... | |
void | print_dphi (std::ostream &os) const |
Prints the value of each shape function's derivative at each quadrature point. More... | |
void | print_d2phi (std::ostream &os) const |
Prints the value of each shape function's second derivatives at each quadrature point. More... | |
unsigned int | get_dim () const |
const std::vector< Point > & | get_xyz () const |
const std::vector< Real > & | get_JxW () const |
const std::vector< RealGradient > & | get_dxyzdxi () const |
const std::vector< RealGradient > & | get_dxyzdeta () const |
const std::vector< RealGradient > & | get_dxyzdzeta () const |
const std::vector< RealGradient > & | get_d2xyzdxi2 () const |
const std::vector< RealGradient > & | get_d2xyzdeta2 () const |
const std::vector< RealGradient > & | get_d2xyzdzeta2 () const |
const std::vector< RealGradient > & | get_d2xyzdxideta () const |
const std::vector< RealGradient > & | get_d2xyzdxidzeta () const |
const std::vector< RealGradient > & | get_d2xyzdetadzeta () const |
const std::vector< Real > & | get_dxidx () const |
const std::vector< Real > & | get_dxidy () const |
const std::vector< Real > & | get_dxidz () const |
const std::vector< Real > & | get_detadx () const |
const std::vector< Real > & | get_detady () const |
const std::vector< Real > & | get_detadz () const |
const std::vector< Real > & | get_dzetadx () const |
const std::vector< Real > & | get_dzetady () const |
const std::vector< Real > & | get_dzetadz () const |
const std::vector< std::vector< Point > > & | get_tangents () const |
const std::vector< Point > & | get_normals () const |
const std::vector< Real > & | get_curvatures () 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... | |
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_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 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_dofs (const FEType &fet, const ElemType inf_elem_type) |
static unsigned int | n_dofs_at_node (const FEType &fet, const ElemType inf_elem_type, const unsigned int n) |
static unsigned int | n_dofs_per_elem (const FEType &fet, const ElemType inf_elem_type) |
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 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=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... | |
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 | combine_base_radial (const Elem *inf_elem) |
Combines the shape functions, which were formed in init_shape_functions(Elem *) , with geometric data. More... | |
virtual void | compute_shape_functions (const Elem *, const std::vector< Point > &) override |
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... | |
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) |
void | determine_calculations () |
Determine which values are to be calculated, for both the FE itself and for the FEMap. More... | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) |
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... | |
Protected Attributes | |
std::vector< Real > | dist |
the radial distance of the base nodes from the origin More... | |
std::vector< Real > | dweightdv |
the additional radial weight \( 1/{r^2} \) in local coordinates, over all quadrature points. More... | |
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< std::vector< Real > > | radial_map |
the radial mapping shapes in local coordinates More... | |
std::vector< std::vector< Real > > | dradialdv_map |
the first local derivative of the radial mapping shapes More... | |
std::vector< Real > | dphasedxi |
the first local derivative (for 3D, the first in the base) of the phase term in local coordinates. More... | |
std::vector< Real > | dphasedeta |
the second local derivative (for 3D, the second in the base) of the phase term in local coordinates. More... | |
std::vector< Real > | dphasedzeta |
the third local derivative (for 3D, the derivative in radial direction) of the phase term in local coordinates. More... | |
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< Elem > | base_elem |
The base 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< OutputGradient > > | dphi |
Shape function derivative values. 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< 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_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 | _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... | |
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.
Base class for all the infinite geometric element types.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 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 39 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.
|
inline |
|
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 71 of file inf_fe.C.
References libMesh::QBase::build(), libMesh::QBase::get_dim(), libMesh::QBase::get_order(), libMesh::libmesh_assert(), and libMesh::QBase::type().
|
inherited |
|
inherited |
|
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(), assemble(), LinearElasticity::assemble(), assemble_1D(), assemble_biharmonic(), assemble_cd(), assemble_elasticity(), assemble_ellipticdg(), 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_jacobian(), compute_residual(), LinearElasticity::compute_stresses(), compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshFunction::gradient(), libMesh::MeshFunction::hessian(), libMesh::InfFE< Dim, T_radial, T_map >::InfFE(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::RBEIMAssembly::initialize_fe(), integrate_function(), LaplaceYoung::jacobian(), LargeDeformationElasticity::jacobian(), main(), OverlappingCouplingFunctor::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()(), libMesh::System::point_hessian(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), LaplaceYoung::residual(), LargeDeformationElasticity::residual(), libMesh::HPCoarsenTest::select_refinement(), RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), and libMesh::Elem::volume().
|
inherited |
Definition at line 481 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_SchroedingerEquation(), assemble_wave(), libMesh::FEMContext::cached_fe(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and InfFERadialTest::testSingleOrder().
|
inherited |
|
staticinherited |
|
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 822 of file fe_base.C.
Referenced by libMesh::JumpErrorEstimator::estimate_error(), and libMesh::ExactErrorEstimator::estimate_error().
|
protected |
Combines the shape functions, which were formed in init_shape_functions(Elem *)
, with geometric data.
Has to be called every time the geometric configuration changes. Afterward, the fields are ready to be used to compute global derivatives, the jacobian etc, see FEAbstract::compute_map()
.
Definition at line 751 of file inf_fe.C.
References libMesh::InfFEBase::get_elem_type(), libMesh::libmesh_assert(), libMesh::InfFERadial::n_dofs(), std::norm(), libMesh::Elem::origin(), and libMesh::Elem::type().
|
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 337 of file inf_fe_static.C.
References libMesh::FEGenericBase< OutputType >::build_InfFE(), libMesh::Elem::build_side_ptr(), data, libMesh::InfFERadial::decay(), libMesh::InfFERadial::decay_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::eval(), libMesh::InfFE< Dim, T_radial, T_map >::eval_deriv(), libMesh::imaginary, libMesh::INFEDGE2, libMesh::libmesh_assert(), libMesh::InfFERadial::mapping_order(), std::norm(), libMesh::Elem::origin(), libMesh::pi, libMesh::Elem::point(), libMesh::FEType::radial_order, libMesh::Real, libMesh::FE< Dim, T >::shape(), libMesh::FEInterface::shape(), libMesh::FEInterface::shape_deriv(), and libMesh::Elem::type().
Referenced by libMesh::FEInterface::ifem_compute_data().
|
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::dim(), libMesh::FEAbstract::fe_type, libMesh::FEMap::inverse_map(), libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::FEMap::map_fe_type(), libMesh::FEInterface::n_dofs(), libMesh::Elem::neighbor_ptr(), 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 523 of file inf_fe_static.C.
References 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 730 of file inf_fe_static.C.
References 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 1692 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 990 of file fe_abstract.C.
References libMesh::Elem::active(), libMesh::PeriodicBoundaries::boundary(), libMesh::Elem::build_side_ptr(), libMesh::Elem::default_order(), libMesh::Elem::dim(), libMesh::FEAbstract::fe_type, libMesh::PeriodicBoundaryBase::get_corresponding_pos(), libMesh::invalid_uint, 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::PeriodicBoundaryBase::pairedboundary, 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 1396 of file fe_base.C.
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::compute_constraints().
|
overrideprotectedvirtual |
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.
Reimplemented from libMesh::FEGenericBase< OutputType >.
Definition at line 899 of file inf_fe.C.
References dim, and libMesh::index_range().
|
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 839 of file inf_fe_static.C.
References 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.
|
protectedinherited |
Determine which values are to be calculated, for both the FE itself and for the FEMap.
Definition at line 756 of file fe_base.C.
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
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 140 of file inf_fe_boundary.C.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
protected |
|
protected |
|
protected |
|
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.
|
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 >::init_radial_shape_functions(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), and libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv().
|
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 |
|
protected |
|
protected |
|
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.
|
staticprotected |
v
. See eval
for details. Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::InfFE< Dim, T_radial, T_map >::init_radial_shape_functions(), and libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv().
|
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.
|
inlineoverridevirtual |
Implements libMesh::FEAbstract.
Definition at line 367 of file inf_fe.h.
References libMesh::C_ZERO.
|
inlineinherited |
Definition at line 222 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), CurlCurlSystem::element_time_derivative(), CurlCurlSystem::init_context(), libMesh::FEMContext::interior_curl(), and libMesh::FEMContext::point_curl().
|
inlineinherited |
Definition at line 387 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 288 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::System::calculate_norm(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::FEMContext::fixed_point_hessian(), libMesh::LaplacianErrorEstimator::init_context(), libMesh::ParsedFEMFunction< T >::init_context(), libMesh::FEMContext::interior_hessians(), libMesh::LaplacianErrorEstimator::internal_side_integration(), libMesh::FEMContext::point_hessian(), libMesh::FEMContext::side_hessians(), and libMesh::FEMContext::some_hessian().
|
inlineinherited |
Definition at line 368 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 376 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 344 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 352 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 360 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 384 of file fe_base.h.
Referenced by libMesh::H1FETransformation< OutputShape >::map_d2phi().
|
inlineinherited |
Definition at line 279 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 303 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 273 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 291 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 297 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 285 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 333 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 340 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 347 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 230 of file fe_abstract.h.
References libMesh::FEAbstract::dim.
|
inlineinherited |
Definition at line 230 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 402 of file fe_base.h.
Referenced by assemble_SchroedingerEquation().
|
inlineinherited |
Definition at line 214 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), assemble_SchroedingerEquation(), assembly_with_dg_fem_context(), libMesh::KellyErrorEstimator::boundary_side_integration(), libMesh::System::calculate_norm(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), NavierSystem::element_constraint(), CoupledSystem::element_constraint(), NavierSystem::element_time_derivative(), SolidSystem::element_time_derivative(), PoissonSystem::element_time_derivative(), LaplaceSystem::element_time_derivative(), ElasticitySystem::element_time_derivative(), CoupledSystem::element_time_derivative(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::FEMContext::fixed_point_gradient(), libMesh::OldSolutionBase< Output, point_output >::get_shape_outputs(), NavierSystem::init_context(), SolidSystem::init_context(), LaplaceSystem::init_context(), PoissonSystem::init_context(), ElasticitySystem::init_context(), CoupledSystem::init_context(), libMesh::ParsedFEMFunction< T >::init_context(), libMesh::KellyErrorEstimator::init_context(), ElasticityRBConstruction::init_context(), libMesh::FEMContext::interior_gradients(), libMesh::KellyErrorEstimator::internal_side_integration(), libMesh::FEMContext::point_gradient(), RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), libMesh::FEMContext::side_gradient(), libMesh::FEMContext::side_gradients(), LaplaceSystem::side_qoi_derivative(), libMesh::FEMContext::some_gradient(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::SubFunctor(), and FETest< order, family, elem_type >::testGradU().
|
inlineinherited |
Definition at line 270 of file fe_base.h.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), and libMesh::H1FETransformation< OutputShape >::map_dphi().
|
inlineinherited |
Definition at line 238 of file fe_base.h.
Referenced by RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), and FETest< order, family, elem_type >::testGradUComp().
|
inlineinherited |
Definition at line 262 of file fe_base.h.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), and libMesh::H1FETransformation< OutputShape >::map_dphi().
|
inlineinherited |
Definition at line 246 of file fe_base.h.
Referenced by RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), and FETest< order, family, elem_type >::testGradUComp().
|
inlineinherited |
Definition at line 254 of file fe_base.h.
Referenced by RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), and FETest< order, family, elem_type >::testGradUComp().
|
inlineinherited |
Definition at line 278 of file fe_base.h.
Referenced by libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), and libMesh::H1FETransformation< OutputShape >::map_dphi().
|
inlineinherited |
Definition at line 312 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 319 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 326 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 258 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 251 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 265 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inlineinherited |
Definition at line 354 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 361 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 368 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 453 of file fe_abstract.h.
References libMesh::FEType::family, and libMesh::FEAbstract::fe_type.
|
inlineinherited |
|
inlineinherited |
Definition at line 458 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
Referenced by libMesh::HCurlFETransformation< OutputShape >::init_map_d2phi(), libMesh::H1FETransformation< OutputShape >::init_map_d2phi(), libMesh::HCurlFETransformation< OutputShape >::init_map_dphi(), libMesh::H1FETransformation< OutputShape >::init_map_dphi(), libMesh::HCurlFETransformation< OutputShape >::init_map_phi(), libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), and libMesh::HCurlFETransformation< OutputShape >::map_phi().
|
inlineinherited |
Definition at line 427 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(), NavierSystem::side_constraint(), 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().
|
inlineinherited |
Definition at line 244 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
Referenced by libMesh::ExactSolution::_compute_error(), assemble_SchroedingerEquation(), assembly_with_dg_fem_context(), libMesh::DiscontinuityMeasure::boundary_side_integration(), libMesh::KellyErrorEstimator::boundary_side_integration(), libMesh::System::calculate_norm(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), NavierSystem::element_constraint(), CoupledSystem::element_constraint(), PoissonSystem::element_postprocess(), LaplaceSystem::element_postprocess(), LaplaceQoI::element_qoi(), LaplaceQoI::element_qoi_derivative(), LaplaceSystem::element_qoi_derivative(), HeatSystem::element_qoi_derivative(), NavierSystem::element_time_derivative(), SolidSystem::element_time_derivative(), PoissonSystem::element_time_derivative(), LaplaceSystem::element_time_derivative(), CurlCurlSystem::element_time_derivative(), ElasticitySystem::element_time_derivative(), CoupledSystem::element_time_derivative(), libMesh::ExactErrorEstimator::find_squared_element_error(), LaplaceQoI::init_context(), NavierSystem::init_context(), SolidSystem::init_context(), PoissonSystem::init_context(), LaplaceSystem::init_context(), CurlCurlSystem::init_context(), ElasticitySystem::init_context(), CoupledSystem::init_context(), ElasticityRBConstruction::init_context(), libMesh::FEMSystem::init_context(), libMesh::RBEIMConstruction::init_context_with_sys(), libMesh::LaplacianErrorEstimator::internal_side_integration(), libMesh::DiscontinuityMeasure::internal_side_integration(), libMesh::KellyErrorEstimator::internal_side_integration(), NavierSystem::mass_residual(), ElasticitySystem::mass_residual(), libMesh::FEMPhysics::mass_residual(), LaplaceSystem::side_constraint(), LaplaceSystem::side_postprocess(), CoupledSystemQoI::side_qoi(), CoupledSystemQoI::side_qoi_derivative(), LaplaceSystem::side_qoi_derivative(), SolidSystem::side_time_derivative(), CurlCurlSystem::side_time_derivative(), ElasticitySystem::side_time_derivative(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::SubFunctor(), and libMesh::RBEIMConstruction::truth_solve().
|
inlineinherited |
Definition at line 380 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
Referenced by libMesh::KellyErrorEstimator::boundary_side_integration(), libMesh::ParsedFEMFunction< T >::eval_args(), libMesh::ParsedFEMFunction< T >::init_context(), libMesh::KellyErrorEstimator::init_context(), libMesh::KellyErrorEstimator::internal_side_integration(), LaplaceSystem::side_postprocess(), LaplaceSystem::side_qoi_derivative(), and CurlCurlSystem::side_time_derivative().
|
inlineinherited |
Definition at line 432 of file fe_abstract.h.
References libMesh::FEAbstract::_p_level, libMesh::FEAbstract::fe_type, and libMesh::FEType::order.
|
inlineinherited |
Definition at line 422 of file fe_abstract.h.
References libMesh::FEAbstract::_p_level.
|
inlineinherited |
Definition at line 206 of file fe_base.h.
Referenced by libMesh::ExactSolution::_compute_error(), assemble_SchroedingerEquation(), assembly_with_dg_fem_context(), libMesh::DiscontinuityMeasure::boundary_side_integration(), libMesh::System::calculate_norm(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), NavierSystem::element_constraint(), CoupledSystem::element_constraint(), LaplaceQoI::element_qoi_derivative(), LaplaceSystem::element_qoi_derivative(), HeatSystem::element_qoi_derivative(), NavierSystem::element_time_derivative(), PoissonSystem::element_time_derivative(), CurlCurlSystem::element_time_derivative(), ElasticitySystem::element_time_derivative(), CoupledSystem::element_time_derivative(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), libMesh::RBEIMAssembly::evaluate_basis_function(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::FEMContext::fixed_point_value(), libMesh::OldSolutionBase< Output, point_output >::get_shape_outputs(), LaplaceQoI::init_context(), NavierSystem::init_context(), SolidSystem::init_context(), PoissonSystem::init_context(), LaplaceSystem::init_context(), CurlCurlSystem::init_context(), ElasticitySystem::init_context(), CoupledSystem::init_context(), libMesh::DiscontinuityMeasure::init_context(), libMesh::ParsedFEMFunction< T >::init_context(), ElasticityRBConstruction::init_context(), libMesh::FEMSystem::init_context(), libMesh::RBEIMConstruction::init_context_with_sys(), libMesh::FEMContext::interior_values(), libMesh::DiscontinuityMeasure::internal_side_integration(), NavierSystem::mass_residual(), ElasticitySystem::mass_residual(), libMesh::FEMPhysics::mass_residual(), libMesh::FEMContext::point_value(), RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), LaplaceSystem::side_constraint(), CoupledSystemQoI::side_qoi_derivative(), SolidSystem::side_time_derivative(), CurlCurlSystem::side_time_derivative(), ElasticitySystem::side_time_derivative(), libMesh::FEMContext::side_values(), libMesh::FEMContext::some_value(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::SubFunctor(), SlitMeshRefinedSystemTest::testRestart(), SlitMeshRefinedSystemTest::testSystem(), FETest< order, family, elem_type >::testU(), and libMesh::RBEIMConstruction::truth_solve().
|
staticinherited |
nodes
based on the element type. Definition at line 308 of file fe_abstract.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::TET10, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, and libMesh::TRISHELL3.
|
inlineinherited |
get_Sobolev_weight()
for details. In case of FE
initialized to all zero. Definition at line 426 of file fe_base.h.
Referenced by assemble_SchroedingerEquation().
|
inlineinherited |
In case of the general finite element class FE
this field is initialized to all ones, 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 418 of file fe_base.h.
Referenced by assemble_SchroedingerEquation().
|
inlineinherited |
Definition at line 374 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
|
inlineinherited |
Definition at line 416 of file fe_abstract.h.
References libMesh::FEAbstract::elem_type.
|
inlineinherited |
xyz
spatial locations of the quadrature points on the element. Definition at line 237 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map, and libMesh::FEAbstract::calculate_map.
Referenced by libMesh::ExactSolution::_compute_error(), assemble_SchroedingerEquation(), libMesh::DiscontinuityMeasure::boundary_side_integration(), libMesh::KellyErrorEstimator::boundary_side_integration(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), PoissonSystem::element_postprocess(), LaplaceSystem::element_postprocess(), LaplaceQoI::element_qoi(), LaplaceQoI::element_qoi_derivative(), LaplaceSystem::element_qoi_derivative(), NavierSystem::element_time_derivative(), PoissonSystem::element_time_derivative(), CurlCurlSystem::element_time_derivative(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::ParsedFEMFunction< T >::eval_args(), libMesh::ExactErrorEstimator::find_squared_element_error(), LaplaceQoI::init_context(), NavierSystem::init_context(), SolidSystem::init_context(), LaplaceSystem::init_context(), PoissonSystem::init_context(), CurlCurlSystem::init_context(), CoupledSystem::init_context(), libMesh::ParsedFEMFunction< T >::init_context(), libMesh::RBEIMConstruction::init_context_with_sys(), libMesh::DGFEMContext::neighbor_side_fe_reinit(), RationalMapTest< elem_type >::setUp(), LaplaceSystem::side_constraint(), LaplaceSystem::side_postprocess(), CoupledSystemQoI::side_qoi(), CoupledSystemQoI::side_qoi_derivative(), LaplaceSystem::side_qoi_derivative(), SolidSystem::side_time_derivative(), CurlCurlSystem::side_time_derivative(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::SubFunctor(), SlitMeshRefinedSystemTest::testRestart(), SlitMeshRefinedSystemTest::testSystem(), and libMesh::RBEIMConstruction::truth_solve().
|
inlineprotectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
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 158 of file inf_fe_boundary.C.
References libMesh::FEGenericBase< OutputType >::build(), libMesh::Elem::infinite(), libMesh::libmesh_assert(), libMesh::InfFEBase::n_base_mapping_sf(), libMesh::Elem::p_level(), libMesh::Elem::parent(), and libMesh::Elem::type().
|
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 336 of file inf_fe.C.
References libMesh::InfFERadial::decay(), libMesh::InfFERadial::decay_deriv(), libMesh::InfFEMap::eval(), libMesh::InfFE< Dim, T_radial, T_map >::eval(), libMesh::InfFEMap::eval_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::eval_deriv(), libMesh::libmesh_assert(), libMesh::InfFERadial::mapping_order(), 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 422 of file inf_fe.C.
References libMesh::InfFERadial::D(), libMesh::InfFERadial::D_deriv(), libMesh::libmesh_assert(), libMesh::InfFEBase::n_base_mapping_sf(), libMesh::Elem::type(), and libMesh::MeshTools::weight().
|
inlinestatic |
Definition at line 397 of file inf_fe.h.
References libMesh::InfFEMap::inverse_map().
Referenced by libMesh::FEInterface::ifem_inverse_map().
|
inlinestatic |
|
inlineoverridevirtual |
true
if the element's higher order shape functions are hierarchic Implements libMesh::FEAbstract.
|
inlinestatic |
Definition at line 390 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 58 of file inf_fe_static.C.
References libMesh::InfFEBase::get_elem_type(), libMesh::FEInterface::n_dofs(), libMesh::InfFERadial::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 |
n
(not dof!) for an element of type t
and order o
. Definition at line 76 of file inf_fe_static.C.
References libMesh::InfFEBase::get_elem_type(), libMesh::FEInterface::n_dofs_at_node(), libMesh::InfFERadial::n_dofs_at_node(), and libMesh::FEType::radial_order.
Referenced by libMesh::FEInterface::ifem_n_dofs_at_node().
|
static |
Definition at line 105 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().
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
inlineoverridevirtual |
for
loop in your simulation for matrix assembly of the current element. Implements libMesh::FEAbstract.
Definition at line 490 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.
|
inlineoverridevirtual |
Implements libMesh::FEAbstract.
Definition at line 482 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().
|
inlinestatic |
t
and approximation order o
. Definition at line 336 of file inf_fe.h.
References libMesh::InfFE< Dim, T_radial, T_map >::n_dofs().
|
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 123 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 606 of file fe_abstract.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::EDGE4, libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::NODEELEM, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::Real, libMesh::TET10, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, and libMesh::TRISHELL3.
Referenced by libMesh::FEInterface::ifem_on_reference_element(), libMesh::FEMap::inverse_map(), and libMesh::FEInterface::on_reference_element().
|
virtualinherited |
Prints the value of each shape function's second derivatives at each quadrature point.
Implements libMesh::FEAbstract.
Definition at line 807 of file fe_base.C.
|
virtualinherited |
Prints the value of each shape function's derivative at each quadrature point.
Implements libMesh::FEAbstract.
Definition at line 746 of file fe_base.C.
|
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<<().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 87 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
|
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().
|
virtualinherited |
Prints the value of each shape function at each quadrature point.
Implements libMesh::FEAbstract.
Definition at line 735 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 112 of file inf_fe.C.
References std::abs(), libMesh::FEGenericBase< OutputType >::build(), dim, 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.
Implements libMesh::FEAbstract.
Definition at line 37 of file inf_fe_boundary.C.
References libMesh::QBase::build(), libMesh::Elem::build_side_ptr(), dim, libMesh::EDGE2, libMesh::libmesh_assert(), libMesh::NODEELEM, libMesh::Elem::p_level(), libMesh::QGAUSS, and libMesh::Elem::type().
|
inlineinherited |
Sets the base FE order of the finite element.
Definition at line 437 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 202 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, libMesh::FEInterface::shape(), and libMesh::Elem::type().
|
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 158 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::FEInterface::ifem_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 284 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(), libMesh::FEInterface::shape_deriv(), and libMesh::Elem::type().
|
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 240 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 101 of file inf_fe.C.
References libMesh::InfFEBase::build_elem().
|
friend |
|
friend |
|
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 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 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 524 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::FESubdivision::init_shape_functions(), libMesh::FEAbstract::print_JxW(), and libMesh::FEAbstract::print_xyz().
|
protectedinherited |
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 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 756 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 762 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 597 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 794 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 567 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_curl_phi().
|
mutableprotectedinherited |
Should we calculate shape function hessians?
Definition at line 557 of file fe_abstract.h.
Referenced by 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(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidzeta2().
|
protectedinherited |
Definition at line 560 of file fe_abstract.h.
|
mutableprotectedinherited |
Should we calculate shape function divergences?
Definition at line 572 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_div_phi().
|
mutableprotectedinherited |
Should we calculate shape function gradients?
Definition at line 551 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidx(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidy(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidz().
|
mutableprotectedinherited |
Should we calculate reference shape function gradients?
Definition at line 577 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(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidzeta().
|
mutableprotectedinherited |
Are we calculating mapping functions?
Definition at line 541 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_dzetadx(), libMesh::FEAbstract::get_dzetady(), libMesh::FEAbstract::get_dzetadz(), libMesh::FEAbstract::get_JxW(), libMesh::FEAbstract::get_normals(), libMesh::FEAbstract::get_tangents(), and libMesh::FEAbstract::get_xyz().
|
mutableprotectedinherited |
Should we calculate shape functions?
Definition at line 546 of file fe_abstract.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi().
|
mutableprotectedinherited |
Have calculations with this object already been started? Then all get_* functions should already have been called.
Definition at line 536 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_phi(), and libMesh::FESubdivision::init_shape_functions().
|
protectedinherited |
Shape function curl values.
Only defined for vector types.
Definition at line 507 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 550 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 570 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 575 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 585 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 590 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 595 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 555 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 560 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 565 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 600 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 605 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 610 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 580 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidzeta2().
|
protectedinherited |
The dimensionality of the object.
Definition at line 530 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::build(), and libMesh::FEAbstract::get_dim().
|
protected |
|
protectedinherited |
Shape function divergence values.
Only defined for vector types.
Definition at line 512 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 628 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphase().
|
protected |
|
protected |
|
protected |
|
protectedinherited |
Shape function derivative values.
Definition at line 502 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 522 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 532 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 517 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 537 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 542 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 527 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidzeta().
|
protected |
|
protected |
|
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 635 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_Sobolev_dweight().
|
protected |
|
protectedinherited |
The element type the current data structures are set up for.
Definition at line 591 of file fe_abstract.h.
Referenced by libMesh::FESubdivision::attach_quadrature_rule(), and libMesh::FEAbstract::get_type().
|
protectedinherited |
The finite element type for this object.
Definition at line 585 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(), libMesh::FESubdivision::init_shape_functions(), and libMesh::FEAbstract::set_fe_order().
|
protected |
|
protectedinherited |
Shape function values.
Definition at line 497 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi().
|
protectedinherited |
A pointer to the quadrature rule employed.
Definition at line 602 of file fe_abstract.h.
Referenced by libMesh::FESubdivision::attach_quadrature_rule().
|
protected |
|
protected |
The quadrature rule for the base element associated with the current infinite element.
Definition at line 780 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 608 of file fe_abstract.h.
|
protected |
|
protectedinherited |
Used for certain infinite element families: the additional radial weight \( 1/{r^2} \) in local coordinates, over all quadrature points.
Definition at line 642 of file fe_base.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::get_Sobolev_weight().