Data Structures | Namespaces | Typedefs | Functions

/export/development/ViennaFEM/viennafem/forwards.h File Reference

This file provides the forward declarations for the main types used within ViennaFEM. More...

#include "viennadata/api.hpp"
#include "viennagrid/forwards.h"
#include "viennamath/forwards.h"

Go to the source code of this file.

Data Structures

struct  mapping_key_type< id >
 A tag for storing mapping indices on the grid. More...
struct  unit_interval
 A tag for the unit interval [0,1]. More...
struct  symmetric_interval
 A tag representing the interval [-1,1]. Particularly useful for higher-order FEM. More...
struct  unit_triangle
 A tag for the triangle with vertices (0,0), (1,0), (0,1). More...
struct  symmetric_triangle
 A tag for the triangle with vertices at (-1,-1), (1,-1), (-1,1). More...
struct  unit_square
 A tag for the square with vertices at (0,0), (1,0), (0,1), (1,1). More...
struct  symmetric_square
 A tag for the square with vertices at (-1,-1), (1, -1), (-1, 1), (1, 1). More...
struct  unit_tetrahedron
 A tag for the tetrahedron with vertices at (0,0,0), (1,0,0), (0,1,0), (0,0,1). More...
struct  symmetric_tetrahedron
 A tag for the tetrahedron with vertices at (-1,-1,-1), (1,-1,-1), (-1,1,-1), (-1,-1,1). More...
struct  unit_cube
 A tag for the cube with vertices at (0,0,0), (1,0,0), (0,1,0), (1,1,0), (0,0,1), (1,0,1), (0,1,1), (1,1,1). More...
struct  symmetric_cube
 A tag for the cube with vertices at (-1,-1,-1), (1,-1,-1), (-1,1,-1), (1,1,-1), (-1,-1,1), (1,-1,1), (-1,1,1), (1,1,1). More...
struct  lagrange_tag< order >
 A tag identifying the family of Lagrange basis functions. More...
struct  space_to_id< T >
 Provides a unique ID from a basis function tag (compiletime-runtime translation). More...
struct  space_to_id< lagrange_tag< order > >
 Specialization of the unique ID facility for the Lagrange family. More...
struct  reference_cell_for_basis< Cell, T >
 Metafunction for returning the reference cell for a cell type and a basis function type. More...
struct  reference_cell_for_basis< viennagrid::line_tag, lagrange_tag< order > >
 Defining the unit interval to be used for the Lagrange basis on lines. More...
struct  reference_cell_for_basis< viennagrid::triangle_tag, lagrange_tag< order > >
 Defining the unit interval to be used for the Lagrange basis on lines. More...
struct  reference_cell_for_basis< viennagrid::quadrilateral_tag, lagrange_tag< order > >
 Defining the unit interval to be used for the Lagrange basis on lines. More...
struct  reference_cell_for_basis< viennagrid::tetrahedron_tag, lagrange_tag< order > >
 Defining the unit tetrahedron to be used for the Lagrange basis on lines. More...
struct  reference_cell_for_basis< viennagrid::hexahedron_tag, lagrange_tag< order > >
 Defining the unit cube to be used for the Lagrange basis on lines. More...
struct  local_basis< InterfaceType, BasisTag, ReferenceCell, TopologyDim, ElementID >
 Facility for retrieving the local basis of a cell. Used internally only. More...
struct  dt_dx_key< local_index, global_index >
 A tag class used for storing and accessing the partial derivatives of the element mappings. More...
struct  det_dF_dt_key
 A tag class used for storing and accessing the Jacobian determinant via ViennaData on ViennaGrid objects. More...
class  boundary_key
 A tag class used for storing and accessing boundary data via ViennaData from ViennaGrid objects. More...
class  mapping_key
 A tag class used for storing and accessing unknown indices (global basisfunction numbers) via ViennaData from ViennaGrid objects. More...
struct  key_dispatch< viennafem::dt_dx_key< local_index, global_index > >
 Customizes ViennaData to access element transformation coefficients by a key-based dispatch. More...
struct  key_dispatch< viennafem::det_dF_dt_key >
 Customizes ViennaData to access the Jacobian of the element transformation by a key-based dispatch. More...
struct  object_identifier< viennagrid::element_t< ConfigType, viennagrid::point_tag > >
 Customizes ViennaData such that the id() member of vertices is used as identification mechanism. More...
struct  object_identifier< viennagrid::element_t< ConfigType, viennagrid::line_tag > >
 Customizes ViennaData such that the id() member of lines is used as identification mechanism. More...
struct  object_identifier< viennagrid::element_t< ConfigType, viennagrid::triangle_tag > >
 Customizes ViennaData such that the id() member of triangles is used as identification mechanism. More...
struct  object_identifier< viennagrid::element_t< ConfigType, viennagrid::quadrilateral_tag > >
 Customizes ViennaData such that the id() member of quadrilaterals is used as identification mechanism. More...
struct  object_identifier< viennagrid::element_t< ConfigType, viennagrid::hexahedron_tag > >
 Customizes ViennaData such that the id() member of hexahedra is used as identification mechanism. More...
struct  object_identifier< viennagrid::element_t< ConfigType, viennagrid::tetrahedron_tag > >
 Customizes ViennaData such that the id() member of tetrahedra is used as identification mechanism. More...
struct  storage< KeyType, ValueType, viennagrid::element_t< ConfigType, viennagrid::point_tag > >
 Configures ViennaData such that data is stored densely on vertices, no matter which key type is used. More...
struct  storage< KeyType, ValueType, viennagrid::element_t< ConfigType, viennagrid::line_tag > >
 Configures ViennaData such that data is stored densely on lines, no matter which key type is used. More...
struct  storage< KeyType, ValueType, viennagrid::element_t< ConfigType, viennagrid::quadrilateral_tag > >
 Configures ViennaData such that data is stored densely on quadrilaterals, no matter which key type is used. More...
struct  storage< KeyType, ValueType, viennagrid::element_t< ConfigType, viennagrid::triangle_tag > >
 Configures ViennaData such that data is stored densely on triangles, no matter which key type is used. More...
struct  storage< KeyType, ValueType, viennagrid::element_t< ConfigType, viennagrid::hexahedron_tag > >
 Configures ViennaData such that data is stored densely on hexahedra, no matter which key type is used. More...
struct  storage< KeyType, ValueType, viennagrid::element_t< ConfigType, viennagrid::tetrahedron_tag > >
 Configures ViennaData such that data is stored densely on tetrahedra, no matter which key type is used. More...

Namespaces

namespace  viennafem
 

The main namespace for ViennaFEM. All user functionality resides in this namespace.


namespace  viennafem::detail
 

Contains implementation details of ViennaFEM not intended to be used by the library user directly.


namespace  viennafem::io
 

Provides input and output routines for Finite Element related quantities. Refer to viennagrid::io for details on entirely mesh-related input-output functionality.


namespace  viennadata
 

Contains the configuration of ViennaData.


namespace  viennadata::config
 

Contains the configuration of ViennaData.


Typedefs

typedef double numeric_type
 The default floating point type to be used in ViennaFEM.

Functions

template<unsigned long local_index, unsigned long global_index>
std::ostream & operator<< (std::ostream &stream, dt_dx_key< local_index, global_index > const &dummy)
 Convenience overload for converting a det_dF_dt_key to a string and streaming it to an output-stream.
std::ostream & operator<< (std::ostream &stream, det_dF_dt_key const &dummy)
 Convenience overload for converting a det_dF_dt_key to a string and streaming it to an output-stream.

Detailed Description

This file provides the forward declarations for the main types used within ViennaFEM.