hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Element_new Class Reference
Inheritance diagram for hexed::Element_new:
hexed::Kernel_element

Public Member Functions

 Element_new (Storage_params, bool deformed, int ref_level, Array< int > pos_index, double root_size, Array< double > origin, const Basis &)
 
 Element_new (Storage_params, bool deformed, int ref_level, Array< int > pos_index, double root_size, Array< double > origin, Basis &&)=delete
 
 Element_new (const Element_new &)=delete
 
Element_new split (int i_dim, double ref_coord)
 
bool deformed () const override
 where the extrapolated face data is stored
 
int ref_level () const
 
int aniso_ref_level () const
 
Array< int > position_index () const
 
double root_size () const
 
double nominal_size () const override
 nominal edge length of the element before any vertex motion
 
Array< double > nominal_position () const
 
Array< double > origin () const
 
const Basisbasis () const
 
Storage_params storage_params () const
 
int mask () const
 
Array< double > full_state ()
 
Array< double > flow_state ()
 
Array< double > ltss ()
 
Array< double > vtss ()
 
Array< double > bulk_art_visc ()
 
Array< double > laplacian_art_visc ()
 
Array< double > art_visc_forcing ()
 
Array< double > advection_state ()
 
Array< double > cache ()
 
Array< double > position ()
 
Array< double > reference_level_normal_arr ()
 
Mat< dyn, dynreference_level_normals (int i_qpoint) const
 
Mat< dyn, dynjacobian_mat (int i_qpoint) const
 
Array< double > jacobian_det_arr ()
 
double jacobian_det (int i_qpoint) const
 
Array< Facefaces ()
 
Vertexvertex (int i_vertex)
 
double * state () override
 pointer to the data where the state variables are stored
 
double * residual_cache () override
 
double * time_step_scale () override
 where the convective residual is stored for 2-stage time integration
 
double & vertex_time_step_scale (int i_vertex) override
 
double * face (int i_face, bool is_ldg) override
 
double * reference_level_normals () override
 whether this element is deformed
 
double * jacobian_determinant () override
 Jacobian determinant of reference -> physical coordinate transform.
 
double * kernel_face_normal (int i_face) override
 where the extrapolated face area-weighted normal vectors are stored
 
double & uncert () override
 place to store some uncertainty metric
 

Public Attributes

std::vector< int > record
 
double uncertainty
 
Lock lock
 
Mutual_ptr< Element_new, Treetree
 Tree this element was created from
 
- Public Attributes inherited from hexed::Kernel_element
int record = 0
 for algorithms to book-keep general information
 

Member Function Documentation

◆ deformed()

bool hexed::Element_new::deformed ( ) const
overridevirtual

where the extrapolated face data is stored

Implements hexed::Kernel_element.

◆ face()

double * hexed::Element_new::face ( int i_face,
bool is_ldg )
overridevirtual

Implements hexed::Kernel_element.

◆ jacobian_determinant()

double * hexed::Element_new::jacobian_determinant ( )
overridevirtual

Jacobian determinant of reference -> physical coordinate transform.

for Cartesian elements, returns nullptr

Implements hexed::Kernel_element.

◆ kernel_face_normal()

double * hexed::Element_new::kernel_face_normal ( int i_face)
overridevirtual

where the extrapolated face area-weighted normal vectors are stored

for Cartesian elements, returns nullptr

Implements hexed::Kernel_element.

◆ mask()

int hexed::Element_new::mask ( ) const
inlinevirtual

Implements hexed::Kernel_element.

◆ nominal_size()

double hexed::Element_new::nominal_size ( ) const
overridevirtual

nominal edge length of the element before any vertex motion

Implements hexed::Kernel_element.

◆ reference_level_normals()

double * hexed::Element_new::reference_level_normals ( )
overridevirtual

whether this element is deformed

the j_dimth component (in physical space) of the normal vector of the level surface of the i_dimth reference coordinate which passes through the i_qpointth quadrature point. the magnitude of the normal vector is weighted by the surface area in physical space. equivalent definition (note i_dim, j_dim transposed):

\[ J^{-1}_{j_{dim}, i_{dim}} |J| \]

where is jacobian of transformation from reference to physical coordinates at i_qpointth quadrature point. For Cartesian elements, returns nullptr.

layout: [i_dim][j_dim][i_qpoint]

Implements hexed::Kernel_element.

◆ residual_cache()

double * hexed::Element_new::residual_cache ( )
overridevirtual

Implements hexed::Kernel_element.

◆ state()

double * hexed::Element_new::state ( )
overridevirtual

pointer to the data where the state variables are stored

includes any non-conservation variables such as artificial viscosity coefficient

Implements hexed::Kernel_element.

◆ time_step_scale()

double * hexed::Element_new::time_step_scale ( )
overridevirtual

where the convective residual is stored for 2-stage time integration

storage for local time step

layout: [i_qpoint]

Implements hexed::Kernel_element.

◆ uncert()

double & hexed::Element_new::uncert ( )
overridevirtual

place to store some uncertainty metric

Implements hexed::Kernel_element.

◆ vertex_time_step_scale()

double & hexed::Element_new::vertex_time_step_scale ( int i_vertex)
overridevirtual
Todo
the kernel should not need this

Implements hexed::Kernel_element.


The documentation for this class was generated from the following files: