openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
Classes | Namespaces | Typedefs | Enumerations | Functions
SF_container.h File Reference

Basic containers. More...

#include <cstring>
#include <mpi.h>
#include <map>
#include <math.h>
#include <set>
#include "dense_mat.hpp"
#include "SF_globals.h"
#include "SF_vector.h"
#include "SF_linalg_utils.h"
#include "hashmap.hpp"
Include dependency graph for SF_container.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SF::Point
 Point and vector struct. More...
 
class  SF::overlapping_layout< T >
 The overlapping_layout class contains the algorithms related to managing overlapping parallel index sets, such as the indexing of the nodes, faces or edges of a distributed mesh. More...
 
class  SF::non_overlapping_layout< T >
 The parallel layout of non overlapping indices. More...
 
class  SF::index_mapping< T >
 Index mapping class. This is a bijective mapping. More...
 
class  SF::meshdata< T, S >
 The mesh storage class. It contains both element and vertex data. More...
 
class  SF::commgraph< T >
 The class holds the communication graph for a MPI_Exchange() call. More...
 
struct  SF::tuple< T >
 
struct  SF::mixed_tuple< T, S >
 
struct  SF::triple< T >
 
struct  SF::mixed_triple< T, S, V >
 
struct  SF::quadruple< T >
 
struct  hashmap::hash_ops< SF::tuple< T > >
 
struct  hashmap::hash_ops< SF::triple< T > >
 
struct  hashmap::hash_ops< SF::quadruple< T > >
 
struct  tri_sele< T >
 
struct  quad_sele< T >
 

Namespaces

 SF
 
 hashmap
 

Typedefs

typedef int mesh_int_t
 
typedef float mesh_real_t
 

Enumerations

enum  SF::elem_t {
  SF::Tetra = 0, SF::Hexa, SF::Octa, SF::Pyramid,
  SF::Prism, SF::Quad, SF::Tri, SF::Line
}
 element type enum More...
 
enum  SF::SF_nbr {
  SF::NBR_REF, SF::NBR_SUBMESH, SF::NBR_PETSC, SF::NBR_ELEM_REF,
  SF::NBR_ELEM_SUBMESH
}
 Enumeration encoding the different supported numberings. More...
 

Functions

template<class V >
Point SF::arr_to_point (V *arr)
 
template<class V >
void SF::point_to_arr (Point &p, V *arr)
 
Point SF::cross (const Point &a, const Point &b)
 cross product More...
 
double SF::inner_prod (const Point &a, const Point &b)
 
void SF::outer_prod (const Point &a, const Point &b, const double s, double *buff, const bool add=false)
 
void SF::outer_prod (const Point &a, const Point &b, double *buff)
 
double SF::mag (const Point &vect)
 vector magnitude More...
 
Point SF::normalize (const Point &vect)
 
Point SF::operator- (const Point &a, const Point &b)
 
Point SF::operator+ (const Point &a, const Point &b)
 
Point SF::operator* (const Point &a, const double &s)
 
Point SF::project (const Point &a, const Point &b)
 project b onto a More...
 
Point SF::orthogonalize (const Point &a, const Point &b)
 
double SF::distance (const Point &a, const Point &b)
 
elem_t SF::getElemTypeID (char *eletype)
 Generate element type enum from string. More...
 
template<class S , class POINT >
void SF::array_to_points (const vector< S > &arr, vector< POINT > &pts)
 
template<class T , class S >
void SF::nodal_connectivity_graph (const meshdata< T, S > &mesh, vector< T > &n2n_cnt, vector< T > &n2n_con)
 Compute the node-to-node connectivity. More...
 
template<class T , class S >
int SF::max_nodal_edgecount (const meshdata< T, S > &mesh)
 Compute the maximum number of node-to-node edges for a mesh. More...
 
template<class T , class S >
void SF::get_alg_mask (const meshdata< T, S > &mesh, vector< bool > &alg_mask)
 
template<class T >
bool SF::operator< (const struct tuple< T > &lhs, const struct tuple< T > &rhs)
 
template<class T , class S >
bool SF::operator< (const struct mixed_tuple< T, S > &lhs, const struct mixed_tuple< T, S > &rhs)
 
template<class T >
bool SF::operator< (const struct triple< T > &lhs, const struct triple< T > &rhs)
 
template<class T >
bool SF::operator< (const struct quadruple< T > &lhs, const struct quadruple< T > &rhs)
 
template<class T >
void sort_triple (const T in1, const T in2, const T in3, T &out1, T &out2, T &out3)
 sort the "in" triple into the "out" triple More...
 

Detailed Description

Basic containers.

Author
Aurel Neic
Version
Date
2017-02-14

Definition in file SF_container.h.

Typedef Documentation

◆ mesh_int_t

typedef int mesh_int_t

Definition at line 46 of file SF_container.h.

◆ mesh_real_t

typedef float mesh_real_t

Definition at line 47 of file SF_container.h.

Function Documentation

◆ sort_triple()

template<class T >
void sort_triple ( const T  in1,
const T  in2,
const T  in3,
T &  out1,
T &  out2,
T &  out3 
)

sort the "in" triple into the "out" triple

Definition at line 881 of file SF_container.h.

Here is the caller graph for this function: