PLaSK library
Loading...
Searching...
No Matches
rectangular_common.hpp File Reference
#include "boundary.hpp"
#include "ordered1d.hpp"
#include "../geometry/path.hpp"
#include "../manager.hpp"
Include dependency graph for rectangular_common.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plask::RectangularMeshBase2D
 
struct  plask::RectangularMeshBase3D
 

Namespaces

namespace  plask
 Patterson quadrature for complex function along specified line.
 
namespace  plask::details
 

Typedefs

template<int DIM>
using plask::RectangularMeshBase = typename std::conditional< DIM==2, RectangularMeshBase2D, typename std::conditional< DIM==3, RectangularMeshBase3D, void >::type >::type
 

Functions

shared_ptr< MeshAxisplask::readMeshAxis (XMLReader &reader)
 Read 1d mesh axis from XML.
 
bool plask::details::getLineLo (std::size_t &line, const MeshAxis &axis, double box_lower, double box_upper)
 Helper used by getLeftOfBoundary, etc.
 
bool plask::details::getLineHi (std::size_t &line, const MeshAxis &axis, double box_lower, double box_upper)
 Helper used by getRightOfBoundary, etc.
 
bool plask::details::getIndexesInBounds (std::size_t &begInd, std::size_t &endInd, const MeshAxis &axis, double box_lower, double box_upper)
 Helper used by getLeftOfBoundary, etc.
 
void plask::details::tryMakeLower (const MeshAxis &axis, std::size_t &index, double real_pos)
 Decrease index if real_pos is much closer to axis[index-1] than axis[index].
 
void plask::details::tryMakeHigher (const MeshAxis &axis, std::size_t &index, double real_pos)
 Increase index if real_pos is much closer to axis[index] than axis[index-1].
 
bool plask::details::getIndexesInBoundsExt (std::size_t &begInd, std::size_t &endInd, const MeshAxis &axis, double box_lower, double box_upper)
 Helper.
 
template<typename MeshType , typename GetBoxes , typename GetBoundaryForBox >
MeshType::Boundary plask::details::getBoundaryForBoxes (GetBoxes getBoxes, GetBoundaryForBox getBoundaryForBox)
 Get boundary which lies on chosen edge of boxes.
 
template<typename Boundary , int DIM>
Boundary plask::details::parseBoundaryFromXML (XMLReader &boundary_desc, Manager &manager, Boundary(*getXBoundary)(), Boundary(*getXOfBoundary)(shared_ptr< const GeometryObject >, const PathHints *))
 Parse boundary from XML tag in format: <place side="i.e. left" [object="object name" [path="path name"] [geometry="name of geometry which is used by the solver"]]/>
 
template<>
RectangularMeshBase2D::Boundary plask::parseBoundary< RectangularMeshBase2D::Boundary > (const std::string &boundary_desc, plask::Manager &)
 
template<>
RectangularMeshBase2D::Boundary plask::parseBoundary< RectangularMeshBase2D::Boundary > (XMLReader &boundary_desc, Manager &env)
 
template<>
RectangularMeshBase3D::Boundary plask::parseBoundary< RectangularMeshBase3D::Boundary > (const std::string &boundary_desc, plask::Manager &)
 
template<>
RectangularMeshBase3D::Boundary plask::parseBoundary< RectangularMeshBase3D::Boundary > (XMLReader &boundary_desc, Manager &env)