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. |
This file provides the forward declarations for the main types used within ViennaFEM.