ViennaGrid - The Vienna Grid Library  2.1.0
Namespaces | Functions
viennagrid/algorithm/volume.hpp File Reference

Computes the volume of different cell types as well as meshs and segments. More...

#include <iostream>
#include <sstream>
#include <string>
#include <stdexcept>
#include "viennagrid/forwards.hpp"
#include "viennagrid/topology/all.hpp"
#include "viennagrid/algorithm/norm.hpp"
#include "viennagrid/algorithm/spanned_volume.hpp"
#include "viennagrid/mesh/mesh.hpp"
#include "viennagrid/accessor.hpp"

Go to the source code of this file.

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces.


namespace  viennagrid::detail
 

Namespace for implementation details. Not intended to be used directly by a library user.


Functions

template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume (PointAccessorT const accessor, ElementT const &cell)
 Returns the n-dimensional volume of a n-cell.
template<typename ElementTag , typename WrappedConfigT >
viennagrid::result_of::coord
< viennagrid::element
< ElementTag, WrappedConfigT >
>::type 
volume (viennagrid::element< ElementTag, WrappedConfigT > const &cell)
 Returns the n-dimensional volume of a n-cell.
template<typename ElementTOrTag , typename WrappedConfigT >
viennagrid::result_of::coord
< mesh< WrappedConfigT >
>::type 
volume (mesh< WrappedConfigT > const &mesh_obj)
 Returns the n-dimensional volume of a whole mesh.
template<typename MeshSegmentHandleType >
viennagrid::result_of::coord
< MeshSegmentHandleType >
::type 
volume (MeshSegmentHandleType const &mesh_obj)
 Returns the n-dimensional volume of a segment.
template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume_impl (PointAccessorT const, ElementT const &, viennagrid::vertex_tag)
 Computes the volume of topologically zero-dimensional elements (vertices). Degenerate case, returns 1.
template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume_impl (PointAccessorT const accessor, ElementT const &cell, viennagrid::simplex_tag< 1 >)
 Computes the volume of topologically one-dimensional elements (lines, 1-simplex).
template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume_impl (PointAccessorT const accessor, ElementT const &cell, viennagrid::hypercube_tag< 1 >)
 Computes the volume of topologically one-dimensional elements (lines, 1-hypercube).
template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume_impl (PointAccessorT const accessor, ElementT const &cell, viennagrid::triangle_tag)
 Computes the two-dimensional volume of a triangle.
template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume_impl (PointAccessorT const accessor, ElementT const &cell, viennagrid::quadrilateral_tag)
 Computes the two-dimensional volume of a quadrilateral.
template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume_impl (PointAccessorT const accessor, ElementT const &cell, viennagrid::polygon_tag)
 Computes the two-dimensional volume of a polygon.
template<typename PointAccessorT , typename ElementT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
volume_impl (PointAccessorT const accessor, ElementT const &cell, viennagrid::hexahedron_tag)
 Computes the three-dimensional volume of a hexahedron.
template<typename ElementTOrTag , typename MeshSegmentHandleType >
viennagrid::result_of::coord
< MeshSegmentHandleType >
::type 
volume_mesh (MeshSegmentHandleType const &mesh_obj)
 Dispatched function for computing the volume of a mesh or segment.

Detailed Description

Computes the volume of different cell types as well as meshs and segments.