libMesh
|
Discontinuous Hierarchic finite elements. More...
#include <fe.h>
Public Types | |
typedef FEGenericBase< typename FEOutputType< T >::type >::OutputShape | OutputShape |
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 | |
FEL2Hierarchic (const FEType &fet) | |
Constructor. More... | |
Real | shape (const Elem *elem, const Order order, const unsigned int i, const Point &p) |
Subdivision finite elements. More... | |
Real | shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p) |
Real | shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p) |
virtual unsigned int | n_shape_functions () const override |
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 *elem, const unsigned int side, 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 face . 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 |
Reinitializes all the physical element-dependent data based on the edge . More... | |
virtual void | side_map (const Elem *elem, const Elem *side, const unsigned int s, const std::vector< Point > &reference_side_points, std::vector< Point > &reference_points) 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 |
Provides the class with the quadrature rule, which provides the locations (on a reference element) where the shape functions are to be calculated. More... | |
virtual unsigned int | n_quadrature_points () const override |
virtual bool | shapes_need_reinit () const override |
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 |
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 OutputShape | shape (const ElemType t, const Order o, const unsigned int i, const Point &p) |
static OutputShape | shape (const Elem *elem, const Order o, const unsigned int i, const Point &p) |
static OutputShape | shape_deriv (const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p) |
static OutputShape | shape_deriv (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p) |
static OutputShape | shape_second_deriv (const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p) |
static OutputShape | shape_second_deriv (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p) |
static void | nodal_soln (const Elem *elem, const Order o, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln) |
Build the nodal soln from the element soln. More... | |
static unsigned int | n_shape_functions (const ElemType t, const Order o) |
static unsigned int | n_dofs (const ElemType t, const Order o) |
static unsigned int | n_dofs_at_node (const ElemType t, const Order o, const unsigned int n) |
static unsigned int | n_dofs_per_elem (const ElemType t, const Order o) |
static void | dofs_on_side (const Elem *const elem, const Order o, unsigned int s, std::vector< unsigned int > &di) |
Fills the vector di with the local degree of freedom indices associated with side s of element elem . More... | |
static void | dofs_on_edge (const Elem *const elem, const Order o, unsigned int e, std::vector< unsigned int > &di) |
Fills the vector di with the local degree of freedom indices associated with edge e of element elem . More... | |
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) |
Takes a number points in physical space (in the physical_points vector) and finds their location on the reference element for the input element elem . More... | |
static void | compute_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 element-specific optimizations if possible. More... | |
static Point | map (const Elem *elem, const Point &reference_point) |
static Point | map_xi (const Elem *elem, const Point &reference_point) |
static Point | map_eta (const Elem *elem, const Point &reference_point) |
static Point | map_zeta (const Elem *elem, const Point &reference_point) |
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 | |
virtual void | init_shape_functions (const std::vector< Point > &qp, const Elem *e) |
Update the various member data fields phi , dphidxi , dphideta , dphidzeta , etc. More... | |
virtual void | init_base_shape_functions (const std::vector< Point > &qp, const Elem *e) override |
Initialize the data fields for the base of an an infinite element. More... | |
void | determine_calculations () |
Determine which values are to be calculated, for both the FE itself and for the FEMap. More... | |
virtual void | compute_shape_functions (const Elem *elem, const std::vector< Point > &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 , dphidy , and dphidz . 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... | |
Protected Attributes | |
std::vector< Point > | cached_nodes |
An array of the node locations on the last element we computed on. More... | |
ElemType | last_side |
The last side and last edge we did a reinit on. More... | |
unsigned int | last_edge |
std::unique_ptr< FETransformationBase< FEOutputType< T >::type > > | _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 ![]() | |
std::vector< Real > | weight |
Used for certain infinite element families: the additional radial weight ![]() | |
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_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 |
Flag to control whether reference count information is printed when print_info is called. More... | |
Discontinuous Hierarchic finite elements.
Still templated on the dimension, Dim
.
|
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 |
|
overridevirtualinherited |
Provides the class with the quadrature rule, which provides the locations (on a reference element) where the shape functions are to be calculated.
Implements libMesh::FEAbstract.
|
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
|
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
|
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
|
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.
|
staticinherited |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number
, using element-specific optimizations if possible.
|
staticinherited |
Computes the nodal constraint contributions (for non-conforming adapted meshes), using Lagrange geometry.
|
staticinherited |
Computes the constraint matrix contributions (for meshes with periodic boundary conditions) corresponding to variable number var_number
, using generic projections.
|
staticinherited |
Computes the node position constraint equation contributions (for meshes with periodic boundary conditions)
|
staticinherited |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number
, using generic projections.
|
protectedvirtualinherited |
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
, dphidy
, and dphidz
.
This method should rarely be re-defined in derived classes, but still should be usable for children. Therefore, keep it protected.
Implements libMesh::FEAbstract.
Reimplemented in libMesh::FEXYZ< Dim >.
|
protectedinherited |
|
staticinherited |
|
staticinherited |
Fills the vector di with the local degree of freedom indices associated with edge e
of element elem
.
On a p-refined element, o
should be the base order of the element.
|
staticinherited |
Fills the vector di with the local degree of freedom indices associated with side s
of element elem
.
On a p-refined element, o
should be the base order of the element.
|
overridevirtualinherited |
Reinitializes all the physical element-dependent data based on the edge
.
The tolerance
parameter is passed to the involved call to inverse_map()
. By default the shape functions and associated data are computed at the quadrature points specified by the quadrature rule qrule
, but may be any points specified on the reference side element specified in the optional argument pts
.
Implements libMesh::FEAbstract.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
|
overridevirtualinherited |
Implements libMesh::FEAbstract.
|
inherited |
Definition at line 223 of file fe_base.h.
References libMesh::FEAbstract::calculate_curl_phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::curl_phi.
|
inherited |
Definition at line 388 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 289 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phi.
|
inherited |
Definition at line 369 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phideta2.
|
inherited |
Definition at line 377 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidetadzeta.
|
inherited |
Definition at line 297 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidx2.
|
inherited |
Definition at line 305 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidxdy.
|
inherited |
Definition at line 313 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidxdz.
|
inherited |
Definition at line 345 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidxi2.
|
inherited |
Definition at line 353 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidxideta.
|
inherited |
Definition at line 361 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidxidzeta.
|
inherited |
Definition at line 321 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidy2.
|
inherited |
Definition at line 329 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidydz.
|
inherited |
Definition at line 337 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidz2.
|
inherited |
Definition at line 385 of file fe_base.h.
References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::d2phidzeta2.
|
inherited |
Definition at line 280 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 304 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 274 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 292 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 298 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 286 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 334 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 341 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 348 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 231 of file fe_abstract.h.
References libMesh::FEAbstract::dim.
|
inherited |
Definition at line 231 of file fe_base.h.
References libMesh::FEAbstract::calculate_div_phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::div_phi.
|
inherited |
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 403 of file fe_base.h.
References libMesh::FEGenericBase< OutputType >::dphase.
|
inherited |
Definition at line 215 of file fe_base.h.
References libMesh::FEAbstract::calculate_dphi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::dphi.
|
inherited |
Definition at line 271 of file fe_base.h.
References libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::dphideta.
|
inherited |
Definition at line 239 of file fe_base.h.
References libMesh::FEAbstract::calculate_dphi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::dphidx.
|
inherited |
Definition at line 263 of file fe_base.h.
References libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::dphidxi.
|
inherited |
Definition at line 247 of file fe_base.h.
References libMesh::FEAbstract::calculate_dphi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::dphidy.
|
inherited |
Definition at line 255 of file fe_base.h.
References libMesh::FEAbstract::calculate_dphi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::dphidz.
|
inherited |
Definition at line 279 of file fe_base.h.
References libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::dphidzeta.
|
inherited |
Definition at line 313 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 320 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 327 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 259 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 252 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 266 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 355 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 362 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 369 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 454 of file fe_abstract.h.
References libMesh::FEType::family, and libMesh::FEAbstract::fe_type.
|
inherited |
Definition at line 459 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 428 of file fe_abstract.h.
References libMesh::FEAbstract::fe_type.
Referenced by libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::operator()(), FETest< order, family, elem_type >::testGradU(), FETest< order, family, elem_type >::testGradUComp(), and FETest< order, family, elem_type >::testU().
|
staticinherited |
Gets a string containing the reference information.
|
inherited |
Definition at line 245 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
Referenced by ElasticityRBConstruction::init_context(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::operator()().
|
inherited |
Definition at line 381 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
Referenced by libMesh::ParsedFEMFunction< T >::eval_args(), and libMesh::ParsedFEMFunction< T >::init_context().
|
inherited |
Definition at line 433 of file fe_abstract.h.
References libMesh::FEAbstract::_p_level, libMesh::FEAbstract::fe_type, and libMesh::FEType::order.
|
inherited |
Definition at line 423 of file fe_abstract.h.
References libMesh::FEAbstract::_p_level.
|
inherited |
Definition at line 207 of file fe_base.h.
References libMesh::FEAbstract::calculate_phi, libMesh::FEAbstract::calculations_started, and libMesh::FEGenericBase< OutputType >::phi.
|
staticinherited |
nodes
based on the element type.
|
inherited |
get_Sobolev_weight()
for details. In case of FE
initialized to all zero. Definition at line 427 of file fe_base.h.
References libMesh::FEGenericBase< OutputType >::dweight.
|
inherited |
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 419 of file fe_base.h.
References libMesh::FEGenericBase< OutputType >::weight.
|
inherited |
Definition at line 375 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
|
inherited |
Definition at line 417 of file fe_abstract.h.
References libMesh::FEAbstract::elem_type.
|
inherited |
xyz
spatial locations of the quadrature points on the element. Definition at line 238 of file fe_abstract.h.
References libMesh::FEAbstract::_fe_map.
Referenced by libMesh::ParsedFEMFunction< T >::eval_args(), libMesh::ParsedFEMFunction< T >::init_context(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::operator()().
|
protectedinherited |
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().
|
protectedinherited |
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().
|
overrideprotectedvirtualinherited |
Initialize the data fields for the base of an an infinite element.
Implements libMesh::FEGenericBase< FEOutputType< T >::type >.
|
protectedvirtualinherited |
Update the various member data fields phi
, dphidxi
, dphideta
, dphidzeta
, etc.
for the current element. These data will be computed at the points qp
, which are generally (but need not be) the quadrature points.
|
staticinherited |
p
located in physical space. This function requires inverting the (possibly nonlinear) transformation map, so it is not trivial. The optional parameter tolerance
defines how close is "good enough." The map inversion iteration computes the sequence
|
staticinherited |
Takes a number points in physical space (in the physical_points
vector) and finds their location on the reference element for the input element elem
.
The values on the reference element are returned in the vector reference_points
. The optional parameter tolerance
defines how close is "good enough." The map inversion iteration computes the sequence , and the iteration is terminated when
The parameter secure (always assumed false in non-debug mode) switches on integrity-checks on the mapped points.
|
overridevirtualinherited |
true
if the finite element's higher order shape functions are hierarchic Implements libMesh::FEAbstract.
|
staticinherited |
p
located on the reference element.
|
staticinherited |
p
located on the reference element.
|
staticinherited |
p
located on the reference element.
|
staticinherited |
p
located on the reference element.
|
staticinherited |
On a p-refined element, o
should be the total order of the element.
|
staticinherited |
n
for a finite element of type t
and order o
.On a p-refined element, o
should be the total order of the element.
|
staticinherited |
On a p-refined element, o
should be the total order of the element.
|
staticinherited |
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.
|
overridevirtualinherited |
for
loop in your simulation for matrix assembly of the current element. Implements libMesh::FEAbstract.
|
overridevirtualinherited |
Implements libMesh::FEAbstract.
|
staticinherited |
|
staticinherited |
Build the nodal soln from the element soln.
This is the solution that will be plotted.
On a p-refined element, o
should be the base order of the element.
|
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,
|
virtualinherited |
Prints the value of each shape function's second derivatives at each quadrature point.
Implements libMesh::FEAbstract.
|
virtualinherited |
Prints the value of each shape function's derivative at each quadrature point.
Implements libMesh::FEAbstract.
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
|
inherited |
Prints all the relevant information about the current element.
|
inherited |
Prints the Jacobian times the weight for each quadrature point.
|
virtualinherited |
Prints the value of each shape function at each quadrature point.
Implements libMesh::FEAbstract.
|
inherited |
Prints the spatial location of each quadrature point (on the physical element).
|
overridevirtualinherited |
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
. By default the shape functions and associated data are computed at the quadrature points specified by the quadrature rule qrule
, but may be any points specified on the reference element specified in the optional argument pts
.
Implements libMesh::FEAbstract.
|
overridevirtualinherited |
Reinitializes all the physical element-dependent data based on the side
of face
.
The tolerance
parameter is passed to the involved call to inverse_map()
. By default the shape functions and associated data are computed at the quadrature points specified by the quadrature rule qrule
, but may be any points specified on the reference side element specified in the optional argument pts
.
Implements libMesh::FEAbstract.
|
inherited |
Sets the base FE order of the finite element.
Definition at line 438 of file fe_abstract.h.
References libMesh::FEAbstract::fe_type, and libMesh::FEType::order.
|
staticinherited |
p
. This method allows you to specify the dimension, element type, and order directly. This allows the method to be static.On a p-refined element, o
should be the total order of the element.
|
staticinherited |
p
. This method allows you to specify the dimension, element type, and order directly. This allows the method to be static.On a p-refined element, o
should be the base order of the element.
|
inherited |
Subdivision finite elements.
Template specialization prototypes are needed for calling from inside FESubdivision::init_shape_functions
|
staticinherited |
p
. This method allows you to specify the dimension, element type, and order directly.On a p-refined element, o
should be the total order of the element.
|
staticinherited |
On a p-refined element, o
should be the base order of the element.
|
inherited |
|
staticinherited |
p
.On a p-refined element, o
should be the total order of the element.
|
staticinherited |
p
.On a p-refined element, o
should be the base order of the element.
|
inherited |
|
overridevirtualinherited |
true
when the shape functions (for this FEFamily
) depend on the particular element, and therefore needs to be re-initialized for each new element. false
otherwise. Implements libMesh::FEAbstract.
|
overridevirtualinherited |
Computes the reference space quadrature points on the side of an element based on the side quadrature points.
Implements libMesh::FEAbstract.
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by 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.
|
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(), and libMesh::FEAbstract::get_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().
|
protectedinherited |
The p refinement level the current data structures are set up for.
Definition at line 592 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::get_order(), and libMesh::FEAbstract::get_p_level().
|
protectedinherited |
|
mutableprotectedinherited |
Should we calculate shape function curls?
Definition at line 562 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 552 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 555 of file fe_abstract.h.
|
mutableprotectedinherited |
Should we calculate shape function divergences?
Definition at line 567 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 546 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 572 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 |
Should we calculate shape functions?
Definition at line 541 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(), and libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
The dimensionality of the object.
Definition at line 530 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::get_dim().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
The element type the current data structures are set up for.
Definition at line 586 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::get_type().
|
protectedinherited |
The finite element type for this object.
Definition at line 580 of file fe_abstract.h.
Referenced by libMesh::FEAbstract::get_family(), libMesh::FEAbstract::get_fe_type(), libMesh::FEAbstract::get_order(), and libMesh::FEAbstract::set_fe_order().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
A pointer to the quadrature rule employed.
Definition at line 597 of file fe_abstract.h.
|
protectedinherited |
A flag indicating if current data structures correspond to quadrature rule points.
Definition at line 603 of file fe_abstract.h.
|
protectedinherited |