openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
Classes | Namespaces | Macros | Functions
SF_fem_utils.h File Reference

FEM utilities. More...

#include <cassert>
#include <cmath>
#include <cstring>
#include <mpi.h>
#include "SF_container.h"
#include "SF_abstract_vector.h"
#include "SF_abstract_matrix.h"
#include "SF_abstract_lin_solver.h"
Include dependency graph for SF_fem_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SF::element_view< T, S >
 Comfort class. Provides getter functions to access the mesh member variables more comfortably. More...
 
class  SF::matrix_integrator< T, S >
 Abstract matrix integration base class. More...
 
class  SF::vector_integrator< T, S >
 Abstract vector integration base class. More...
 

Namespaces

 SF
 

Macros

#define SF_MAX_ELEM_NODES   10
 max #nodes defining an element More...
 

Functions

short SF::num_dof (elem_t type, short order)
 Get number of d.o.f. for an element type and an Ansatz function order. More...
 
void SF::general_integration_points (const elem_t type, const short order, Point *ip, double *w, int &nint)
 Compute the integration point locations and weights. More...
 
void SF::reference_shape (const elem_t type, const Point ip, dmat< double > &rshape)
 Compute shape function and its derivatives on a reference element. More...
 
void SF::jacobian_matrix (const dmat< double > &rshape, const int npts, const Point *pts, double *J)
 Compute Jacobian matrix from the real element to the reference element. More...
 
void SF::invert_jacobian_matrix (const elem_t type, double *J, double &detJ)
 
void SF::shape_deriv (const double *iJ, const dmat< double > &rshape, const int ndof, dmat< double > &shape)
 Compute shape derivatives for an element, based on the shape derivatives of the associated reference element. More...
 
template<class T , class V >
void SF::canonic_indices (const T *nidx, const T *nbr, const T esize, const short dpn, V *cidx)
 Compute canonical indices from nodal indices and dpn. More...
 
template<class T , class S >
void SF::assemble_matrix (abstract_matrix< T, S > &mat, meshdata< mesh_int_t, mesh_real_t > &domain, matrix_integrator< mesh_int_t, mesh_real_t > &integrator)
 Generalized matrix assembly. More...
 
template<class T , class S >
void SF::assemble_lumped_matrix (abstract_matrix< T, S > &mat, meshdata< mesh_int_t, mesh_real_t > &domain, matrix_integrator< mesh_int_t, mesh_real_t > &integrator)
 
template<class T , class S >
void SF::assemble_vector (abstract_vector< T, S > &vec, meshdata< mesh_int_t, mesh_real_t > &domain, vector_integrator< mesh_int_t, mesh_real_t > &integrator)
 Generalized vector assembly. More...
 
template<class T , class S >
void SF::extract_element_data (const element_view< mesh_int_t, mesh_real_t > &view, abstract_vector< T, S > &vec, SF_real *buffer)
 
template<class T , class S >
void SF::set_element_data (const element_view< mesh_int_t, mesh_real_t > &view, SF_real *buffer, abstract_vector< T, S > &vec)
 
template<class T , class S >
void SF::get_transformed_pts (const element_view< T, S > &view, Point *loc_pts, Point &trsf_fibre)
 

Detailed Description

FEM utilities.

Some of these functions (num dof, integration points, shape funcs) have been copied over from the carpentry source base.

Author
Aurel Neic, Christoph Augustin
Version
Date
2017-11-15

Definition in file SF_fem_utils.h.

Macro Definition Documentation

◆ SF_MAX_ELEM_NODES

#define SF_MAX_ELEM_NODES   10

max #nodes defining an element

Definition at line 40 of file SF_fem_utils.h.