PLaSK library
Loading...
Searching...
No Matches
triangular2d.hpp File Reference
#include "mesh.hpp"
#include "interpolation.hpp"
#include "boundary.hpp"
#include "../geometry/path.hpp"
#include <array>
#include <unordered_map>
#include <boost/geometry/index/rtree.hpp>
#include "../vector/boost_geometry.hpp"
#include <boost/geometry/geometries/box.hpp>
#include <boost/functional/hash.hpp>
Include dependency graph for triangular2d.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plask::TriangularMesh2D
 
struct  plask::TriangularMesh2D::Element
 Represent FEM-like element (triangle) in TriangularMesh2D. More...
 
struct  plask::TriangularMesh2D::Elements
 Wrapper to TriangularMesh2D which allows for accessing FEM-like elements. More...
 
struct  plask::TriangularMesh2D::Builder
 Instance of this class allows for adding triangles to the mesh effectively. More...
 
struct  plask::TriangularMesh2D::ElementIndex
 Index which allows for fast finding elements which includes particular points. More...
 
class  plask::TriangularMesh2D::ElementMesh
 
struct  plask::TriangularMesh2DGetterForRtree
 Utility struct that allows for using triangular mesh in boost::geometry::index::rtree effectively (without copying coordinates of nodes). More...
 
struct  plask::NearestNeighborTriangularMesh2DLazyDataImpl< DstT, SrcT >
 
struct  plask::InterpolationAlgorithm< TriangularMesh2D, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  plask::BarycentricTriangularMesh2DLazyDataImpl< DstT, SrcT >
 
struct  plask::InterpolationAlgorithm< TriangularMesh2D, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  plask::NearestNeighborElementTriangularMesh2DLazyDataImpl< DstT, SrcT >
 
struct  plask::InterpolationAlgorithm< TriangularMesh2D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 

Namespaces

namespace  plask
 Patterson quadrature for complex function along specified line.
 

Typedefs

typedef boost::geometry::index::rtree< std::size_t, boost::geometry::index::quadratic< 16 >, TriangularMesh2DGetterForRtreeplask::RtreeOfTriangularMesh2DNodes
 Boost rtree that holds nodes of TriangularMesh2D.
 

Functions

template<>
TriangularMesh2D::Boundary plask::parseBoundary< TriangularMesh2D::Boundary > (const std::string &boundary_desc, plask::Manager &)
 
template<>
TriangularMesh2D::Boundary plask::parseBoundary< TriangularMesh2D::Boundary > (XMLReader &boundary_desc, Manager &env)
 
template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::TOP > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::LEFT > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::RIGHT > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::BOTTOM > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< double, double >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< double, double >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< double, double >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >)
 
 plask::PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >)