Computes the volume of different cell types as well as domains and segments. More...
#include <iostream>
#include <sstream>
#include <string>
#include <stdexcept>
#include "viennagrid/forwards.h"
#include "viennagrid/topology/all.hpp"
#include "viennagrid/algorithm/norm.hpp"
#include "viennagrid/algorithm/spanned_volume.hpp"
Go to the source code of this file.
Namespaces | |
namespace | viennagrid |
The main ViennaGrid namespace. Most functionality resides in this namespace. | |
namespace | viennagrid::detail |
The namespace holding the implementations of domains, segments and ncells as well as some algorithm implementations. Not of interest for library users. | |
Functions | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume_impl (ElementType const &cell, viennagrid::point_tag) |
Computes the volume of topologically zero-dimensional elements (vertices). Degenerate case, returns 1. | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume_impl (ElementType const &cell, viennagrid::simplex_tag< 1 >) |
Computes the volume of topologically one-dimensional elements (lines, 1-simplex). | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume_impl (ElementType const &cell, viennagrid::hypercube_tag< 1 >) |
Computes the volume of topologically one-dimensional elements (lines, 1-hypercube). | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume_impl (ElementType const &cell, viennagrid::triangle_tag) |
Computes the two-dimensional volume of a triangle. | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume_impl (ElementType const &cell, viennagrid::quadrilateral_tag) |
Computes the two-dimensional volume of a quadrilateral. | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume_impl (ElementType const &cell, viennagrid::tetrahedron_tag) |
Computes the three-dimensional volume of a tetrahedron. | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume_impl (ElementType const &cell, viennagrid::hexahedron_tag) |
Computes the three-dimensional volume of a hexahedron. | |
template<typename ContainerType > | |
ContainerType::config_type::numeric_type | volume_domainsegment (ContainerType const &d) |
Dispatched function for computing the volume of a domain or segment. | |
template<typename ElementType > | |
ElementType::config_type::numeric_type | volume (ElementType const &cell) |
Returns the n-dimensional volume of a n-cell. | |
template<typename ConfigType > | |
ConfigType::numeric_type | volume (domain_t< ConfigType > const &d) |
Returns the N-dimensional volume of a domain, where the cell type has topological dimension N. | |
template<typename ConfigType > | |
ConfigType::numeric_type | volume (segment_t< ConfigType > const &d) |
Returns the N-dimensional volume of a segment, where the cell type has topological dimension N. |
Computes the volume of different cell types as well as domains and segments.