PLaSK library
Loading...
Searching...
No Matches
plask Namespace Reference

Patterson quadrature for complex function along specified line. More...

Namespaces

namespace  align
 
namespace  axis
 
namespace  category
 
namespace  ccategory
 
namespace  detail
 
namespace  details
 
namespace  edge
 
namespace  electrical
 
namespace  gain
 
namespace  hyman
 
namespace  interpolation
 
namespace  masked_hyman
 
namespace  materials
 
namespace  optical
 
namespace  phys
 Basic physical quantities and functions.
 
namespace  python
 
namespace  solvers
 
namespace  spline
 
namespace  thermal
 

Classes

struct  __InterpolateMeta__
 
struct  __InterpolateMeta__< SrcMeshT, SrcT, DstT, __ILLEGAL_INTERPOLATION_METHOD__ >
 
class  AccurateSum
 Allow to compute sum of doubles much more accurate than directly. More...
 
struct  aligned_allocator
 STL compatible allocator to use with with 16 byte aligned types. More...
 
struct  aligned_deleter
 Aligned deleter for use e.g. More...
 
struct  aligned_deleter< T[]>
 
struct  ArrangeContainer
 Sequence container that repeats its child over a line shifted by a vector. More...
 
struct  AssignWithBackup
 Assign new value to variable and back the old value in destructor. More...
 
struct  AxisNames
 Held names of axises. More...
 
struct  BadId
 This is thrown if name is bad id. More...
 
struct  BadInput
 This exception is thrown when value specified by the user is bad. More...
 
struct  BadMesh
 This exception is thrown when the mesh is somehow bad. More...
 
struct  BandEdges
 Conduction and valence band edges (eV) More...
 
struct  BandMatrix
 
struct  BarycentricExtrudedTriangularMesh3DLazyDataImpl
 
struct  BarycentricTriangularMesh2DLazyDataImpl
 
struct  Block
 Represent figure which, depends from dim is: More...
 
struct  Boundary
 Instance of this class represents predicate which chooses a subset of points (strictly: indices of points) from a mesh. More...
 
struct  BoundaryCondition
 One boundary-condition pair. More...
 
struct  BoundaryConditions
 Set of boundary conditions for given mesh type and boundary condition description type. More...
 
struct  BoundaryConditionsWithMesh
 Set of boundary conditions instances for given mesh type and boundary condition description type. More...
 
struct  BoundaryConditionWithMesh
 One boundary-condition pair concretized for a given mesh. More...
 
struct  BoundaryNodeSet
 Holds BoundaryNodeSetImpl and delegate all calls to it. More...
 
struct  BoundaryNodeSetImpl
 Base class for boundaries logic. More...
 
struct  BoundaryNodeSetWithMeshImpl
 Template of base class for boundaries of mesh with given type which store reference to mesh. More...
 
struct  BoundaryOp
 Boundary which represents union/intersection/difference (depending on OpNodeSetImplT) of boundaries. More...
 
struct  BoundingBoxCache
 Lazy cache of object bounding box. More...
 
struct  Box2D
 Rectangle class. More...
 
struct  Box3D
 Cuboid class. More...
 
struct  CacheBase
 
struct  CacheRemoveOnEachChange
 Strategy of removing from cache which removes key always when it is changed. More...
 
struct  CacheRemoveOnlyWhenDeleted
 Strategy of removing from cache which removes key only when it is deleted. More...
 
struct  CacheRemoveStrategyBase
 Base class for strategy of removing from cache. More...
 
struct  CarriersConcentration
 Carriers concentration (1/cm^3) For majority carriers it is not specified whether the carriers are electrons or holes. More...
 
class  CartesianMesh2DTo3D
 3D mesh that wrap 2D mesh. More...
 
class  CartesianMesh2DTo3DExtend
 3D mesh that wrap 2D mesh (sourceMesh). More...
 
struct  CFileOutput
 
struct  chooseType
 Choose nr-th type from types list. More...
 
struct  Circle
 Represents circle (sphere in 3D) with given radius and center at point (0, 0). More...
 
struct  Clip
 Represent geometry object equal to its child clipped to given box. More...
 
struct  CombinedProviderBase
 Template of base class of combine provider. More...
 
struct  CompressedSetOfNumbers
 Sorted, compressed, indexed set of numbers. More...
 
struct  ComputationError
 This exception should be thrown by solvers in case of error in computations. More...
 
struct  Conductivity
 Electrical conductivity [S/m]. More...
 
struct  ConstDataSourceImpl
 Don't use this directly, use ConstDataSource instead. More...
 
struct  ConstDataSourceImpl< PropertyT, FIELD_PROPERTY, OutputSpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 
struct  ConstDataSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, OutputSpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 
class  ConstMaterial
 
struct  ConstValueLazyDataImpl
 Lazy data vector of consts. More...
 
struct  CriticalException
 Exceptions of this class are thrownin cases of critical and very unexpected errors (possible plask bugs). More...
 
struct  CurrentDensity
 Electric current density (kA/cm²) This is 2D vector for two-dimensional sovers. More...
 
struct  CustomFieldProperty
 Helper class which makes it easier to define property tags classes for vectorial fields that can be interpolated. More...
 
struct  CyclicReferenceException
 Exceptions of this class are thrown when called operation on geometry graph will cause cyclic reference. More...
 
struct  Cylinder
 Cylinder with given height and base radius. More...
 
struct  CylReductionTo2DMesh
 This class is a 2D mesh which wraps 3D mesh (sourceMesh), reduce each point of sourceMesh (in cylinder) to 2D and translate it by given vector (translation). More...
 
struct  DataError
 This exception is called when operation on data vectors cannot be performed. More...
 
struct  DataFrom2Dto3DSourceImpl
 Don't use this directly, use DataFrom2Dto3DSource instead. More...
 
struct  DataFrom2Dto3DSourceImpl< PropertyT, FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFrom2Dto3DSource instead. More...
 
struct  DataFrom2Dto3DSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFrom2Dto3DSource instead. More...
 
struct  DataFrom3Dto2DSourceImpl
 Don't use this directly, use DataFrom3Dto2DSource instead. More...
 
struct  DataFrom3Dto2DSourceImpl< PropertyT, FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFrom3Dto2DSource instead. More...
 
struct  DataFrom3Dto2DSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFrom3Dto2DSource instead. More...
 
struct  DataFrom3DtoCyl2DSourceImpl
 Don't use this directly, use DataFrom3DtoCyl2DSource instead. More...
 
struct  DataFrom3DtoCyl2DSourceImpl< PropertyT, FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFrom3DtoCyl2DSource instead. More...
 
struct  DataFrom3DtoCyl2DSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFrom3DtoCyl2DSource instead. More...
 
struct  DataFromCyl2Dto3DSourceImpl
 Don't use this directly, use DataFromCyl2Dto3DSource instead. More...
 
struct  DataFromCyl2Dto3DSourceImpl< PropertyT, FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFromCyl2Dto3DSource instead. More...
 
struct  DataFromCyl2Dto3DSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use DataFromCyl2Dto3DSource instead. More...
 
class  DataLog
 Template of base class for classes which store or log n-dimensional data. More...
 
struct  DataSourceImpl
 Don't use this directly, use DataSource instead. More...
 
class  DataSourceImpl< PropertyT, FIELD_PROPERTY, OutputSpaceT, VariadicTemplateTypesHolder< ExtraArgs... > >
 
class  DataSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, OutputSpaceT, VariadicTemplateTypesHolder< ExtraArgs... > >
 
struct  DataSourceWithReceiver
 
struct  DataVector
 Store pointer and size. More...
 
struct  DelegateProvider
 
struct  DelegateProvider< _Res(_ArgTypes...)>
 Template of class which is good base class for providers which delegate calls of operator() to external functor (function or method). More...
 
struct  DgbMatrix
 Symmetric band matrix structure. More...
 
struct  Dielectric
 Base material class for all dielectrics. More...
 
struct  DiffBoundarySetImpl
 This logic holds two boundaries and represent a set difference of them. More...
 
struct  DimensionError
 This exception is thrown if there is a problem with dimensions. More...
 
struct  DirectionWithout
 
struct  DirectionWithout< 2, Primitive< 2 >::DIRECTION_TRAN >
 
struct  DirectionWithout< 2, Primitive< 2 >::DIRECTION_VERT >
 
struct  DirectionWithout< 3, Primitive< 3 >::DIRECTION_LONG >
 
struct  DirectionWithout< 3, Primitive< 3 >::DIRECTION_TRAN >
 
struct  DirectionWithout< 3, Primitive< 3 >::DIRECTION_VERT >
 
struct  DontCopyThisField
 This template can be used to show fileds shich should be just ignore by copy constructors and assign operators of the class. More...
 
struct  DpbMatrix
 Symmetric band matrix structure. More...
 
struct  DummyMaterial
 Dummy named material. More...
 
class  DynamicLibraries
 Represent set of dynamically loaded library. More...
 
struct  DynamicLibrary
 Hold opened shared library. More...
 
struct  ElementIndexValueGetter
 
struct  EmptyBoundaryImpl
 Implementation of empty boundary logic. More...
 
struct  EmptyLeafCacheNode
 
struct  EnergyLevels
 Energy levels for electrons and holes (eV) More...
 
struct  Epsilon
 Permittivity tensor. More...
 
class  EquilateralMesh3D
 
class  EventWithSourceAndFlags
 Base class for classes which store information about event generated by objects of type SourceType. More...
 
struct  Exception
 Base class for all exceptions thrown by plask library. More...
 
struct  ExtrudedTriangularMesh3D
 3D mesh that is a cartesian product of 2D triangular mesh at long-tran and 1D mesh at vert axis. More...
 
class  Extrusion
 Represent 3D geometry object which are extend of 2D object (child) in lon direction. More...
 
struct  FemMatrix
 
struct  FemSolverWithMaskedMesh
 
struct  FemSolverWithMesh
 
struct  FermiLevels
 Quasi-Fermi levels for electrons and holes (eV) More...
 
struct  FieldProperty
 Helper class which makes it easier to define property tags class for fields. More...
 
struct  FieldProvider
 Instantiation of this template is abstract base class for provider class which provide values in points described by mesh and use interpolation. More...
 
struct  FieldSumProvider
 Template of class of sum provider for providers with interpolation. More...
 
struct  FieldSumProviderImpl
 Template of base class of sum provider for providers with interpolation. More...
 
struct  FieldSumProviderImpl< PropertyT, SpaceT, VariadicTemplateTypesHolder< ExtraArgs... > >
 
struct  FilterBaseImpl
 Don't use this directly, use FilterBase or Filter instead. More...
 
struct  FilterBaseImpl< PropertyT, FIELD_PROPERTY, OutputSpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 
struct  FilterBaseImpl< PropertyT, MULTI_FIELD_PROPERTY, OutputSpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 
struct  FilterCommonBase
 
struct  FilterImpl
 
struct  FilterImpl< PropertyT, Geometry2DCartesian >
 Filter which provides data in 2D Cartesian space. More...
 
struct  FilterImpl< PropertyT, Geometry2DCylindrical >
 Filter which provides data in 2D cylindrical space. More...
 
struct  FilterImpl< PropertyT, Geometry3D >
 Filter which provides data in 3D Cartesian space. More...
 
struct  FiltersFactory
 Construct filters using data from XML. More...
 
struct  Flip
 Represent geometry object equal to mirror reflection of its child. More...
 
struct  FunctorIndexedIterator
 Template to create iterators which using functor having size argument. More...
 
struct  Gain
 Material gain (1/cm). More...
 
struct  Gap1D
 Gap in one, choose at compile time, direction. More...
 
struct  GenericMaterial
 Generic material, which can actually be instantiated. More...
 
struct  Geometry
 Base class for all geometry trunks. More...
 
class  Geometry2DCartesian
 Geometry trunk in 2D Cartesian space. More...
 
class  Geometry2DCylindrical
 Geometry trunk in 2D Cylindrical space. More...
 
class  Geometry3D
 Geometry trunk in 3D space. More...
 
class  GeometryD
 Base class for all geometry trunks in given space. More...
 
struct  GeometryException
 Base class for all geometry exceptions thrown by plask library. More...
 
struct  GeometryObject
 Base class for all geometries. More...
 
struct  GeometryObjectBBox
 Geometry object + its bounding box. More...
 
struct  GeometryObjectContainer
 Template of base class for all container nodes. More...
 
struct  GeometryObjectD
 Template of base roles for geometry objects in space with given number of dimensions (2 or 3). More...
 
struct  GeometryObjectLeaf
 Template of base classes for all leaf nodes. More...
 
struct  GeometryObjectSeparator
 Template of base classes for all separator nodes. More...
 
struct  GeometryObjectTransform
 Template of base class for all transform nodes. More...
 
struct  GeometryObjectTransformSpace
 Template of base class for all transformations which change the space between its parent and child. More...
 
class  GeometryReader
 Allow to read geometry from XML. More...
 
struct  Heat
 Density of heat sources [W/m²] or (W/m³). More...
 
struct  HeatFlux
 Heat flux in 2D or 3D space [W/m] or [W/m²]. More...
 
struct  HeatSumProvider
 Provider which sums heat densities from one or more sources. More...
 
struct  HeightReader
 Helper used by read_... stack functions. More...
 
struct  Holder
 Template for base class of object holder. More...
 
struct  HolderRef
 Template for base class of object holder. More...
 
struct  HollowCylinder
 Hollow cylinder (tube) with given height and two base radii (internal and external). More...
 
struct  Hyman
 
struct  Hyman< dcomplex >
 
struct  Hyman< Tensor2< T > >
 
struct  Hyman< Tensor3< T > >
 
struct  Hyman< Vec< 2, T > >
 
struct  Hyman< Vec< 3, T > >
 
struct  HymanSplineMaskedRect2DLazyDataImpl
 
struct  HymanSplineMaskedRect3DLazyDataImpl
 
struct  HymanSplineRect2DLazyDataImpl
 
struct  HymanSplineRect3DLazyDataImpl
 
struct  IllFormatedComplex
 Exception thrown by complex parser when complex number is ill-formated. More...
 
struct  IndexedIterator
 Template to create iterators for containers which have operator[]. More...
 
struct  indices
 Don't use this directly, use applyTuple instead. More...
 
struct  InnerDataSource
 
struct  InternalCacheNode
 Instances of this template represents all internal nodes of cache. More...
 
struct  InterpolatedLazyDataImpl
 Base class for lazy data (vector) that perform interpolation. More...
 
struct  InterpolationAlgorithm
 Specialization of this class are used for interpolation and can depend on source mesh type, data type and the interpolation method. More...
 
struct  InterpolationAlgorithm< EquilateralMesh3D, SrcT, DstT, INTERPOLATION_SMOOTH_SPLINE >
 
struct  InterpolationAlgorithm< EquilateralMesh3D, SrcT, DstT, INTERPOLATION_SPLINE >
 
struct  InterpolationAlgorithm< EquilateralMesh3D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< ExtrudedTriangularMesh3D, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< ExtrudedTriangularMesh3D, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< ExtrudedTriangularMesh3D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< LateralMesh3D< SrcMeshT >, SrcT, DstT, INTERPOLATION_DEFAULT >
 
struct  InterpolationAlgorithm< LateralMesh3D< SrcMeshT >, SrcT, DstT, method >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh2D, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh2D, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh2D, SrcT, DstT, INTERPOLATION_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh2D::ElementMesh, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh2D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh2D::ElementMesh, SrcT, DstT, INTERPOLATION_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh3D, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh3D, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh3D, SrcT, DstT, INTERPOLATION_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh3D::ElementMesh, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh3D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< RectangularMaskedMesh3D::ElementMesh, SrcT, DstT, INTERPOLATION_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMesh2D, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< RectangularMesh2D, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< RectangularMesh2D, SrcT, DstT, INTERPOLATION_SMOOTH_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMesh2D, SrcT, DstT, INTERPOLATION_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMesh2D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< RectangularMesh3D, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< RectangularMesh3D, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< RectangularMesh3D, SrcT, DstT, INTERPOLATION_SMOOTH_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMesh3D, SrcT, DstT, INTERPOLATION_SPLINE >
 
struct  InterpolationAlgorithm< RectangularMesh3D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< SrcMeshT, SrcT, DstT, INTERPOLATION_DEFAULT >
 Specialization of InterpolationAlgorithm showing elegant message if algorithm default is used. More...
 
struct  InterpolationAlgorithm< TriangularMesh2D, SrcT, DstT, INTERPOLATION_LINEAR >
 
struct  InterpolationAlgorithm< TriangularMesh2D, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< TriangularMesh2D::ElementMesh, SrcT, DstT, INTERPOLATION_NEAREST >
 
struct  InterpolationAlgorithm< typename std::enable_if< method !=INTERPOLATION_DEFAULT, EquilateralMesh3D >::type, SrcT, DstT, method >
 
struct  InterpolationAlgorithm< typename std::enable_if< method !=INTERPOLATION_DEFAULT, EquilateralMesh3D::ElementMesh >::type, SrcT, DstT, method >
 
struct  InterpolationAlgorithm< typename std::enable_if< method !=INTERPOLATION_DEFAULT, RectangularMesh2D::ElementMesh >::type, SrcT, DstT, method >
 
struct  InterpolationAlgorithm< typename std::enable_if< method !=INTERPOLATION_DEFAULT, RectangularMesh3D::ElementMesh >::type, SrcT, DstT, method >
 
class  InterpolationFlags
 Interpolation flags that give information how to interpolate fields on periodic and symmetric geometries. More...
 
struct  Intersection
 Represent geometry object equal to intersection of the children. More...
 
struct  IntersectionBoundarySetImpl
 This logic holds two boundaries and represent a set intersection of them. More...
 
struct  is_callable
 Check if Expr is callable. More...
 
struct  IterativeMatrixParams
 
struct  LateralMesh3D
 3D mesh with arbitrary lateral mesh and constant vertical coordinate. More...
 
struct  LateralVec
 
struct  Lattice
 Lattice container that arranges its children in two-dimensional lattice. More...
 
class  LazyData
 Lazy data (vector). More...
 
struct  LazyDataDelegateImpl
 Call functor to get data. More...
 
struct  LazyDataFromVectorImpl
 Wrap DataVector and allow to access to it. More...
 
struct  LazyDataImpl
 Base class for implementation used by lazy data vector. More...
 
struct  LeafCacheNode
 
struct  LightE
 Profile of the optical electric field [V/m]. More...
 
struct  LightH
 Profile of the optical magnetic field (A/m). More...
 
struct  LightMagnitude
 Profile of the optical field 1/2 E × conj(E) / Z0 [W/m²]. More...
 
struct  LightMagnitudeSumProvider
 Provider which sums light intensities from one or more sources. More...
 
struct  LinearInterpolatedLazyDataImpl
 Implementation of InterpolatedLazyDataImpl which calls src_mesh.interpolateLinear(src_vec, dst_mesh). More...
 
struct  LiquidCrystal
 Base material class for all liquid crystals. More...
 
class  Logger
 Abstract class that is base for all loggers. More...
 
struct  Luminescence
 Luminescence [?]. More...
 
struct  make_seq_indices_impl
 
struct  make_seq_indices_impl< Begin, End, indices< Indices... > >
 
struct  make_seq_indices_impl< End, End, indices< Indices... > >
 
struct  Manager
 Geometry manager features: More...
 
struct  Material
 Represent material, its physical properties. More...
 
struct  MaterialCache
 
class  MaterialCantBeMixedException
 
struct  MaterialInfo
 Collect meta-information about material. More...
 
struct  MaterialMethodNotImplemented
 This exception is thrown by material methods which are not implemented. More...
 
struct  MaterialParseException
 Exceptions of this class are thrownwhen material string parser find errors. More...
 
struct  MaterialsDB
 Materials database. More...
 
struct  MaterialWithBase
 Material with another one as base. More...
 
struct  Mesh
 Base class for all the meshes. More...
 
class  MeshAxis
 Abstract class to derive all mesh axes from. More...
 
struct  MeshBase
 Common base for meshes and generators. More...
 
struct  MeshD
 Base class for all meshes defined for specified number of dimensions. More...
 
class  MeshGenerator
 Base class for every mesh generator. More...
 
class  MeshGeneratorD
 Base class for specific mesh generator. More...
 
struct  Metal
 Base material class for all metals. More...
 
struct  MethodIterator
 Template to create iterators which using method having index argument. More...
 
struct  MIArgumentRange
 
class  MidpointAxis
 
struct  MINote
 
struct  Mirror
 Represent geometry object equal to its child with mirror reflection. More...
 
struct  MISee
 
struct  MISeeClass
 
struct  MISource
 
struct  MixedMaterial
 Material which consist of several real materials. More...
 
struct  ModeEffectiveIndex
 Effective index. More...
 
struct  ModeLightE
 Profile of the optical electric field [V/m]. More...
 
struct  ModeLightH
 Profile of the optical magnetic field (A/m). More...
 
struct  ModeLightMagnitude
 Profile of the optical field 1/2 E × conj(E) / Z0 [W/m²]. More...
 
struct  ModeLoss
 Modal loss (1/cm). More...
 
struct  ModePropagationConstant
 Propagation constant (1/µm). More...
 
struct  ModeWavelength
 Wavelength (nm). More...
 
struct  MultiCustomFieldProperty
 Helper class which makes it easier to define property tags classes for multiple vectorial fields that can be interpolated. More...
 
struct  MultiFieldProperty
 Helper class which makes it easier to define property tags class for multiple fields. More...
 
struct  MultiFieldProvider
 Instantiation of this template is abstract base class for provider class which provide values in points described by mesh and use interpolation. More...
 
struct  MultiLateralMesh3D
 3D mesh with arbitrary lateral mesh and vertical axis. More...
 
class  MultiStackContainer
 N-stacks. More...
 
struct  MultiValueProperty
 Helper class which makes it easier to define property tags class for multiple value (double type by default) properties. More...
 
struct  MultiValueProvider
 Instantiation of this template is abstract base class for provider which provide multiple values (for example one double). More...
 
struct  MultiVectorFieldProperty
 Helper class which makes it easier to define property tags classes for multiple vectorial fields that can be interpolated. More...
 
struct  NamesConflictException
 Exceptions of this class are thrownby some geometry object classes when there is no required child. More...
 
struct  NaNImpl
 This template is used by NaN function and have to be specialized to support new types (other than type supported by std::numeric_limits). More...
 
struct  NaNImpl< std::complex< T > >
 Specialization of NaNImpl which adds support for complex numbers. More...
 
struct  NaNImpl< Tensor2< T > >
 Specialization of NaNImpl which add support for 2D tensors. More...
 
struct  NaNImpl< Tensor3< T > >
 Specialization of NaNImpl which add support for 3D tensors. More...
 
struct  NaNImpl< Vec< 2, T > >
 Specialization of NaNImpl which add support for 2D vectors. More...
 
struct  NaNImpl< Vec< 3, T > >
 Specialization of NaNImpl which add support for 3D vectors. More...
 
struct  NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl
 
struct  NearestNeighborElementTriangularMesh2DLazyDataImpl
 
struct  NearestNeighborExtrudedTriangularMesh3DLazyDataImpl
 
struct  NearestNeighborInterpolatedLazyDataImpl
 Implementation of InterpolatedLazyDataImpl which calls src_mesh.interpolateNearestNeighbor(src_vec, dst_mesh). More...
 
struct  NearestNeighborTriangularMesh2DLazyDataImpl
 
struct  NoChildException
 Exceptions of this class are thrown by some geometry object classes when there is no required child. More...
 
struct  NoGeometryException
 Exceptions of this class are thrown when solvers don't have geometry set. More...
 
class  NoLogging
 Logger switch. More...
 
struct  NoMeshException
 Exceptions of this class are thrown when solvers don't have mesh set. More...
 
struct  NoProvider
 This exception is thrown, typically on access to receiver data, when there is no provider connected with it. More...
 
struct  NoSuchAxisNames
 This exception is thrown when axis (typically with given name) is not found. More...
 
struct  NoSuchGeometry
 This exception is thrown when geometry (typically with given name) is not found. More...
 
struct  NoSuchGeometryObject
 This exception is thrown when geometry object (typically with given name) is not found. More...
 
struct  NoSuchGeometryObjectType
 This exception is thrown when geometry object (typically with given name) is not found. More...
 
class  NoSuchMaterial
 This exception is thrown when material (typically with given name) is not found. More...
 
struct  NoSuchPath
 This exception is thrown when named PatHints are not found. More...
 
struct  NotImplemented
 This exception is thrown when some method is not implemented. More...
 
struct  NotUniqueObjectException
 Exceptions of this class are thrown by some geometry object classes. More...
 
struct  NoValue
 
struct  OmpEnabler
 
struct  OmpLock
 
struct  OmpLockGuard
 
struct  OmpLockState
 State of the current lock. More...
 
struct  OnePointAxis
 A trivial axis that contains only one point. More...
 
struct  OnePointMesh
 Mesh which represent set with only one point in space with size given as template parameter DIM. More...
 
class  OrderedAxis
 Rectilinear mesh in 1D space. More...
 
class  OrderedMesh1DRegularGenerator
 Generator of basic 2D geometry grid with approximately equal spacing. More...
 
struct  OrderedMesh1DSimpleGenerator
 Generator of basic 2D geometry grid. More...
 
struct  OStreamOutput
 
struct  OuterDataSource
 Data source in which input object is outer and contains output object. More...
 
struct  OutOfBoundsException
 This exception is thrown when some value (function argument) is out of bound. More...
 
struct  Oxide
 Base material class for all oxides. More...
 
struct  Path
 Path in geometry graph. More...
 
struct  PathHints
 Represent hints for path finder. More...
 
struct  PointsOnCircleMeshExtend
 3D mesh that wrap 2D mesh (sourceMesh). More...
 
struct  Polygon
 
struct  PolymorphicDelegateProvider
 
struct  PolymorphicDelegateProvider< _BaseClass, _Res(_ArgTypes...)>
 Template of class which is a good base class for providers which delegate calls of operator() to external functor (function or method). More...
 
struct  PolymorphicForwardIterator
 Polymorphic, forward iterator. More...
 
struct  PolymorphicForwardIteratorImpl
 Base class for forward, polymorphic iterators implementations. More...
 
struct  PolymorphicForwardIteratorWithIndex
 Polymorphic, forward iterator which allow to get index of current position. More...
 
struct  PolymorphicForwardIteratorWithIndexImpl
 Base class for forward, polymorphic iterators implementations which allow to get index of current position. More...
 
struct  PolymorphicForwardIteratorWrapperImpl
 Polymorphic iterator that wrap another (usually not polymorphic) iterator (of type wrapped_iterator_type). More...
 
struct  PositionValidator
 
struct  Potential
 Electric potential (V) More...
 
struct  PredicateBoundaryImpl
 Boundary logic implementation which represents set of indexes which fulfill predicate. More...
 
struct  Primitive
 Define types of primitives and constants in space with given number of dimensions. More...
 
struct  Primitive< 1 >
 Specialization of Primitive, which define types of primitives and constants in space with 1 dimensions. More...
 
struct  Primitive< 2 >
 Specialization of Primitive, which define types of primitives and constants in space with 2 dimensions. More...
 
struct  Primitive< 3 >
 Specialization of Primitive, which define types of primitives and constants in space with 3 dimensions. More...
 
struct  Printable
 Base class / helper for printable classes with virtual print method. More...
 
struct  Prism
 
struct  Property
 Helper class which makes it easier to define property tags class. More...
 
struct  Property< _propertyType, _ValueType, _ValueType, _ExtraParams... >
 
struct  PropertyAt
 Describe property type in given space. More...
 
struct  PropertyAt< PropertyTag, void >
 
struct  PropertyAtDimImpl
 Describe property in given space. Don't use it directly, but use PropertyAtDim. More...
 
struct  PropertyAtDimImpl< PropertyTag, 2, false >
 
struct  PropertyAtDimImpl< PropertyTag, 2, true >
 Describe property in 2D space. Don't use it directly, but use PropertyAtDim. More...
 
struct  PropertyAtDimImpl< PropertyTag, 3, false >
 
struct  PropertyAtDimImpl< PropertyTag, 3, true >
 Describe property in 3D space. Don't use it directly, but use PropertyAtDim. More...
 
struct  PropertyAtImpl
 
struct  PropertyAtImpl< PropertyTag, Geometry2DCylindrical, Geometry3D, false >
 
struct  PropertyAtImpl< PropertyTag, Geometry3D, Geometry2DCylindrical, false >
 
struct  PropertyTypeToProviderName
 
struct  PropertyTypeToProviderName< FIELD_PROPERTY >
 
struct  PropertyTypeToProviderName< MULTI_FIELD_PROPERTY >
 
struct  PropertyTypeToProviderName< MULTI_VALUE_PROPERTY >
 
struct  PropertyTypeToProviderName< SINGLE_VALUE_PROPERTY >
 
struct  Provider
 Base class for all Providers. More...
 
struct  ProviderFor
 Specializations of this class define implementations of providers for given property tag: More...
 
struct  ProviderImpl
 Specializations of this class are implementations of providers for given property tag class and this tag properties. More...
 
struct  ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Specialization which implements provider class which provides values in mesh points and uses interpolation. More...
 
struct  ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Specialization which implements provider class which provides multiple values in mesh points and uses interpolation. More...
 
struct  ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Partial specialization which implements abstract provider class which provides a single value, typically one double. More...
 
struct  ProviderImpl< PropertyT, SINGLE_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >
 Partial specialization which implements abstract provider class which provides a single value, typically one double. More...
 
class  Receiver
 Base class for all Receivers. More...
 
struct  ReceiverBase
 Common non-template base for all receivers. More...
 
struct  ReceiverFor
 Specializations of this class are implementations of Receiver for given property tag. More...
 
struct  Rectangular_t
 
struct  Rectangular_t< 1 >
 
struct  RectangularMaskedMesh2D
 Rectangular mesh which uses (and indexes) only chosen elements and all nodes in their corners. More...
 
struct  RectangularMaskedMesh3D
 Rectangular mesh which uses (and indexes) only chosen elements and all nodes in their corners. More...
 
struct  RectangularMaskedMeshBase
 Common base class for RectangularMaskedMesh 2D and 3D. More...
 
class  RectangularMesh2D
 Rectilinear mesh in 2D space. More...
 
class  RectangularMesh2DFrom1DGenerator
 Generator of 2D geometry grid using other generator for horizontal axis. More...
 
class  RectangularMesh2DRegularGenerator
 Generator of basic 2D geometry grid with approximately equal spacing. More...
 
struct  RectangularMesh2DSimpleGenerator
 Generator of basic 2D geometry grid. More...
 
class  RectangularMesh3D
 Rectangular mesh in 3D space. More...
 
struct  RectangularMesh3DRegularGenerator
 Generator of basic 3D geometry grid with approximately equal spacing. More...
 
struct  RectangularMesh3DSimpleGenerator
 Generator of basic 3D geometry grid. More...
 
struct  RectangularMeshBase2D
 
struct  RectangularMeshBase3D
 
struct  RectangularMeshDivideGenerator
 Dividing generator ensuring no rapid change of element size. More...
 
struct  RectangularMeshRefinedGenerator
 Dividing generator ensuring no rapid change of element size. More...
 
struct  RectangularMeshSmoothGenerator
 Dense-edge generator that has very dense sampling near edges and gradually gets wider towards the center. More...
 
class  RectilinearMesh3D
 Rectilinear mesh in 3D space. More...
 
struct  ReductionTo2DMesh
 This class is a 2D mesh which wraps 3D mesh (sourceMesh), reduce each point of sourceMesh to 2D and translate it back by given vector (translation). More...
 
struct  RefractiveIndex
 Refractive index. More...
 
struct  RegisterMeshGeneratorReader
 Helper which call stores mesh reader when constructed. More...
 
struct  RegisterMeshReader
 Helper which call stores mesh reader when constructed. More...
 
class  RegularAxis
 Regular mesh in 1d space. More...
 
struct  ReindexedContainer
 ReindexedContainer instantiation is class which objects have reference to original container and operator[]. More...
 
struct  Revolution
 Represent 3D geometry object which is an effect of revolving a 2D object (child) around the up axis. More...
 
struct  RotatedCuboid
 Represent a cuboid that can be rotated in a horizontal plane. More...
 
struct  SafeDataImpl
 LazyData implementation removing NaN from another data. More...
 
struct  SameMeshChecker
 Object of this class allows for checking if a given mesh is the same mesh which has been used recently. More...
 
struct  ScaledFieldProvider
 Template of class of scaled provider for providers with interpolation. More...
 
struct  ScaledFieldProviderImpl
 Template of base class of scaled provider for providers with interpolation. More...
 
struct  ScaledFieldProviderImpl< DstPropertyT, SrcPropertyT, MULTI_FIELD_PROPERTY, SpaceT, ScaleT, VariadicTemplateTypesHolder< ExtraArgs... > >
 
struct  ScaledFieldProviderImpl< DstPropertyT, SrcPropertyT, propertyType, SpaceT, ScaleT, VariadicTemplateTypesHolder< ExtraArgs... > >
 
struct  ScaledLazyDataImpl
 
struct  ScaledProviderBase
 Template of base of scaled provider. More...
 
struct  SegmentSet
 
struct  SegmentSetMember
 
struct  SegmentsIterator
 Iterate over segments. More...
 
struct  Semiconductor
 Base material class for all semiconductors and similar materials. More...
 
struct  ShelfContainer2D
 Horizontal stack. More...
 
struct  SingleValueProperty
 Helper class which makes it easier to define property tags class for single value (double type by default) properties. More...
 
struct  SingleValueProvider
 Instantiation of this template is abstract base class for provider which provide one value (for example one double). More...
 
struct  SmoothSplineRect2DLazyDataImpl
 
struct  SmoothSplineRect3DLazyDataImpl
 
class  Solver
 Base class for all solvers. More...
 
class  SolverOver
 Base class for all solvers operating on specified space. More...
 
struct  SolverWithMesh
 Base class for all solvers operating on specified olding an external mesh. More...
 
struct  SparseBandMatrix
 
struct  SparseFreeMatrix
 
struct  SparseMatrix
 
struct  SpatialIndexNode
 Base class for cache and nodes of cache. More...
 
struct  SplineMaskedRect2DLazyDataImpl
 
struct  SplineMaskedRect3DLazyDataImpl
 
struct  SplineMaskedRectElement2DLazyDataImpl
 
struct  SplineMaskedRectElement3DLazyDataImpl
 
struct  SplineRect2DLazyDataImpl
 
struct  SplineRect3DLazyDataImpl
 
struct  StackContainer
 Container which have children in stack/layers. More...
 
struct  StackContainerBaseImpl
 Common code for stack containers (which have children in stack/layers). More...
 
struct  StderrLogger
 
struct  StdSetBoundaryImpl
 Implementation of boundary logic which holds a set of node indices in std::set. More...
 
class  StringInterpreter
 Objects of this class allow to parse string value and interpret it as given type. More...
 
struct  StrongCache
 Cache values of type Value using Key type to index it. More...
 
struct  Temperature
 Physical property tag class for temperature: More...
 
struct  Tensor2
 Diagonal tensor with all lateral components equal. More...
 
struct  Tensor3
 Non-diagonal tensor with all non-diagonal lateral projection. More...
 
struct  ThermalConductivity
 Thermal conductivity [W/m*K]. More...
 
struct  TranslatedInnerDataSourceImpl
 Don't use this directly, use TranslatedInnerDataSource instead. More...
 
struct  TranslatedInnerDataSourceImpl< PropertyT, FIELD_PROPERTY, SpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use TranslatedInnerDataSource instead. More...
 
struct  TranslatedInnerDataSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use TranslatedInnerDataSource instead. More...
 
struct  TranslatedMesh
 Mesh which translates another mesh by given vector. More...
 
struct  TranslatedOuterDataSourceImpl
 Don't use this directly, use TranslatedOuterDataSource instead. More...
 
struct  TranslatedOuterDataSourceImpl< PropertyT, FIELD_PROPERTY, SpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use TranslatedOuterDataSource instead. More...
 
struct  TranslatedOuterDataSourceImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceType, VariadicTemplateTypesHolder< ExtraArgs... > >
 Don't use this directly, use TranslatedOuterDataSource instead. More...
 
struct  Translation
 Represent geometry object equal to its child translated by vector. More...
 
struct  TranslationContainer
 Geometry objects container in which every child has an associated aligner. More...
 
struct  Triangle
 Represents triangle with one vertex at point (0, 0). More...
 
struct  TriangleGenerator
 Generator which creates triangular mesh by Triangle library authored by Jonathan Richard Shewchuk. More...
 
struct  TriangularMesh2D
 
struct  TriangularMesh2DGetterForRtree
 Utility struct that allows for using triangular mesh in boost::geometry::index::rtree effectively (without copying coordinates of nodes). More...
 
struct  TriangularPrism
 Represents prism with triangular base one vertex at point (0, 0, 0) and height h. More...
 
struct  TrifreeCaller
 
struct  UnexpectedGeometryObjectTypeException
 This exception is thrown when geometry object has type different than expectation (for example is 3d but expected 2d). More...
 
struct  UnionBoundarySetImpl
 This logic holds a list of boundaries and represent a set of indices which is an union of sets from this boundaries. More...
 
struct  VariadicTemplateTypesHolder
 
struct  Vec
 Generic template for 2D and 3D vectors. More...
 
struct  Vec< 2, T >
 Vector in 2D space. More...
 
struct  Vec< 3, T >
 Vector in 3D space. More...
 
struct  VecComponent
 Vector component helper. More...
 
struct  VecFuzzyCompare
 
struct  VectorFieldProperty
 Helper class which makes it easier to define property tags classes for vectorial fields that can be interpolated. More...
 
struct  Voltage
 Electric voltage (V) More...
 
struct  WeakCache
 Cache values of type Value using Key type to index it. More...
 
struct  WithAligners
 Template of base class for containers which have aligners, one per child. More...
 
struct  XMLBadAttrException
 Exceptions of this class are thrown when the attribute has wrong value. More...
 
struct  XMLConflictingAttributesException
 Exceptions of this class are thrown if two optional attributes in XML conflict with each other. More...
 
struct  XMLDuplicatedElementException
 Exceptions of this class are thrown when illegal repetition of tag appears. More...
 
struct  XMLException
 Base class for all exceptions thrown by plask library. More...
 
struct  XMLNoAttrException
 Exceptions of this class are thrown when the required attribute is not found in XML tag. More...
 
class  XMLReader
 XML pull parser. More...
 
struct  XMLUnexpectedAttrException
 Exceptions of this class are thrown when the required attribute is not found in XML tag. More...
 
struct  XMLUnexpectedElementException
 Exceptions of this class are thrown when the type of XML element is different than expected. More...
 
struct  XMLUnexpectedEndException
 Exceptions of this class are thrown when XML file/data stream unexpected end. More...
 
struct  XMLWriter
 Object of this class help produce valid XML documents. More...
 
struct  XMLWriterException
 Exceptions of this type are thrown by XMLWriter class. More...
 
struct  YEnds
 
struct  ZeroImpl
 This template is used by Zero function and have to be specialized to support new types. More...
 
struct  ZeroImpl< Tensor2< T > >
 Specialization of ZeroImpl which add support for 2D vectors. More...
 
struct  ZeroImpl< Tensor3< T > >
 Specialization of ZeroImpl which add support for 3D vectors. More...
 
struct  ZeroImpl< Vec< 2, T > >
 Specialization of ZeroImpl which add support for 2D vectors. More...
 
struct  ZeroImpl< Vec< 3, T > >
 Specialization of ZeroImpl which add support for 2D vectors. More...
 

Typedefs

template<typename PropertyT , typename OutputSpaceType >
using DataSource = DataSourceImpl< PropertyT, PropertyT::propertyType, OutputSpaceType, typename PropertyT::ExtraParams >
 
template<typename PropertyT , typename OutputSpaceType >
using ConstDataSource = ConstDataSourceImpl< PropertyT, PropertyT::propertyType, OutputSpaceType, typename PropertyT::ExtraParams >
 
template<typename PropertyT >
using DataFrom3Dto2DSource = DataFrom3Dto2DSourceImpl< PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams >
 Source of data in 2D space which read, and averages data from outer 3D space.
 
template<typename PropertyT >
using DataFrom2Dto3DSource = DataFrom2Dto3DSourceImpl< PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams >
 Source of data in 3D space which read it from inner 2D space (Extrusion).
 
template<typename PropertyT >
using DataFrom3DtoCyl2DSource = DataFrom3DtoCyl2DSourceImpl< PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams >
 Source of data in 2D space which read, and averages data from outer 3D space.
 
template<typename PropertyT >
using DataFromCyl2Dto3DSource = DataFromCyl2Dto3DSourceImpl< PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams >
 Source of data in 3D space which read it from inner 2D cylindrical space (Revolution).
 
template<typename PropertyT , typename OutputSpaceType >
using FilterBase = FilterBaseImpl< PropertyT, PropertyT::propertyType, OutputSpaceType, typename PropertyT::ExtraParams >
 Base class for filters which recalculate field from one space to another (OutputSpaceType).
 
template<typename PropertyT , typename OutputSpaceType >
using Filter = FilterImpl< PropertyT, OutputSpaceType >
 Filter is a special kind of Solver which "solves" the problem using another Solvers.
 
template<typename PropertyT , typename SpaceType >
using TranslatedInnerDataSource = TranslatedInnerDataSourceImpl< PropertyT, PropertyT::propertyType, SpaceType, typename PropertyT::ExtraParams >
 Source of data in space SpaceType space which read it from inner space of same type.
 
template<typename PropertyT , typename SpaceType >
using TranslatedOuterDataSource = TranslatedOuterDataSourceImpl< PropertyT, PropertyT::propertyType, SpaceType, typename PropertyT::ExtraParams >
 Source of data in space SpaceType space which read it from outer space of same type.
 
typedef Block< 2 > Rectangle
 
typedef Block< 3 > Cuboid
 
typedef boost::variant< shared_ptr< Material >, shared_ptr< MaterialsDB::MixedCompositionFactory > > SolidOrGradientMaterial
 Any of the allowed material types.
 
typedef std::pair< shared_ptr< GeometryObject >, shared_ptr< GeometryObject > > Edge
 
template<int dim>
using StackContainerChildAligner = typename chooseType< dim-2, align::Aligner< Primitive< 3 >::DIRECTION_TRAN >, align::Aligner< Primitive< 3 >::DIRECTION_LONG, Primitive< 3 >::DIRECTION_TRAN > >::type
 
template<typename T >
using aligned_unique_ptr = std::unique_ptr< T, aligned_deleter< T > >
 
template<typename MeshType >
using UnionBoundary = BoundaryOp< MeshType, UnionBoundarySetImpl >
 Boundary which represents union of boundaries.
 
template<typename MeshType >
using DiffBoundary = BoundaryOp< MeshType, DiffBoundarySetImpl >
 Boundary which represents difference of boundaries.
 
template<typename MeshType >
using IntersectionBoundary = BoundaryOp< MeshType, IntersectionBoundarySetImpl >
 Boundary which represents intersection of boundaries.
 
typedef OrderedAxis OrderedMesh1D
 
template<int DIM>
using RectangularMesh = typename std::conditional< DIM==2, RectangularMesh2D, typename std::conditional< DIM==3, RectangularMesh3D, void >::type >::type
 
template<int DIM>
using RectangularMeshBase = typename std::conditional< DIM==2, RectangularMeshBase2D, typename std::conditional< DIM==3, RectangularMeshBase3D, void >::type >::type
 
template<int DIM>
using RectangularMaskedMesh = typename std::conditional< DIM==2, RectangularMaskedMesh2D, typename std::conditional< DIM==3, RectangularMaskedMesh3D, void >::type >::type
 
typedef RegularAxis RegularMesh1D
 
typedef boost::geometry::index::rtree< std::size_t, boost::geometry::index::quadratic< 16 >, TriangularMesh2DGetterForRtreeRtreeOfTriangularMesh2DNodes
 Boost rtree that holds nodes of TriangularMesh2D.
 
template<typename PropertyTag , int dim>
using PropertyAtDim = PropertyAtDimImpl< PropertyTag, dim, PropertyTag::hasUniqueValueType >
 
typedef FieldProperty< doubleScalarFieldProperty
 Helper class which makes it easier to define property tags classes for scalar fields (fields of doubles).
 
typedef MultiFieldProperty< doubleMultiScalarFieldProperty
 Helper class which makes it easier to define property tags classes for multiple scalar fields (fields of doubles).
 
typedef Solversolver_construct_f(const std::string &name)
 
typedef std::size_t openmp_size_t
 type similar to std::size_t which can be used in for loop with current version of OpenMP
 
template<std::size_t Begin, std::size_t End>
using make_seq_indices = typename make_seq_indices_impl< Begin, End, indices<> >::type
 
template<typename F >
using return_type = typename std::result_of< F >::type
 
typedef boost::tokenizer< boost::escaped_list_separator< char > > split_esc_tokenizer
 
typedef OStreamOutput< std::ostream & > OStreamRef
 
typedef OStreamOutput< std::ofstream > OFStream
 
typedef XMLWriter::Element XMLElement
 Easier access to XML element type.
 

Enumerations

enum  FemMatrixAlgorithm { ALGORITHM_CHOLESKY , ALGORITHM_GAUSS , ALGORITHM_ITERATIVE }
 Choice of matrix factorization algorithms. More...
 
enum  EmptyElementsHandling { EMPTY_ELEMENTS_DEFAULT , EMPTY_ELEMENTS_EXCLUDED , EMPTY_ELEMENTS_INCLUDED }
 
enum  LogLevel {
  LOG_CRITICAL_ERROR = 0 , LOG_ERROR = 1 , LOG_ERROR_DETAIL = 2 , LOG_WARNING = 3 ,
  LOG_IMPORTANT = 4 , LOG_INFO = 5 , LOG_RESULT = 6 , LOG_DATA = 7 ,
  LOG_DETAIL = 8 , LOG_DEBUG = 9
}
 
enum  InterpolationMethod : unsigned {
  INTERPOLATION_DEFAULT = 0 , INTERPOLATION_NEAREST , INTERPOLATION_LINEAR , INTERPOLATION_SPLINE ,
  INTERPOLATION_SMOOTH_SPLINE , INTERPOLATION_PERIODIC_SPLINE , INTERPOLATION_FOURIER , __ILLEGAL_INTERPOLATION_METHOD__
}
 Supported interpolation methods. More...
 
enum  PropertyType { SINGLE_VALUE_PROPERTY = 0 , MULTI_VALUE_PROPERTY = 1 , FIELD_PROPERTY = 2 , MULTI_FIELD_PROPERTY = 3 }
 Type of properties. More...
 

Functions

template<class T >
average (const DataVector< T > &v)
 Compute data arithmetic mean.
 
template<int dim>
shared_ptr< GeometryObjectread_circle (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_Clip2D (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_Clip3D (GeometryReader &reader)
 
template<typename ChildParamF , typename WithoutChildParamF >
void read_children (GeometryReader &reader, ChildParamF child_param_read, WithoutChildParamF without_child_param_read)
 Read children, call child_param_read if children is in <item> tag and without_child_param_read if there was no <item> tag.
 
shared_ptr< GeometryObjectread_cuboid (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_cylinder (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_hollow_cylinder (GeometryReader &reader)
 
template<int dim>
shared_ptr< GeometryObjectread_Intersection (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_arrange2d (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_arrange3d (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_lattice (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_block2D (GeometryReader &reader)
 
shared_ptr< GeometryObjectchangeToBlock (const SolidOrGradientMaterial &material, const shared_ptr< const GeometryObject > &to_change, Vec< 3, double > &translation, bool draft=false)
 Construct Block with the same dimenstion as bounding box of to_change.
 
template<typename GeometryType >
shared_ptr< GeometryObjectread_flip_like (GeometryReader &reader)
 
shared_ptr< GeometryObjectreadPolygon (GeometryReader &reader)
 
constexpr Primitive< 3 >::Direction direction3D (Primitive< 2 >::Direction dir2D)
 
constexpr Primitive< 3 >::Direction direction3D (Primitive< 3 >::Direction dir3D)
 
shared_ptr< GeometryObjectread_triangular_prism (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_prism (GeometryReader &reader)
 
bool isAutoName (const std::string &name)
 
SpatialIndexNode< 2 > * constructInternalNode (int dir, const double &offset, SpatialIndexNode< 2 > *lo, SpatialIndexNode< 2 > *hi)
 
SpatialIndexNode< 3 > * constructInternalNode (int dir, const double &offset, SpatialIndexNode< 3 > *lo, SpatialIndexNode< 3 > *hi)
 
template<int DIMS>
void inPlaceSplit (std::vector< GeometryObjectBBox< DIMS > > &inputAndLo, std::vector< GeometryObjectBBox< DIMS > > &hi, int dir, double offset)
 
template<int DIMS>
void calcOptimalSplitOffset (const std::vector< GeometryObjectBBox< DIMS > > &inputSortedByLo, const std::vector< GeometryObjectBBox< DIMS > > &inputSortedByHi, int inputDir, int &bestDir, double &bestOffset, int &bestValue)
 Calculate optimal splitting offset in given direction.
 
template<int DIMS>
SpatialIndexNode< DIMS > * buildCacheR (std::vector< GeometryObjectBBox< DIMS > > *input, int max_depth=16)
 Build cache.
 
template<int DIMS>
std::unique_ptr< SpatialIndexNode< DIMS > > buildSpatialIndex (const std::vector< shared_ptr< Translation< DIMS > > > &children)
 Build spatial index.
 
template PLASK_API std::unique_ptr< SpatialIndexNode< 2 > > buildSpatialIndex (const std::vector< shared_ptr< Translation< 2 > > > &children)
 
template PLASK_API std::unique_ptr< SpatialIndexNode< 3 > > buildSpatialIndex (const std::vector< shared_ptr< Translation< 3 > > > &children)
 
shared_ptr< GeometryObjectread_translation2D (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_translation3D (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_cartesianExtend (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_revolution (GeometryReader &reader)
 
template<int dim>
shared_ptr< GeometryObjectread_TranslationContainer (GeometryReader &reader)
 
shared_ptr< GeometryObjectread_triangle (GeometryReader &reader)
 
template<typename T , typename S >
LazyData< typename ScaledLazyDataImpl< T, S >::CellType > operator* (LazyData< T > data, const S &scale)
 Compute factor of data and a.
 
template<typename T , typename S >
LazyData< typename ScaledLazyDataImpl< T, S >::CellType > operator* (const S &scale, LazyData< T > data)
 Compute factor of vec and a.
 
template<class T1 , class T2 >
bool operator== (LazyData< T1 > const &a, LazyData< T2 > const &b)
 Check if two lazy data vectors are equal.
 
template<class T1 , class T2 >
bool operator== (LazyData< T1 > const &a, DataVector< T2 > const &b)
 Check if two vectors are equal.
 
template<class T1 , class T2 >
bool operator== (DataVector< T1 > const &a, LazyData< T2 > const &b)
 Check if two vectors are equal.
 
template<class T1 , class T2 >
bool operator!= (LazyData< T1 > const &a, LazyData< T2 > const &b)
 Check if two data vectors are not equal.
 
template<class T1 , class T2 >
bool operator!= (LazyData< T1 > const &a, DataVector< T2 > const &b)
 
template<class T1 , class T2 >
bool operator!= (DataVector< T1 > const &a, LazyData< T2 > const &b)
 
template<class T1 , class T2 >
bool operator< (LazyData< T1 > const &a, LazyData< T2 > const &b)
 A lexical comparison of two (lazy) data vectors.
 
template<class T1 , class T2 >
bool operator< (DataVector< T1 > const &a, LazyData< T2 > const &b)
 
template<class T1 , class T2 >
bool operator< (LazyData< T1 > const &a, DataVector< T2 > const &b)
 
template<class T1 , class T2 >
bool operator> (LazyData< T1 > const &a, LazyData< T2 > const &b)
 A lexical comparison of two (lazy) data vectors.
 
template<class T1 , class T2 >
bool operator> (DataVector< T1 > const &a, LazyData< T2 > const &b)
 
template<class T1 , class T2 >
bool operator> (LazyData< T1 > const &a, DataVector< T2 > const &b)
 
template<class T1 , class T2 >
bool operator<= (LazyData< T1 > const &a, LazyData< T2 > const &b)
 A lexical comparison of two (lazy) data vectors.
 
template<class T1 , class T2 >
bool operator<= (DataVector< T1 > const &a, LazyData< T2 > const &b)
 
template<class T1 , class T2 >
bool operator<= (LazyData< T1 > const &a, DataVector< T2 > const &b)
 
template<class T1 , class T2 >
bool operator>= (LazyData< T1 > const &a, LazyData< T2 > const &b)
 A lexical comparison of two (lazy) data vectors.
 
template<class T1 , class T2 >
bool operator>= (DataVector< T1 > const &a, LazyData< T2 > const &b)
 
template<class T1 , class T2 >
bool operator>= (LazyData< T1 > const &a, DataVector< T2 > const &b)
 
template<class T >
std::ostream & operator<< (std::ostream &out, LazyData< T > const &to_print)
 Print lazy data vector to stream.
 
template<typename T >
LazyData< T > SafeData (const LazyData< T > &src, const T safe_value=Zero< T >())
 Make LazyData removing NaN from another lazy data.
 
std::uint64_t getUniqueNumber ()
 Get unique number.
 
std::string getUniqueString ()
 Get unique string.
 
PLASK_API std::string host_name ()
 
PLASK_API void createDefaultLogger ()
 Create default logger.
 
void writelog (LogLevel level, const std::string &msg)
 Log a message.
 
template<typename... Args>
void writelog (LogLevel level, const std::string &msg, Args &&... params)
 Log a message.
 
template<typename ConditionT >
ConditionT parseBoundaryValue (const XMLReader &tag_with_value)
 Parse condition from XML tag.
 
void checkCompositionSimilarity (const Material::Composition &material1composition, const Material::Composition &material2composition)
 
std::string & appendPart (std::string &name, const std::string &part_value, char separator)
 
std::string & appendDopant (std::string &name, const std::string &dopant_name)
 
std::string & appendLabel (std::string &name, const std::string &label)
 
std::string & appendLabelDopant (std::string &name, const std::string &label, const std::string &dopant_name)
 
std::string alloyDbKey (const Material::Composition &composition, const std::string &label, const std::string &dopant_name)
 
std::string alloyDbKey (std::vector< std::string > elNames, const std::string &label, const std::string &dopant_name)
 
std::string alloyDbKey (const std::string &name, const std::string &label, const std::string &dopant_name)
 
std::string alloyDbKey (const std::string &fullAlloyName)
 
std::string dbKey (const Material::Parameters &parameters)
 
int elementGroup (const std::string &objectName)
 Get group in periodic table of given object.
 
template<typename NameValuePairIter >
void fillGroupMaterialCompositionAmounts (NameValuePairIter begin, NameValuePairIter end, int group_nr)
 
const chargetObjectEnd (const char *begin, const char *end)
 
const chargetAmountEnd (const char *begin, const char *end)
 
double toDouble (const std::string &s, const char *fullname)
 
template std::complex< doubleparse_complex< double > (std::string str_to_parse)
 
template<typename T >
constexpr std::remove_cv< typenamestd::remove_reference< T >::type >::type NaN ()
 Construct NaN or its counterpart with given type T.
 
template<typename T >
constexpr std::remove_cv< typenamestd::remove_reference< T >::type >::type Zero ()
 Construct NaN or its counterpart with given type T.
 
long double conj (long double x)
 
double conj (double x)
 
float conj (float x)
 
bool is_zero (double v, double abs_supremum=SMALL)
 Check if the real number is almost zero.
 
bool is_zero (dcomplex v)
 Check if the complex number is almost zero.
 
bool isnan (dcomplex v)
 Check if the complex number is NaN.
 
template<typename T >
remove_nan (T val, const T nan=Zero< T >())
 Replace NaN with some specified value (zero by default).
 
plask::dcomplex operator* (int a, const plask::dcomplex &b)
 
plask::dcomplex operator* (const plask::dcomplex &a, int b)
 
plask::dcomplex operator* (unsigned a, const plask::dcomplex &b)
 
plask::dcomplex operator* (const plask::dcomplex &a, unsigned b)
 
plask::dcomplex operator/ (int a, const plask::dcomplex &b)
 
plask::dcomplex operator/ (const plask::dcomplex &a, int b)
 
plask::dcomplex operator/ (unsigned a, const plask::dcomplex &b)
 
plask::dcomplex operator/ (const plask::dcomplex &a, unsigned b)
 
double abs2 (const dcomplex &x)
 
template<typename T >
const T & clamp (const T &v, const T &min, const T &max)
 Clamp value to given range.
 
template<typename T >
bool in_range (const T &v, const T &beg, const T &end)
 Check if value v is in given range [beg, end).
 
template<typename T1 , typename T2 , typename T3 >
auto fma (T1 to_mult_1, T2 to_mult_2, T3 to_sum) -> decltype(to_mult_1 *to_mult_2+to_sum)
 Wrapper over std::fma witch works for all types.
 
float fma (float to_mult_1, float to_mult_2, float to_sum)
 
double fma (double to_mult_1, double to_mult_2, double to_sum)
 
long double fma (long double to_mult_1, long double to_mult_2, long double to_sum)
 
bool dbl_compare_eq (double x, double y)
 Check if two doubles are equals.
 
bool dbl_compare_lt (double x, double y)
 Check if x is less than y.
 
bool dbl_compare_gt (double x, double y)
 Check if x is greater than y.
 
bool dbl_compare_lteq (double x, double y)
 Check if x is less or equals to y.
 
bool dbl_compare_gteq (double x, double y)
 Check if x is greater or equals to y.
 
template<typename T >
std::complex< T > parse_complex (std::string str_to_parse)
 Parse complex number in format: R+Ij, R, Ij, or (R, I), where R and I are floating point numbers (last is standard C++ format).
 
voidaligned_malloc (std::size_t size)
 Allocate size bytes.
 
void aligned_free (void *ptr)
 Free memory allocated with aligned_malloc.
 
voidaligned_realloc (void *ptr, std::size_t new_size, std::size_t old_size=0)
 Reallocate an aligned block of memory.
 
template<typename T >
T * aligned_malloc (std::size_t num=1)
 Create new data with aligned allocation.
 
template<typename T >
void aligned_free (T *ptr)
 Delete data with aligned allocation.
 
template<typename T , typename... Args>
T * aligned_new (Args &&... args)
 Create new object with aligned allocation.
 
template<typename T >
void aligned_delete (T *ptr)
 Delete object with aligned allocation.
 
template<typename T , typename... Args>
T * aligned_new_array (std::size_t num, Args &&... args)
 Create new array with aligned allocation.
 
template<typename T >
void aligned_delete_array (std::size_t num, T *ptr)
 Delete array with aligned allocation.
 
template<typename T >
shared_ptr< T > getUnique (const shared_ptr< T > &ptr)
 Copy ptr data if is not the only shared_ptr instance managing the current object, i.e.
 
template<typename T >
shared_ptr< T > getUnique (const shared_ptr< const T > &ptr)
 Copy ptr data if is not the only shared_ptr instance managing the current object, i.e.
 
template<typename T >
void makeUnique (shared_ptr< T > &ptr)
 Copy ptr data if is not the only shared_ptr instance managing the current object, i.e.
 
PLASK_API void prepareNearestNeighborInterpolationForAxis (const MeshAxis &axis, const InterpolationFlags &flags, double &wrapped_point_coord, int axis_nr)
 TODO doc - this is code by M.
 
PLASK_API void prepareInterpolationForAxis (const MeshAxis &axis, const InterpolationFlags &flags, double wrapped_point_coord, int axis_nr, std::size_t &index_lo, std::size_t &index_hi, double &lo, double &hi, bool &invert_lo, bool &invert_hi)
 TODO doc - this is code by M.
 
template<int DIM>
shared_ptr< OnePointMesh< DIM > > toMesh (const plask::Vec< DIM, double > &point)
 Create one-point mesh that includes given point.
 
template<int DIM>
shared_ptr< TranslatedMesh< DIM > > translate (const shared_ptr< const MeshD< DIM > > &sourceMesh, const Vec< DIM, double > &translation)
 
BoundaryNodeSet operator+ (BoundaryNodeSet left, BoundaryNodeSet right)
 Return union of left and right sets of nodes.
 
BoundaryNodeSet operator| (BoundaryNodeSet left, BoundaryNodeSet right)
 
BoundaryNodeSet operator* (BoundaryNodeSet left, BoundaryNodeSet right)
 Return intersection of left and right sets of nodes.
 
BoundaryNodeSet operator& (BoundaryNodeSet left, BoundaryNodeSet right)
 
BoundaryNodeSet operator- (BoundaryNodeSet left, BoundaryNodeSet right)
 Return difference of left and right sets of nodes.
 
template<typename MeshType >
Boundary< MeshType > operator+ (Boundary< MeshType > left, Boundary< MeshType > right)
 Return boundary which produces the union of sets given by left and right boundaries.
 
template<typename MeshType >
Boundary< MeshType > operator| (Boundary< MeshType > left, Boundary< MeshType > right)
 
template<typename MeshType >
Boundary< MeshType > operator* (Boundary< MeshType > left, Boundary< MeshType > right)
 Return boundary which produces the intersection of sets given by left and right boundaries.
 
template<typename MeshType >
Boundary< MeshType > operator& (Boundary< MeshType > left, Boundary< MeshType > right)
 
template<typename MeshType >
Boundary< MeshType > operator- (Boundary< MeshType > left, Boundary< MeshType > right)
 Return boundary which produces the difference of sets given by left and right boundaries.
 
template<typename MeshType >
MeshType::Boundary makeEmptyBoundary ()
 Helper to create empty boundary.
 
template<typename Boundary , typename Predicate >
Boundary makePredicateBoundary (Predicate predicate)
 Helper to create boundary which represents set of indexes which fulfill given predicate.
 
template<typename Boundary >
Boundary parseBoundary (const std::string &PLASK_UNUSED(boundary_desc), Manager &PLASK_UNUSED(manager))
 Parse boundary of given type from string.
 
template<typename Boundary >
Boundary parseBoundary (XMLReader &PLASK_UNUSED(boundary_desc), Manager &PLASK_UNUSED(manager))
 Parse boundary from XML reader.
 
Vec< 3, doublefrom_longTran_vert (const Vec< 2, double > &longTran, const double &vert)
 
Vec< 2, doubleto_longTran (const Vec< 3, double > &longTranVert)
 
Box2D to_longTran (const Box3D &box)
 
template<int dim>
PLASK_API shared_ptr< OrderedAxismakeGeometryAxis (const shared_ptr< GeometryObjectD< dim > > &geometry, Primitive< 3 >::Direction dir, double split=0.)
 Get axis with points along edges of bounding boxes of all geometry elements.
 
shared_ptr< OrderedAxismakeGeometryGrid1D (const shared_ptr< GeometryObjectD< 2 > > &geometry, double split=0.)
 Generate grid along edges of bounding boxes of all geometry elements.
 
shared_ptr< RectangularMesh< 2 > > makeGeometryGrid (const shared_ptr< GeometryObjectD< 2 > > &geometry, double split=0.)
 Generate grid along edges of bounding boxes of all geometry elements.
 
shared_ptr< RectangularMesh< 3 > > makeGeometryGrid (const shared_ptr< GeometryObjectD< 3 > > &geometry, double split=0.)
 Generate grid along edges of bounding boxes of all geometry elements.
 
shared_ptr< OrderedAxisrefineAxis (const shared_ptr< MeshAxis > &axis, double spacing)
 Divide existing axis into finer mesh with points approximately spaced by spacing.
 
template<int dim>
shared_ptr< MeshGeneratorreadRectangularDivideGenerator (XMLReader &reader, Manager &manager)
 
template<int dim>
shared_ptr< MeshGeneratorreadRectangularSmoothGenerator (XMLReader &reader, Manager &manager)
 
template PLASK_API shared_ptr< OrderedAxismakeGeometryAxis (const shared_ptr< GeometryObjectD< 2 > > &geometry, Primitive< 3 >::Direction dir, double split)
 
template PLASK_API shared_ptr< OrderedAxismakeGeometryAxis (const shared_ptr< GeometryObjectD< 3 > > &geometry, Primitive< 3 >::Direction dir, double split)
 
shared_ptr< OrderedAxismakeGeometryGrid1D (const shared_ptr< GeometryD< 2 > > &geometry)
 Generate grid along edges of bounding boxes of all geometry elements.
 
shared_ptr< RectangularMesh< 2 > > makeGeometryGrid (const shared_ptr< GeometryD< 2 > > &geometry)
 Generate grid along edges of bounding boxes of all geometry elements.
 
shared_ptr< RectangularMesh< 3 > > makeGeometryGrid (const shared_ptr< GeometryD< 3 > > &geometry)
 Generate grid along edges of bounding boxes of all geometry elements.
 
shared_ptr< MeshGeneratorreadTriangleGenerator (XMLReader &reader, const Manager &)
 
template<InterpolationMethod default_method>
InterpolationMethod getInterpolationMethod (InterpolationMethod method)
 Helper utility that replaces INTERPOLATION_DEFAULT with particular method.
 
template<typename SrcMeshT , typename SrcT , typename DstT = SrcT>
LazyData< typename std::remove_const< DstT >::type > interpolate (shared_ptr< const SrcMeshT > src_mesh, DataVector< const SrcT > src_vec, shared_ptr< const MeshD< SrcMeshT::DIM > > dst_mesh, InterpolationMethod method=INTERPOLATION_DEFAULT, const InterpolationFlags &flags=InterpolationFlags(), bool verbose=true)
 Calculate (interpolate when needed) a field of some physical properties in requested points of (dst_mesh) if values of this field in points of (src_mesh) are known.
 
template<typename SrcMeshT , typename SrcT , typename DstT = SrcT, typename DstMeshT >
LazyData< typename std::remove_const< DstT >::type > interpolate (shared_ptr< SrcMeshT > src_mesh, DataVector< SrcT > src_vec, shared_ptr< DstMeshT > dst_mesh, InterpolationMethod method=INTERPOLATION_DEFAULT, const InterpolationFlags &flags=InterpolationFlags(), bool verbose=true)
 
shared_ptr< OrderedMesh1DreadRectilinearMeshAxis (XMLReader &reader)
 
shared_ptr< OrderedMesh1DreadOrderedMesh1D (XMLReader &reader)
 
shared_ptr< OrderedMesh1DreadOrderedMesh1D_obsolete (XMLReader &reader)
 
shared_ptr< RectangularMesh2Dmake_rectangular_mesh (const RectangularMesh2D &to_copy)
 Copy to_copy mesh using OrderedAxis to represent each axis in returned mesh.
 
shared_ptr< RectangularMesh2Dmake_rectangular_mesh (shared_ptr< const RectangularMesh2D > to_copy)
 
shared_ptr< RectangularMesh3Dmake_rectangular_mesh (const RectangularMesh3D &to_copy)
 Copy to_copy mesh using OrderedAxis to represent each axis in returned mesh.
 
shared_ptr< RectangularMesh3Dmake_rectangular_mesh (shared_ptr< const RectangularMesh3D > to_copy)
 
shared_ptr< MeshAxisreadMeshAxis (XMLReader &reader)
 Read 1d mesh axis from XML.
 
template<>
RectangularMeshBase2D::Boundary parseBoundary< RectangularMeshBase2D::Boundary > (const std::string &boundary_desc, plask::Manager &)
 
template<>
RectangularMeshBase2D::Boundary parseBoundary< RectangularMeshBase2D::Boundary > (XMLReader &boundary_desc, Manager &env)
 
template<>
RectangularMeshBase3D::Boundary parseBoundary< RectangularMeshBase3D::Boundary > (const std::string &boundary_desc, plask::Manager &)
 
template<>
RectangularMeshBase3D::Boundary parseBoundary< RectangularMeshBase3D::Boundary > (XMLReader &boundary_desc, Manager &env)
 
shared_ptr< RegularMesh1DreadRegularMeshAxis (XMLReader &reader)
 
shared_ptr< RegularMesh1DreadRegularMesh1D (XMLReader &reader)
 
shared_ptr< RegularMesh1DreadRegularMesh1D_obsolete (XMLReader &reader)
 
TriangularMesh2D::Segment makeSegment (std::size_t a, std::size_t b)
 
std::size_t readTriangularMesh2D_readNodeIndex (XMLReader &reader, const char *attrName, std::size_t nodes_size)
 
template PLASK_API std::set< std::size_t > TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::TOP > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template PLASK_API std::set< std::size_t > TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::LEFT > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template PLASK_API std::set< std::size_t > TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::RIGHT > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template PLASK_API std::set< std::size_t > TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::BOTTOM > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template PLASK_API std::set< std::size_t > TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::ALL > (const TriangularMesh2D::SegmentsCounts &segmentsCount) const
 
template<>
TriangularMesh2D::Boundary parseBoundary< TriangularMesh2D::Boundary > (const std::string &boundary_desc, plask::Manager &)
 
template<>
TriangularMesh2D::Boundary parseBoundary< TriangularMesh2D::Boundary > (XMLReader &boundary_desc, Manager &env)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< double, double >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< double, double >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (BarycentricTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< double, double >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >)
 
 PLASK_API_EXTERN_TEMPLATE_STRUCT (NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >)
 
template<typename T >
std::string str (T x)
 Convert something to pretty string.
 
std::string str (double x, const char *fmt="{:.9g}")
 Convert double number to pretty string.
 
std::string str (std::complex< double > x, const char *fmt="{:.9g}{:+0.9g}j", const char *rfmt=nullptr)
 Convert complex number to pretty string.
 
template<typename ContainerType , typename Reference >
Reference dereferenceByIndexOperator (ContainerType &container, std::size_t index)
 
template<typename ContainerType >
IndexedIterator< ContainerTypemakeIndexedIterator (ContainerType *c, std::size_t index)
 Get IndexedIterator for given container.
 
template<typename Functor >
FunctorIndexedIterator< FunctormakeFunctorIndexedIterator (Functor f, std::size_t index)
 Get FunctorIndexedIterator for given functor.
 
template<typename ContainerType >
ReindexedContainer< ContainerTypereindexContainer (ContainerType &originalContainer, int firstIndex=0, int delta=1)
 Helper function to create ReindexedContainer instantiation objects.
 
template<typename map_t >
map_t::mapped_type map_find (map_t &map, const typename map_t::key_type &to_find, typename map_t::mapped_type &&if_not_found=nullptr)
 Try find value in map by key and return if_not_found value if object was not found.
 
template<typename Iter , typename Val >
Iter find_nearest_using_lower_bound (Iter begin, Iter end, const Val &to_find, Iter lower_bound)
 Find position in ascending ordered, radnom access, sequence [begin, end) of floats or doubles nearest to to_find.
 
template<typename Iter , typename Val >
Iter find_nearest_binary (Iter begin, Iter end, const Val &to_find)
 Find position in ascending ordered, radnom access, sequence [begin, end) of floats or doubles nearest to to_find.
 
template<typename ForwadIterator >
std::ostream & printRange (std::ostream &out, ForwadIterator begin, ForwadIterator end, const char *separator=", ")
 Print range separating elements by separator (which is not printed after last element).
 
template<typename Tuple >
constexpr std::size_t tuple_size ()
 
template<typename Op , typename T , template< std::size_t... > class I, std::size_t... Indices>
constexpr auto apply_tuple_return_type_impl (Op &&op, T &&t, I< Indices... >) -> return_type< Op(decltype(std::get< Indices >(std::forward< T >(t)))...)>
 
template<typename Op , typename T >
constexpr auto apply_tuple_return_type (Op &&op, T &&t) -> decltype(apply_tuple_return_type_impl(op, t, make_seq_indices< 0, tuple_size< T >()>{}))
 
template<typename Ret , typename Op , typename T , template< std::size_t... > class I, std::size_t... Indices>
Ret apply_tuple (Op &&op, T &&t, I< Indices... >)
 
template<typename Op , typename Tuple >
auto apply_tuple (Op &&op, Tuple &&t) -> decltype(apply_tuple_return_type(std::forward< Op >(op), std::forward< Tuple >(t)))
 Call f using arguments from tuple.
 
std::pair< std::string, std::string > splitString2 (const std::string &to_split, char splitter)
 Split string to two parts: before spliter and after spliter.
 
std::string removedChars (const std::string &str, const std::string &chars_to_remove)
 
split_esc_tokenizer splitEscIterator (const std::string &str, char splitter, char quote_char='\'', char esc_char='\\')
 Split str to sequence of tokens.
 
std::vector< std::string > splitEsc (const std::string &str, char splitter, char quote_char='\'', char esc_char='\\')
 Split str to sequence of tokens.
 
bool isEngLower (char ch)
 
bool isEngUpper (char ch)
 
bool isEngAlpha (char ch)
 
bool isDigit (char ch)
 
bool isCid (const char *potential_id)
 Check if potential_id is valid C/C++/python name.
 
template<typename Iter >
std::ostream & print_seq (std::ostream &out, Iter begin, Iter end, const char *sep=", ")
 Print all values from sequence [begin, end) sepparating by sep.
 
template<typename Pred >
std::string filterChars (const std::string &str, Pred pred)
 Calculate copy of string str without some characters.
 
template<typename CharReplacer >
std::string replaceChars (const std::string &str, CharReplacer repl)
 Calculate copy of string str with some characters replaced by other.
 
template<typename RangeT , typename PredicateT , typename SequenceSequenceT = std::vector<std::string>>
SequenceSequenceT splitAndTrimPred (RangeT &input, PredicateT pred, boost::algorithm::token_compress_mode_type eCompress=boost::algorithm::token_compress_off)
 Split input to sequence of tokens.
 
template<typename T >
std::string type_name ()
 Get simplified type name of given type.
 
std::string exePathAndName ()
 Retrieves the fully qualified path for current program executable file.
 
std::string exePath ()
 Get path to current program executable file.
 
std::string prefixPath ()
 Get environment variable PLASK_PREFIX_PATH (should be without rearmost '/' or '\') or, if it is not set, path one step above the current program executable file.
 
std::string plaskLibPath ()
 Get path to plask library files (shared libraries).
 
std::string plaskSolversPath (const std::string &category)
 Get path to files (shared libraries) with solvers in given category.
 
std::string plaskMaterialsPath ()
 Get path to materials files (shared libraries).
 
template<>
double abs2< 2, dcomplex > (const Vec< 2, dcomplex > &v)
 
template<>
double abs2< 3, dcomplex > (const Vec< 3, dcomplex > &v)
 
template<>
double abs< 2, double > (const Vec< 2, double > &v)
 
template<typename T >
constexpr Vec< 2, T > conj (const Vec< 2, T > &v)
 Calculate vector conjugate.
 
template<typename T1 , typename T2 >
auto dot (const Vec< 2, T1 > &v1, const Vec< 2, T2 > &v2) -> decltype(v1.c0 *v2.c0)
 Compute dot product of two vectors v1 and v2.
 
template<typename T1 , typename T2 >
auto cross (const Vec< 2, T1 > &v1, const Vec< 2, T2 > &v2) -> decltype(v1.c0 *v2.c1)
 Compute (analog of 3d) cross product of two vectors v1 and v2.
 
auto dot (const Vec< 2, dcomplex > &v1, const Vec< 2, double > &v2) -> decltype(v1.c0 *v2.c0)
 Compute dot product of two vectors v1 and v2.
 
auto dot (const Vec< 2, dcomplex > &v1, const Vec< 2, dcomplex > &v2) -> decltype(v1.c0 *v2.c0)
 Compute dot product of two vectors v1 and v2.
 
template<typename T >
constexpr Vec< 2, T > vec (const T c0__tran, const T c1__up)
 Helper to create 2D vector.
 
template<typename T >
bool is_zero (const Vec< 2, T > &v)
 Check if the vector is almost zero.
 
template<typename T >
constexpr Vec< 3, T > conj (const Vec< 3, T > &v)
 Calculate vector conjugate.
 
template<typename T1 , typename T2 >
auto dot (const Vec< 3, T1 > &v1, const Vec< 3, T2 > &v2) -> decltype(v1.c0 *v2.c0)
 Compute dot product of two vectors v1 and v2.
 
auto dot (const Vec< 3, dcomplex > &v1, const Vec< 3, double > &v2) -> decltype(v1.c0 *v2.c0)
 Compute dot product of two vectors v1 and v2.
 
auto dot (const Vec< 3, dcomplex > &v1, const Vec< 3, dcomplex > &v2) -> decltype(v1.c0 *v2.c0)
 Compute dot product of two vectors v1 and v2.
 
template<typename T >
constexpr Vec< 3, T > vec (const T c0__lon, const T c1__tran, const T c2__up)
 Helper to create 3D vector.
 
template<typename T >
bool is_zero (const Vec< 3, T > &v)
 Check if the vector is almost zero.
 
template<typename T1 , typename T2 >
auto dot (const LateralVec< T1 > &v1, const LateralVec< T2 > &v2) -> decltype(v1.c0 *v2.c0)
 Compute dot product of two vectors v1 and v2.
 
template<typename T1 , typename T2 >
auto cross (const LateralVec< T1 > &v1, const LateralVec< T2 > &v2) -> decltype(v1.c0 *v2.c1)
 Compute (analog of 3d) cross product of two vectors v1 and v2.
 
template<typename T , typename OtherT >
auto operator* (const OtherT scale, const Tensor2< T > &tensor) -> decltype(tensor *scale)
 Calculate this tensor multiplied by scalar scale.
 
template<typename T >
Tensor2< T > conj (const Tensor2< T > &v)
 Calculate tensor conjugate.
 
template<typename T >
bool is_zero (const Tensor2< T > &v)
 Check if the tensor is almost zero.
 
template<typename T , typename OtherT >
auto operator* (const OtherT scale, const Tensor3< T > &tensor) -> decltype(tensor *scale)
 Calculate this tensor multiplied by scalar scale.
 
template<typename T >
Tensor3< T > conj (const Tensor3< T > &v)
 Calculate tensor conjugate.
 
template<typename T >
bool is_zero (const Tensor3< T > &v)
 Check if the tensor is almost zero.
 
template<typename T >
bool isnan (plask::Tensor3< T > tens)
 
double fermiDiracHalf (double x)
 
template<>
thermal::tstatic::Convection parseBoundaryValue< thermal::tstatic::Convection > (const XMLReader &tag_with_value)
 
template<>
thermal::tstatic::Radiation parseBoundaryValue< thermal::tstatic::Radiation > (const XMLReader &tag_with_value)
 

Variables

template struct PLASK_API Circle< 2 >
 
template struct PLASK_API Circle< 3 >
 
template struct PLASK_API Clip< 2 >
 
template struct PLASK_API Clip< 3 >
 
template struct PLASK_API GeometryObjectContainer< 2 >
 
template struct PLASK_API GeometryObjectContainer< 3 >
 
template struct PLASK_API Intersection< 2 >
 
template struct PLASK_API Intersection< 3 >
 
template struct PLASK_API ArrangeContainer< 2 >
 
template struct PLASK_API ArrangeContainer< 3 >
 
template struct PLASK_API GeometryObjectLeaf< 2 >
 
template struct PLASK_API GeometryObjectLeaf< 3 >
 
template struct PLASK_API Block< 2 >
 
template struct PLASK_API Block< 3 >
 
template struct PLASK_API Flip< 2 >
 
template struct PLASK_API Flip< 3 >
 
template struct PLASK_API Mirror< 2 >
 
template struct PLASK_API Mirror< 3 >
 
template struct PLASK_API GeometryObjectD< 2 >
 
template struct PLASK_API GeometryObjectD< 3 >
 
constexpr double POINT_TOLLERANCE = 1e-12
 
template struct PLASK_API GeometryObjectSeparator< 2 >
 
template struct PLASK_API GeometryObjectSeparator< 3 >
 
template class PLASK_API GeometryD< 2 >
 
template class PLASK_API GeometryD< 3 >
 
template struct PLASK_API SpatialIndexNode< 2 >
 
template struct PLASK_API SpatialIndexNode< 3 >
 
template struct PLASK_API StackContainer< 2 >
 
template struct PLASK_API StackContainer< 3 >
 
template class PLASK_API MultiStackContainer< StackContainer< 2 > >
 
template class PLASK_API MultiStackContainer< StackContainer< 3 > >
 
template class PLASK_API MultiStackContainer< ShelfContainer2D >
 
template struct PLASK_API Translation< 2 >
 
template struct PLASK_API Translation< 3 >
 
template struct PLASK_API TranslationContainer< 2 >
 
template struct PLASK_API TranslationContainer< 3 >
 
template struct PLASK_API BoundingBoxCache< 2 >
 
template struct PLASK_API BoundingBoxCache< 3 >
 
std::atomic< std::uint64_t > id
 
PLASK_API LogLevel maxLoglevel = LOG_DEBUG
 Maximum log level.
 
PLASK_API bool forcedLoglevel = false
 
PLASK_API shared_ptr< Loggerdefault_logger
 Pointer to the logger.
 
PLASK_API OmpNestedLock material_omp_lock
 Global Python lock.
 
constexpr double PI = M_PI
 
constexpr double E = M_E
 
constexpr double LOG2E = M_LOG2E
 
constexpr double LOG10E = M_LOG10E
 
constexpr double LN2 = M_LN2
 
constexpr double LN10 = M_LN10
 
constexpr double PI_2 = M_PI_2
 
constexpr double PI_4 = M_PI_4
 
constexpr double _1_PI = M_1_PI
 
constexpr double _2_PI = M_2_PI
 
constexpr double _2_SQRTPI = M_2_SQRTPI
 
constexpr double SQRT2 = M_SQRT2
 
constexpr double SQRT1_2 = M_SQRT1_2
 
constexpr double PI_DOUBLED = 6.28318530717958647692
 
constexpr double SMALL = std::numeric_limits<double>::epsilon()
 The numeric precision limit.
 
constexpr double SMALL2 = SMALL*SMALL
 Squared numeric precision limit.
 
template struct PLASK_API OnePointMesh< 2 >
 
template struct PLASK_API OnePointMesh< 3 >
 
template struct PLASK_API TranslatedMesh< 2 >
 
template struct PLASK_API TranslatedMesh< 3 >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< double, double >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< double, double >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< double, double >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API RectangularMeshRefinedGenerator< 1 >
 
template struct PLASK_API RectangularMeshRefinedGenerator< 2 >
 
template struct PLASK_API RectangularMeshRefinedGenerator< 3 >
 
template struct PLASK_API RectangularMeshDivideGenerator< 1 >
 
template struct PLASK_API RectangularMeshDivideGenerator< 2 >
 
template struct PLASK_API RectangularMeshDivideGenerator< 3 >
 
template struct PLASK_API RectangularMeshSmoothGenerator< 1 >
 
template struct PLASK_API RectangularMeshSmoothGenerator< 2 >
 
template struct PLASK_API RectangularMeshSmoothGenerator< 3 >
 
const charinterpolationMethodNames [__ILLEGAL_INTERPOLATION_METHOD__+1]
 
template struct PLASK_API MeshD< 1 >
 
template struct PLASK_API MeshD< 2 >
 
template struct PLASK_API MeshD< 3 >
 
template class PLASK_API MeshGeneratorD< 1 >
 
template class PLASK_API MeshGeneratorD< 2 >
 
template class PLASK_API MeshGeneratorD< 3 >
 
RegisterMeshReader rectilinearmesh1d_reader ("rectilinear1d", readOrderedMesh1D_obsolete)
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< double, double >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< double, double >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< double, double, SplineMaskedRectElement2DLazyDataImpl< double, double > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< dcomplex, dcomplex, SplineMaskedRectElement2DLazyDataImpl< dcomplex, dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double >, SplineMaskedRectElement2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double >, SplineMaskedRectElement2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor2< double >, Tensor2< double >, SplineMaskedRectElement2DLazyDataImpl< Tensor2< double >, Tensor2< double > > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor3< double >, Tensor3< double >, SplineMaskedRectElement2DLazyDataImpl< Tensor3< double >, Tensor3< double > > >
 
template struct PLASK_API HymanSplineMaskedRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< double, double, SplineMaskedRectElement3DLazyDataImpl< double, double > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< dcomplex, dcomplex, SplineMaskedRectElement3DLazyDataImpl< dcomplex, dcomplex > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double >, SplineMaskedRectElement3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double >, SplineMaskedRectElement3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor2< double >, Tensor2< double >, SplineMaskedRectElement3DLazyDataImpl< Tensor2< double >, Tensor2< double > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor3< double >, Tensor3< double >, SplineMaskedRectElement3DLazyDataImpl< Tensor3< double >, Tensor3< double > > >
 
template struct PLASK_API HymanSplineMaskedRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< double, double >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API HymanSplineRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< double, double >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API HymanSplineRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< double, double >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API SmoothSplineRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< double, double >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API SmoothSplineRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
RegisterMeshReader regularmesh_reader ("regular", readRegularMesh1D)
 
RegisterMeshReader regularmesh1d_reader ("regular1d", readRegularMesh1D_obsolete)
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< double, double >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< double, double >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API BarycentricTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< double, double >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >
 
template struct PLASK_API NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >
 
FiltersFactory::RegisterStandard< BandEdgesregisterBandEdgesFilters
 
FiltersFactory::RegisterStandard< CarriersConcentrationregisterCarriersConcentrationFilters
 
FiltersFactory::RegisterStandard< CurrentDensityregisterCurrentDensityFilters
 
FiltersFactory::RegisterStandard< PotentialregisterPotentialFilters
 
FiltersFactory::RegisterStandard< FermiLevelsregisterFermiLevels
 
FiltersFactory::RegisterStandard< VoltageregisterEnergyFilters
 
FiltersFactory::RegisterStandard< ConductivityregisterConductivityFilters
 
FiltersFactory::RegisterStandard< GainregisterGainFilters
 
FiltersFactory::RegisterStandard< RefractiveIndexregisterRefractiveIndexFilters
 
FiltersFactory::RegisterStandard< EpsilonregisterEpsilonFilters
 
FiltersFactory::RegisterStandard< TemperatureregisterTemperatureFilters
 
FiltersFactory::RegisterStandard< HeatregisterHeatFilters
 
FiltersFactory::RegisterStandard< ThermalConductivityregisterThermalConductivityFilters
 
constexpr char FILE_PATH_SEPARATOR = '/'
 
template struct PLASK_API Vec< 2, double >
 
template struct PLASK_API Vec< 2, int >
 
template struct PLASK_API Vec< 3, double >
 
template struct PLASK_API LateralVec< double >
 
template struct PLASK_API LateralVec< int >
 

Detailed Description

Patterson quadrature for complex function along specified line.

Typedef Documentation

◆ aligned_unique_ptr

template<typename T >
using plask::aligned_unique_ptr = typedef std::unique_ptr<T, aligned_deleter<T> >

Definition at line 178 of file memalloc.hpp.

◆ ConstDataSource

template<typename PropertyT , typename OutputSpaceType >
using plask::ConstDataSource = typedef ConstDataSourceImpl<PropertyT, PropertyT::propertyType, OutputSpaceType, typename PropertyT::ExtraParams>

Definition at line 386 of file base.hpp.

◆ Cuboid

Definition at line 415 of file leaf.hpp.

◆ DataFrom2Dto3DSource

template<typename PropertyT >
using plask::DataFrom2Dto3DSource = typedef DataFrom2Dto3DSourceImpl<PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams>

Source of data in 3D space which read it from inner 2D space (Extrusion).

Definition at line 237 of file change_space_size.hpp.

◆ DataFrom3Dto2DSource

template<typename PropertyT >
using plask::DataFrom3Dto2DSource = typedef DataFrom3Dto2DSourceImpl<PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams>

Source of data in 2D space which read, and averages data from outer 3D space.

Definition at line 115 of file change_space_size.hpp.

◆ DataFrom3DtoCyl2DSource

template<typename PropertyT >
using plask::DataFrom3DtoCyl2DSource = typedef DataFrom3DtoCyl2DSourceImpl<PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams>

Source of data in 2D space which read, and averages data from outer 3D space.

Definition at line 96 of file change_space_size_cyl.hpp.

◆ DataFromCyl2Dto3DSource

template<typename PropertyT >
using plask::DataFromCyl2Dto3DSource = typedef DataFromCyl2Dto3DSourceImpl<PropertyT, PropertyT::propertyType, typename PropertyT::ExtraParams>

Source of data in 3D space which read it from inner 2D cylindrical space (Revolution).

Definition at line 265 of file change_space_size_cyl.hpp.

◆ DataSource

template<typename PropertyT , typename OutputSpaceType >
using plask::DataSource = typedef DataSourceImpl<PropertyT, PropertyT::propertyType, OutputSpaceType, typename PropertyT::ExtraParams>

Definition at line 162 of file base.hpp.

◆ DiffBoundary

Boundary which represents difference of boundaries.

Definition at line 714 of file boundary.hpp.

◆ Edge

typedef std::pair< shared_ptr<GeometryObject>, shared_ptr<GeometryObject> > plask::Edge

Definition at line 27 of file path.hpp.

◆ Filter

template<typename PropertyT , typename OutputSpaceType >
using plask::Filter = typedef FilterImpl<PropertyT, OutputSpaceType>

Filter is a special kind of Solver which "solves" the problem using another Solvers.

It calculates its output using input of similar type and changing it in some way, for example translating it from one space to another (2D -> 3D, 3D -> 2D, etc.).

Typically filter has one or more inputs (input receiver) and one output (output provider).

Template Parameters
PropertyTproperty which has type FIELD_PROPERTY
OutputSpaceTypespace of out provider included in this filter

Definition at line 763 of file filter.hpp.

◆ FilterBase

template<typename PropertyT , typename OutputSpaceType >
using plask::FilterBase = typedef FilterBaseImpl<PropertyT, PropertyT::propertyType, OutputSpaceType, typename PropertyT::ExtraParams>

Base class for filters which recalculate field from one space to another (OutputSpaceType).

Template Parameters
PropertyTproperty which has type FIELD_PROPERTY
OutputSpaceTypespace of out provider included in this filter

Definition at line 475 of file filter.hpp.

◆ IntersectionBoundary

Boundary which represents intersection of boundaries.

Definition at line 717 of file boundary.hpp.

◆ make_seq_indices

template<std::size_t Begin, std::size_t End>
using plask::make_seq_indices = typedef typename make_seq_indices_impl<Begin, End, indices<> >::type

Definition at line 166 of file stl.hpp.

◆ MultiScalarFieldProperty

Helper class which makes it easier to define property tags classes for multiple scalar fields (fields of doubles).

Property tag class can be subclass of this, but never should be typedefs to this (tag class for each property must be a separate class — always use different types for different properties).

Definition at line 422 of file providerfor.hpp.

◆ OFStream

Definition at line 47 of file writer.cpp.

◆ openmp_size_t

type similar to std::size_t which can be used in for loop with current version of OpenMP

Definition at line 31 of file openmp.hpp.

◆ OrderedMesh1D

◆ OStreamRef

Definition at line 46 of file writer.cpp.

◆ PropertyAtDim

template<typename PropertyTag , int dim>
using plask::PropertyAtDim = typedef PropertyAtDimImpl<PropertyTag, dim, PropertyTag::hasUniqueValueType>

Definition at line 218 of file providerfor.hpp.

◆ Rectangle

Definition at line 414 of file leaf.hpp.

◆ RectangularMaskedMesh

template<int DIM>
using plask::RectangularMaskedMesh = typedef typename std::conditional< DIM == 2, RectangularMaskedMesh2D, typename std::conditional<DIM == 3, RectangularMaskedMesh3D, void>::type >::type

Definition at line 25 of file rectangular_masked.hpp.

◆ RectangularMesh

template<int DIM>
using plask::RectangularMesh = typedef typename std::conditional< DIM == 2, RectangularMesh2D, typename std::conditional<DIM == 3, RectangularMesh3D, void>::type >::type

Definition at line 27 of file rectangular.hpp.

◆ RectangularMeshBase

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

Definition at line 1237 of file rectangular_common.hpp.

◆ RegularMesh1D

◆ return_type

template<typename F >
using plask::return_type = typedef typename std::result_of<F>::type

Definition at line 172 of file stl.hpp.

◆ RtreeOfTriangularMesh2DNodes

typedef boost::geometry::index::rtree< std::size_t, boost::geometry::index::quadratic<16>, TriangularMesh2DGetterForRtree > plask::RtreeOfTriangularMesh2DNodes

Boost rtree that holds nodes of TriangularMesh2D.

Definition at line 771 of file triangular2d.hpp.

◆ ScalarFieldProperty

Helper class which makes it easier to define property tags classes for scalar fields (fields of doubles).

Property tag class can be subclass of this, but never should be typedefs to this (tag class for each property must be a separate class — always use different types for different properties).

Definition at line 414 of file providerfor.hpp.

◆ SolidOrGradientMaterial

Any of the allowed material types.

Definition at line 74 of file object.hpp.

◆ solver_construct_f

typedef Solver * plask::solver_construct_f(const std::string &name)

Definition at line 667 of file solver.hpp.

◆ split_esc_tokenizer

typedef boost::tokenizer< boost::escaped_list_separator<char> > plask::split_esc_tokenizer

Definition at line 140 of file string.hpp.

◆ StackContainerChildAligner

template<int dim>
using plask::StackContainerChildAligner = typedef typename chooseType<dim-2, align::Aligner<Primitive<3>::DIRECTION_TRAN>, align::Aligner<Primitive<3>::DIRECTION_LONG, Primitive<3>::DIRECTION_TRAN> >::type

Definition at line 347 of file stack.hpp.

◆ TranslatedInnerDataSource

template<typename PropertyT , typename SpaceType >
using plask::TranslatedInnerDataSource = typedef TranslatedInnerDataSourceImpl<PropertyT, PropertyT::propertyType, SpaceType, typename PropertyT::ExtraParams>

Source of data in space SpaceType space which read it from inner space of same type.

Definition at line 134 of file translation.hpp.

◆ TranslatedOuterDataSource

template<typename PropertyT , typename SpaceType >
using plask::TranslatedOuterDataSource = typedef TranslatedOuterDataSourceImpl<PropertyT, PropertyT::propertyType, SpaceType, typename PropertyT::ExtraParams>

Source of data in space SpaceType space which read it from outer space of same type.

Definition at line 179 of file translation.hpp.

◆ UnionBoundary

Boundary which represents union of boundaries.

Definition at line 711 of file boundary.hpp.

◆ XMLElement

Easier access to XML element type.

Definition at line 386 of file writer.hpp.

Enumeration Type Documentation

◆ EmptyElementsHandling

Enumerator
EMPTY_ELEMENTS_DEFAULT 

Use default handling (exclude for Cholesky, include for iterative)

EMPTY_ELEMENTS_EXCLUDED 

Exclude empty elements from matrix.

EMPTY_ELEMENTS_INCLUDED 

Include empty elements in matrix.

Definition at line 139 of file fem_solver.hpp.

◆ FemMatrixAlgorithm

Choice of matrix factorization algorithms.

Enumerator
ALGORITHM_CHOLESKY 

Cholesky factorization.

ALGORITHM_GAUSS 

Gauss elimination of asymmetric matrix (slower but safer as it uses pivoting)

ALGORITHM_ITERATIVE 

Conjugate gradient iterative solver.

Definition at line 25 of file fem_solver.hpp.

◆ InterpolationMethod

Supported interpolation methods.

See also
About interpolation
Enumerator
INTERPOLATION_DEFAULT 

Default interpolation (depends on source mesh)

INTERPOLATION_NEAREST 

Nearest neighbor interpolation.

INTERPOLATION_LINEAR 

Linear interpolation.

INTERPOLATION_SPLINE 

Spline interpolation with parabolic derivatives and Hyman monotonic filter.

INTERPOLATION_SMOOTH_SPLINE 

Spline interpolation with continuous second derivatives.

INTERPOLATION_PERIODIC_SPLINE 

Spline interpolation with continuous second derivatives and periodic edges (1D only)

INTERPOLATION_FOURIER 

Fourier transform interpolation.

__ILLEGAL_INTERPOLATION_METHOD__ 

Definition at line 100 of file interpolation.hpp.

◆ LogLevel

Enumerator
LOG_CRITICAL_ERROR 

Exceptions and errors unconditionally interrupting program flow.

LOG_ERROR 

Non-critical errors (e.g. failed convergence etc.), user can decide if the program should continue.

LOG_ERROR_DETAIL 

Details of an error (e.g. stack trace)

LOG_WARNING 

Warning.

LOG_IMPORTANT 

Important messages.

LOG_INFO 

Basic log level, gives general information on the program flow.

LOG_RESULT 

Single value results (also provided with provider mechanism) for easy tracking.

LOG_DATA 

Intermediate data/results, mainly for presentation in live plots.

LOG_DETAIL 

Less important details on computations (i.e. recomputations of Jacobian in Broyden method)

LOG_DEBUG 

Pretty much everything.

Definition at line 27 of file log.hpp.

◆ PropertyType

Type of properties.

See also
Providers and receivers
Enumerator
SINGLE_VALUE_PROPERTY 

Single value property.

MULTI_VALUE_PROPERTY 

Multiple values property.

FIELD_PROPERTY 

Property for field which can be interpolated.

MULTI_FIELD_PROPERTY 

Property for multiple fields which can be interpolated.

Definition at line 34 of file providerfor.hpp.

Function Documentation

◆ abs2()

double plask::abs2 ( const dcomplex &  x)
inline

Definition at line 231 of file math.hpp.

◆ abs2< 2, dcomplex >()

template<>
double plask::abs2< 2, dcomplex > ( const Vec< 2, dcomplex > &  v)
inline

Definition at line 33 of file vec.hpp.

◆ abs2< 3, dcomplex >()

template<>
double plask::abs2< 3, dcomplex > ( const Vec< 3, dcomplex > &  v)
inline

Definition at line 36 of file vec.hpp.

◆ abs< 2, double >()

template<>
double plask::abs< 2, double > ( const Vec< 2, double > &  v)
inline

Definition at line 61 of file vec.hpp.

◆ aligned_delete()

template<typename T >
void plask::aligned_delete ( T *  ptr)
inline

Delete object with aligned allocation.

Parameters
ptrpointer of object to delete
Template Parameters
Tobject type

Definition at line 199 of file memalloc.hpp.

◆ aligned_delete_array()

template<typename T >
void plask::aligned_delete_array ( std::size_t  num,
T *  ptr 
)
inline

Delete array with aligned allocation.

Parameters
ptrpointer of object to delete
numnumber of array elements
Template Parameters
Tobject type

Definition at line 224 of file memalloc.hpp.

◆ aligned_free() [1/2]

template<typename T >
void plask::aligned_free ( T *  ptr)
inline

Delete data with aligned allocation.

Parameters
ptrpointer of object to delete
Template Parameters
Tobject type

Definition at line 153 of file memalloc.hpp.

◆ aligned_free() [2/2]

void plask::aligned_free ( void ptr)
inline

Free memory allocated with aligned_malloc.

Parameters
ptrpointer to free

Definition at line 101 of file memalloc.hpp.

◆ aligned_malloc() [1/2]

template<typename T >
T * plask::aligned_malloc ( std::size_t  num = 1)
inline

Create new data with aligned allocation.

Template Parameters
Tobject type
Parameters
numnumber of array elements
Returns
pointer to reserved memory

Definition at line 142 of file memalloc.hpp.

◆ aligned_malloc() [2/2]

void * plask::aligned_malloc ( std::size_t  size)
inline

Allocate size bytes.

The returned pointer is guaranteed to have 16 bytes alignment.

Parameters
sizenumber of bytes to allocate
Exceptions
std::bad_allocon allocation failure

Definition at line 83 of file memalloc.hpp.

◆ aligned_new()

template<typename T , typename... Args>
T * plask::aligned_new ( Args &&...  args)
inline

Create new object with aligned allocation.

Template Parameters
Tobject type
Parameters
argsarguments forwarded to object constructor
Returns
pointer to reserved memory

Definition at line 187 of file memalloc.hpp.

◆ aligned_new_array()

template<typename T , typename... Args>
T * plask::aligned_new_array ( std::size_t  num,
Args &&...  args 
)
inline

Create new array with aligned allocation.

Template Parameters
Tobject type
Parameters
numnumber of array elements
argsarguments forwarded to object constructor

Definition at line 211 of file memalloc.hpp.

◆ aligned_realloc()

void * plask::aligned_realloc ( void ptr,
std::size_t  new_size,
std::size_t  old_size = 0 
)
inline

Reallocate an aligned block of memory.

Parameters
ptrpointer to reallocate
new_sizenew size
old_sizeold size
Exceptions
std::bad_allocon allocation failure

Definition at line 120 of file memalloc.hpp.

◆ alloyDbKey() [1/4]

std::string plask::alloyDbKey ( const Material::Composition composition,
const std::string &  label,
const std::string &  dopant_name 
)

Definition at line 83 of file db.cpp.

◆ alloyDbKey() [2/4]

std::string plask::alloyDbKey ( const std::string &  fullAlloyName)

Definition at line 100 of file db.cpp.

◆ alloyDbKey() [3/4]

std::string plask::alloyDbKey ( const std::string &  name,
const std::string &  label,
const std::string &  dopant_name 
)

Definition at line 96 of file db.cpp.

◆ alloyDbKey() [4/4]

std::string plask::alloyDbKey ( std::vector< std::string >  elNames,
const std::string &  label,
const std::string &  dopant_name 
)

Definition at line 89 of file db.cpp.

◆ appendDopant()

std::string & plask::appendDopant ( std::string &  name,
const std::string &  dopant_name 
)

Definition at line 71 of file db.cpp.

◆ appendLabel()

std::string & plask::appendLabel ( std::string &  name,
const std::string &  label 
)

Definition at line 75 of file db.cpp.

◆ appendLabelDopant()

std::string & plask::appendLabelDopant ( std::string &  name,
const std::string &  label,
const std::string &  dopant_name 
)

Definition at line 79 of file db.cpp.

◆ appendPart()

std::string & plask::appendPart ( std::string &  name,
const std::string &  part_value,
char  separator 
)

Definition at line 62 of file db.cpp.

◆ apply_tuple() [1/2]

template<typename Ret , typename Op , typename T , template< std::size_t... > class I, std::size_t... Indices>
Ret plask::apply_tuple ( Op &&  op,
T &&  t,
I< Indices... >   
)
inline

Definition at line 207 of file stl.hpp.

◆ apply_tuple() [2/2]

template<typename Op , typename Tuple >
auto plask::apply_tuple ( Op &&  op,
Tuple &&  t 
) -> decltype(apply_tuple_return_type( std::forward<Op>(op), std::forward<Tuple>(t) ))
inline

Call f using arguments from tuple.

Parameters
opfunctor to call
ttuple which contains all f arguments
Returns
result returned by f

Definition at line 219 of file stl.hpp.

◆ apply_tuple_return_type()

template<typename Op , typename T >
constexpr auto plask::apply_tuple_return_type ( Op &&  op,
T &&  t 
) -> decltype(apply_tuple_return_type_impl(op, t, make_seq_indices< 0, tuple_size< T >()>{}))
constexpr

◆ apply_tuple_return_type_impl()

template<typename Op , typename T , template< std::size_t... > class I, std::size_t... Indices>
constexpr auto plask::apply_tuple_return_type_impl ( Op &&  op,
T &&  t,
I< Indices... >   
) -> return_type< Op(decltype(std::get< Indices >(std::forward< T >(t)))...)>
constexpr

◆ average()

template<class T >
T plask::average ( const DataVector< T > &  v)

Compute data arithmetic mean.

Parameters
vsource data

Definition at line 818 of file data.hpp.

◆ buildCacheR()

template<int DIMS>
SpatialIndexNode< DIMS > * plask::buildCacheR ( std::vector< GeometryObjectBBox< DIMS > > *  input,
int  max_depth = 16 
)
inline

Build cache.

Parameters
input1 + DIMS * 2 vectors sorted by:
  • 0 - in original order,
  • dir*2 + 1 (for dim = 0 ... DIMS-1) - sorted by lower bound of bounding box in direction dir,
  • dir*2 + 2 (for dim = 0 ... DIMS-1) - sorted by upper bound of bounding box in direction dir. Warning: this function change (destroy) inputs vectors.
max_depthmaximum depth
Returns
constructed cache

Definition at line 230 of file spatial_index.cpp.

◆ buildSpatialIndex() [1/3]

template PLASK_API std::unique_ptr< SpatialIndexNode< 2 > > plask::buildSpatialIndex ( const std::vector< shared_ptr< Translation< 2 > > > &  children)

◆ buildSpatialIndex() [2/3]

template PLASK_API std::unique_ptr< SpatialIndexNode< 3 > > plask::buildSpatialIndex ( const std::vector< shared_ptr< Translation< 3 > > > &  children)

◆ buildSpatialIndex() [3/3]

template<int DIMS>
std::unique_ptr< SpatialIndexNode< DIMS > > plask::buildSpatialIndex ( const std::vector< shared_ptr< Translation< DIMS > > > &  children)

Build spatial index.

The index prevent reverse order of children in case of material searching.

Parameters
childrenvector of geometry object for which index should be build
Returns
constructed index

Definition at line 251 of file spatial_index.cpp.

◆ calcOptimalSplitOffset()

template<int DIMS>
void plask::calcOptimalSplitOffset ( const std::vector< GeometryObjectBBox< DIMS > > &  inputSortedByLo,
const std::vector< GeometryObjectBBox< DIMS > > &  inputSortedByHi,
int  inputDir,
int bestDir,
double bestOffset,
int bestValue 
)

Calculate optimal splitting offset in given direction.

Parameters
inputSortedByLo,inputSortedByHiinput vector sorted by lo and hi boxes coordinates (in inputDir)
inputDirsearched direction
bestDir,bestOffset,bestValueparameters of earlier best point, eventually changed

Definition at line 188 of file spatial_index.cpp.

◆ changeToBlock()

PLASK_API shared_ptr< GeometryObject > plask::changeToBlock ( const SolidOrGradientMaterial material,
const shared_ptr< const GeometryObject > &  to_change,
Vec< 3, double > &  translation,
bool  draft = false 
)

Construct Block with the same dimenstion as bounding box of to_change.

Parameters
materialmaterial of the constructed Block
to_changegeometry object
translation[out]set to position (lower corner) of to_change bounding box
draftshould draft graded material be created?
Returns
Block<to_change->getDimensionsCount()> object

Definition at line 302 of file leaf.cpp.

◆ checkCompositionSimilarity()

void plask::checkCompositionSimilarity ( const Material::Composition material1composition,
const Material::Composition material2composition 
)

Definition at line 26 of file db.cpp.

◆ clamp()

template<typename T >
const T & plask::clamp ( const T &  v,
const T &  min,
const T &  max 
)

Clamp value to given range.

Parameters
vvalue to clamp
min,maxminimal and maximal value which can be returned
Returns
min if v < min, max if v > max, v in another cases

Definition at line 242 of file math.hpp.

◆ conj() [1/7]

template<typename T >
Tensor2< T > plask::conj ( const Tensor2< T > &  v)
inline

Calculate tensor conjugate.

Parameters
va tensor
Returns
conjugate tensor

Definition at line 276 of file tensor2.hpp.

◆ conj() [2/7]

template<typename T >
Tensor3< T > plask::conj ( const Tensor3< T > &  v)
inline

Calculate tensor conjugate.

Parameters
va tensor
Returns
conjugate tensor

Definition at line 463 of file tensor3.hpp.

◆ conj() [3/7]

template<typename T >
constexpr Vec< 2, T > plask::conj ( const Vec< 2, T > &  v)
inlineconstexpr

Calculate vector conjugate.

Parameters
va vector
Returns
conjugate vector

Definition at line 400 of file 2d.hpp.

◆ conj() [4/7]

template<typename T >
constexpr Vec< 3, T > plask::conj ( const Vec< 3, T > &  v)
inlineconstexpr

Calculate vector conjugate.

Parameters
va vector
Returns
conjugate vector

Definition at line 427 of file 3d.hpp.

◆ conj() [5/7]

double plask::conj ( double  x)
inline

Definition at line 178 of file math.hpp.

◆ conj() [6/7]

float plask::conj ( float  x)
inline

Definition at line 179 of file math.hpp.

◆ conj() [7/7]

long double plask::conj ( long double  x)
inline

Definition at line 177 of file math.hpp.

◆ constructInternalNode() [1/2]

SpatialIndexNode< 2 > * plask::constructInternalNode ( int  dir,
const double offset,
SpatialIndexNode< 2 > *  lo,
SpatialIndexNode< 2 > *  hi 
)
inline

Definition at line 156 of file spatial_index.cpp.

◆ constructInternalNode() [2/2]

SpatialIndexNode< 3 > * plask::constructInternalNode ( int  dir,
const double offset,
SpatialIndexNode< 3 > *  lo,
SpatialIndexNode< 3 > *  hi 
)
inline

Definition at line 163 of file spatial_index.cpp.

◆ createDefaultLogger()

PLASK_API void plask::createDefaultLogger ( )

Create default logger.

Definition at line 219 of file log.cpp.

◆ cross() [1/2]

template<typename T1 , typename T2 >
auto plask::cross ( const LateralVec< T1 > &  v1,
const LateralVec< T2 > &  v2 
) -> decltype(v1.c0*v2.c1)
inline

Compute (analog of 3d) cross product of two vectors v1 and v2.

Parameters
v1,v2vectors
Returns
(analog of 3d) cross product of v1 and v2

Definition at line 351 of file lateral.hpp.

◆ cross() [2/2]

template<typename T1 , typename T2 >
auto plask::cross ( const Vec< 2, T1 > &  v1,
const Vec< 2, T2 > &  v2 
) -> decltype(v1.c0*v2.c1)
inline

Compute (analog of 3d) cross product of two vectors v1 and v2.

Parameters
v1,v2vectors
Returns
(analog of 3d) cross product of v1 and v2

Definition at line 419 of file 2d.hpp.

◆ dbKey()

std::string plask::dbKey ( const Material::Parameters parameters)

Definition at line 106 of file db.cpp.

◆ dbl_compare_eq()

bool plask::dbl_compare_eq ( double  x,
double  y 
)
inline

Check if two doubles are equals.

It differs from standard == operator in case of comparing NaN-s: dbl_compare_eq(NaN, NaN) is true.

Parameters
x,ynumbers to compare
Returns
true only if x equals to y

Definition at line 302 of file math.hpp.

◆ dbl_compare_gt()

bool plask::dbl_compare_gt ( double  x,
double  y 
)
inline

Check if x is greater than y.

It differs from standard > operator in case of comparing NaN-s: NaN is greater than all other numbers. It is fine to use this to sort doubles or store doubles in standard containers (which is not true in case of standard > operator).

Parameters
x,ynumbers to compare
Returns
true only if x is greater than y

Definition at line 328 of file math.hpp.

◆ dbl_compare_gteq()

bool plask::dbl_compare_gteq ( double  x,
double  y 
)
inline

Check if x is greater or equals to y.

It differs from standard <= operator in case of comparing NaN-s: NaN is greater than all other numbers.

Parameters
x,ynumbers to compare
Returns
true only if x is greater or equals to y.

Definition at line 346 of file math.hpp.

◆ dbl_compare_lt()

bool plask::dbl_compare_lt ( double  x,
double  y 
)
inline

Check if x is less than y.

It differs from standard < operator in case of comparing NaN-s: NaN is greater than all other numbers. It is fine to use this to sort doubles or store doubles in standard containers (which is not true in case of standard < operator).

Parameters
x,ynumbers to compare
Returns
true only if x is less than y

Definition at line 315 of file math.hpp.

◆ dbl_compare_lteq()

bool plask::dbl_compare_lteq ( double  x,
double  y 
)
inline

Check if x is less or equals to y.

It differs from standard >= operator in case of comparing NaN-s: NaN is greater than all other numbers.

Parameters
x,ynumbers to compare
Returns
true only if x is less or equals to y.

Definition at line 337 of file math.hpp.

◆ dereferenceByIndexOperator()

Reference plask::dereferenceByIndexOperator ( ContainerType container,
std::size_t  index 
)
inline

Definition at line 220 of file iterators.hpp.

◆ direction3D() [1/2]

constexpr Primitive< 3 >::Direction plask::direction3D ( Primitive< 2 >::Direction  dir2D)
inlineconstexpr

Definition at line 848 of file primitives.hpp.

◆ direction3D() [2/2]

constexpr Primitive< 3 >::Direction plask::direction3D ( Primitive< 3 >::Direction  dir3D)
inlineconstexpr

Definition at line 852 of file primitives.hpp.

◆ dot() [1/7]

template<typename T1 , typename T2 >
auto plask::dot ( const LateralVec< T1 > &  v1,
const LateralVec< T2 > &  v2 
) -> decltype(v1.c0*v2.c0)
inline

Compute dot product of two vectors v1 and v2.

Parameters
v1first vector
v2second vector
Returns
dot product v1·v2

Definition at line 341 of file lateral.hpp.

◆ dot() [2/7]

auto plask::dot ( const Vec< 2, dcomplex > &  v1,
const Vec< 2, dcomplex > &  v2 
) -> decltype(v1.c0*v2.c0)
inline

Compute dot product of two vectors v1 and v2.

Parameters
v1first vector
v2second vector
Returns
dot product v1·v2

Definition at line 441 of file 2d.hpp.

◆ dot() [3/7]

auto plask::dot ( const Vec< 2, dcomplex > &  v1,
const Vec< 2, double > &  v2 
) -> decltype(v1.c0*v2.c0)
inline

Compute dot product of two vectors v1 and v2.

Parameters
v1first vector
v2second vector
Returns
dot product v1·v2

Definition at line 430 of file 2d.hpp.

◆ dot() [4/7]

template<typename T1 , typename T2 >
auto plask::dot ( const Vec< 2, T1 > &  v1,
const Vec< 2, T2 > &  v2 
) -> decltype(v1.c0*v2.c0)
inline

Compute dot product of two vectors v1 and v2.

Parameters
v1first vector
v2second vector
Returns
dot product v1·v2

Definition at line 409 of file 2d.hpp.

◆ dot() [5/7]

auto plask::dot ( const Vec< 3, dcomplex > &  v1,
const Vec< 3, dcomplex > &  v2 
) -> decltype(v1.c0*v2.c0)
inline

Compute dot product of two vectors v1 and v2.

Parameters
v1first vector
v2second vector
Returns
dot product v1·v2

Definition at line 458 of file 3d.hpp.

◆ dot() [6/7]

auto plask::dot ( const Vec< 3, dcomplex > &  v1,
const Vec< 3, double > &  v2 
) -> decltype(v1.c0*v2.c0)
inline

Compute dot product of two vectors v1 and v2.

Parameters
v1first vector
v2second vector
Returns
dot product v1·v2

Definition at line 447 of file 3d.hpp.

◆ dot() [7/7]

template<typename T1 , typename T2 >
auto plask::dot ( const Vec< 3, T1 > &  v1,
const Vec< 3, T2 > &  v2 
) -> decltype(v1.c0*v2.c0)
inline

Compute dot product of two vectors v1 and v2.

Parameters
v1first vector
v2second vector
Returns
dot product v1·v2

Definition at line 436 of file 3d.hpp.

◆ elementGroup()

int plask::elementGroup ( const std::string &  objectName)

Get group in periodic table of given object.

Parameters
objectNamename of object
Returns
group of object with given name objectName or 0 if given object is not known

Definition at line 29 of file material.cpp.

◆ exePath()

PLASK_API std::string plask::exePath ( )

Get path to current program executable file.

Returns
path to program executable

Definition at line 65 of file system.cpp.

◆ exePathAndName()

PLASK_API std::string plask::exePathAndName ( )

Retrieves the fully qualified path for current program executable file.

Returns
program executable name with path

Definition at line 35 of file system.cpp.

◆ fermiDiracHalf()

double plask::fermiDiracHalf ( double  x)

Definition at line 255 of file fd.cpp.

◆ fillGroupMaterialCompositionAmounts()

void plask::fillGroupMaterialCompositionAmounts ( NameValuePairIter  begin,
NameValuePairIter  end,
int  group_nr 
)
inline

Definition at line 41 of file material.cpp.

◆ filterChars()

template<typename Pred >
std::string plask::filterChars ( const std::string &  str,
Pred  pred 
)

Calculate copy of string str without some characters.

Parameters
strstring to filter
predpredictad which return true for chars which should stay, and false for char which should be removed
Returns
copy of str which contains only chars for which Pred is true
Template Parameters
Predfunctor which take one argument (char) and return bool

Definition at line 97 of file string.hpp.

◆ find_nearest_binary()

template<typename Iter , typename Val >
Iter plask::find_nearest_binary ( Iter  begin,
Iter  end,
const Val to_find 
)
inline

Find position in ascending ordered, radnom access, sequence [begin, end) of floats or doubles nearest to to_find.

Parameters
begin,endordered, radnom access, sequence [begin, end), can't be empty
to_findvalue to which nearest one should be found
Returns
first position pos for which abs(*pos-to_find) is minimal

Definition at line 78 of file stl.hpp.

◆ find_nearest_using_lower_bound()

template<typename Iter , typename Val >
Iter plask::find_nearest_using_lower_bound ( Iter  begin,
Iter  end,
const Val to_find,
Iter  lower_bound 
)
inline

Find position in ascending ordered, radnom access, sequence [begin, end) of floats or doubles nearest to to_find.

Parameters
begin,endordered, radnom access, sequence [begin, end), can't be empty
to_findvalue to which nearest one should be found
lower_boundmust be equal to std::lower_bound(begin, end, to_find)
Returns
first position pos for which abs(*pos-to_find) is minimal

Definition at line 60 of file stl.hpp.

◆ fma() [1/4]

double plask::fma ( double  to_mult_1,
double  to_mult_2,
double  to_sum 
)
inline

Definition at line 274 of file math.hpp.

◆ fma() [2/4]

float plask::fma ( float  to_mult_1,
float  to_mult_2,
float  to_sum 
)
inline

Definition at line 270 of file math.hpp.

◆ fma() [3/4]

long double plask::fma ( long double  to_mult_1,
long double  to_mult_2,
long double  to_sum 
)
inline

Definition at line 278 of file math.hpp.

◆ fma() [4/4]

template<typename T1 , typename T2 , typename T3 >
auto plask::fma ( T1  to_mult_1,
T2  to_mult_2,
T3  to_sum 
) -> decltype(to_mult_1*to_mult_2+to_sum)
inline

Wrapper over std::fma witch works for all types.

For float, double and long double it calls std::fma, and for rest it just calculates to_mult_1 * to_mult_2 + to_sum.

Parameters
to_mult_1,to_mult_2,to_sum
Returns
result of to_mult_1 * to_mult_2 + to_sum, typically with better precision

Definition at line 266 of file math.hpp.

◆ from_longTran_vert()

Vec< 3, double > plask::from_longTran_vert ( const Vec< 2, double > &  longTran,
const double vert 
)
inline

Definition at line 23 of file extruded_triangular3d.cpp.

◆ getAmountEnd()

const char * plask::getAmountEnd ( const char begin,
const char end 
)

Definition at line 311 of file material.cpp.

◆ getInterpolationMethod()

template<InterpolationMethod default_method>
InterpolationMethod plask::getInterpolationMethod ( InterpolationMethod  method)
inline

Helper utility that replaces INTERPOLATION_DEFAULT with particular method.

Definition at line 120 of file interpolation.hpp.

◆ getObjectEnd()

const char * plask::getObjectEnd ( const char begin,
const char end 
)

Definition at line 305 of file material.cpp.

◆ getUnique() [1/2]

template<typename T >
shared_ptr< T > plask::getUnique ( const shared_ptr< const T > &  ptr)
inline

Copy ptr data if is not the only shared_ptr instance managing the current object, i.e.

whether ptr.unique() is false (ptr.use_count() != 1).

Parameters
ptrshared pointer
Returns
ptr if ptr.unique() is true (ptr.use_count() == 1) or shared_ptr with copy of object managing by ptr if ptr.unique() is false
Template Parameters
Ttype of object managing by ptr, must have copy constructor

Definition at line 184 of file memory.hpp.

◆ getUnique() [2/2]

template<typename T >
shared_ptr< T > plask::getUnique ( const shared_ptr< T > &  ptr)
inline

Copy ptr data if is not the only shared_ptr instance managing the current object, i.e.

whether ptr.unique() is false (ptr.use_count() != 1).

Parameters
ptrshared pointer
Returns
ptr if ptr.unique() is true (ptr.use_count() == 1) or shared_ptr with copy of object managing by ptr if ptr.unique() is false
Template Parameters
Ttype of object managing by ptr, must have copy constructor

Definition at line 173 of file memory.hpp.

◆ getUniqueNumber()

PLASK_API std::uint64_t plask::getUniqueNumber ( )

Get unique number.

This function is threads-safe.

Returns
unique number

Definition at line 24 of file id.cpp.

◆ getUniqueString()

PLASK_API std::string plask::getUniqueString ( )

Get unique string.

This function is threads-safe.

Returns
lexical_cast<std::string>(getUniqueNumber())

Definition at line 28 of file id.cpp.

◆ host_name()

PLASK_API std::string plask::host_name ( )

Definition at line 46 of file log.cpp.

◆ in_range()

template<typename T >
bool plask::in_range ( const T &  v,
const T &  beg,
const T &  end 
)

Check if value v is in given range [beg, end).

Parameters
vvalue to check
beg,endends of range [beg, end)
Returns
true only if beg <= v && v < end

Definition at line 255 of file math.hpp.

◆ inPlaceSplit()

template<int DIMS>
void plask::inPlaceSplit ( std::vector< GeometryObjectBBox< DIMS > > &  inputAndLo,
std::vector< GeometryObjectBBox< DIMS > > &  hi,
int  dir,
double  offset 
)

Definition at line 172 of file spatial_index.cpp.

◆ interpolate() [1/2]

template<typename SrcMeshT , typename SrcT , typename DstT = SrcT>
LazyData< typename std::remove_const< DstT >::type > plask::interpolate ( shared_ptr< const SrcMeshT src_mesh,
DataVector< const SrcT src_vec,
shared_ptr< const MeshD< SrcMeshT::DIM > >  dst_mesh,
InterpolationMethod  method = INTERPOLATION_DEFAULT,
const InterpolationFlags flags = InterpolationFlags(),
bool  verbose = true 
)

Calculate (interpolate when needed) a field of some physical properties in requested points of (dst_mesh) if values of this field in points of (src_mesh) are known.

Parameters
src_meshset of points in which fields values are known
src_vecthe vector of known field values in points described by sec_mesh
dst_meshrequested set of points, in which the field values should be calculated (interpolated)
methodinterpolation method to use
verboseif true, the log message is written
Returns
vector of the field values in points described by dst_mesh, can be equal to src_vec if src_mesh and dst_mesh are the same mesh
Exceptions
NotImplementedif given interpolation method is not implemented for used source mesh type
CriticalExceptionif given interpolation method is not valid
See also
About interpolation

Definition at line 366 of file interpolation.hpp.

◆ interpolate() [2/2]

LazyData< typename std::remove_const< DstT >::type > plask::interpolate ( shared_ptr< SrcMeshT src_mesh,
DataVector< SrcT src_vec,
shared_ptr< DstMeshT dst_mesh,
InterpolationMethod  method = INTERPOLATION_DEFAULT,
const InterpolationFlags flags = InterpolationFlags(),
bool  verbose = true 
)

Definition at line 382 of file interpolation.hpp.

◆ is_zero() [1/6]

template<typename T >
bool plask::is_zero ( const Tensor2< T > &  v)
inline

Check if the tensor is almost zero.

Parameters
vtensor to verify

Definition at line 290 of file tensor2.hpp.

◆ is_zero() [2/6]

template<typename T >
bool plask::is_zero ( const Tensor3< T > &  v)
inline

Check if the tensor is almost zero.

Parameters
vtensor to verify

Definition at line 480 of file tensor3.hpp.

◆ is_zero() [3/6]

template<typename T >
bool plask::is_zero ( const Vec< 2, T > &  v)
inline

Check if the vector is almost zero.

Parameters
vvector to verify

Definition at line 470 of file 2d.hpp.

◆ is_zero() [4/6]

template<typename T >
bool plask::is_zero ( const Vec< 3, T > &  v)
inline

Check if the vector is almost zero.

Parameters
vvector to verify

Definition at line 487 of file 3d.hpp.

◆ is_zero() [5/6]

bool plask::is_zero ( dcomplex  v)
inline

Check if the complex number is almost zero.

Parameters
vnumber to verify

Definition at line 195 of file math.hpp.

◆ is_zero() [6/6]

bool plask::is_zero ( double  v,
double  abs_supremum = SMALL 
)
inline

Check if the real number is almost zero.

Parameters
vnumber to verify
abs_supremum
Returns
true only if abs(v) < abs_supremum

Definition at line 189 of file math.hpp.

◆ isAutoName()

bool plask::isAutoName ( const std::string &  name)
inline

Definition at line 121 of file reader.cpp.

◆ isCid()

PLASK_API bool plask::isCid ( const char potential_id)

Check if potential_id is valid C/C++/python name.

Parameters
potential_id
Returns
true only if potential_id is valid C/C++/python name

Definition at line 60 of file string.cpp.

◆ isDigit()

bool plask::isDigit ( char  ch)

Definition at line 58 of file string.cpp.

◆ isEngAlpha()

bool plask::isEngAlpha ( char  ch)

Definition at line 56 of file string.cpp.

◆ isEngLower()

bool plask::isEngLower ( char  ch)
inline

Definition at line 48 of file string.cpp.

◆ isEngUpper()

bool plask::isEngUpper ( char  ch)
inline

Definition at line 52 of file string.cpp.

◆ isnan() [1/2]

bool plask::isnan ( dcomplex  v)
inline

Check if the complex number is NaN.

Definition at line 200 of file math.hpp.

◆ isnan() [2/2]

template<typename T >
bool plask::isnan ( plask::Tensor3< T >  tens)
inline

Definition at line 491 of file tensor3.hpp.

◆ make_rectangular_mesh() [1/4]

PLASK_API shared_ptr< RectangularMesh2D > plask::make_rectangular_mesh ( const RectangularMesh2D to_copy)

Copy to_copy mesh using OrderedAxis to represent each axis in returned mesh.

Parameters
to_copymesh to copy
Returns
mesh with each axis of type OrderedAxis

Definition at line 224 of file rectangular2d.cpp.

◆ make_rectangular_mesh() [2/4]

PLASK_API shared_ptr< RectangularMesh3D > plask::make_rectangular_mesh ( const RectangularMesh3D to_copy)

Copy to_copy mesh using OrderedAxis to represent each axis in returned mesh.

Parameters
to_copymesh to copy
Returns
mesh with each axis of type OrderedAxis

Definition at line 40 of file rectangular3d.cpp.

◆ make_rectangular_mesh() [3/4]

shared_ptr< RectangularMesh2D > plask::make_rectangular_mesh ( shared_ptr< const RectangularMesh2D to_copy)
inline

Definition at line 1090 of file rectangular2d.hpp.

◆ make_rectangular_mesh() [4/4]

shared_ptr< RectangularMesh3D > plask::make_rectangular_mesh ( shared_ptr< const RectangularMesh3D to_copy)
inline

Definition at line 250 of file rectangular3d.hpp.

◆ makeEmptyBoundary()

template<typename MeshType >
MeshType::Boundary plask::makeEmptyBoundary ( )
inline

Helper to create empty boundary.

Returns
empty boundary
Template Parameters
MeshTypetype of mesh for which boundary should be returned

Definition at line 893 of file boundary.hpp.

◆ makeFunctorIndexedIterator()

template<typename Functor >
FunctorIndexedIterator< Functor > plask::makeFunctorIndexedIterator ( Functor  f,
std::size_t  index 
)
inline

Get FunctorIndexedIterator for given functor.

Parameters
ffunctor
indexinitial iterator position
Returns
iterator which using functor f and has position index
See also
FunctorIndexedIterator

Definition at line 443 of file iterators.hpp.

◆ makeGeometryAxis() [1/3]

template PLASK_API shared_ptr< OrderedAxis > plask::makeGeometryAxis ( const shared_ptr< GeometryObjectD< 2 > > &  geometry,
Primitive< 3 >::Direction  dir,
double  split 
)

◆ makeGeometryAxis() [2/3]

template PLASK_API shared_ptr< OrderedAxis > plask::makeGeometryAxis ( const shared_ptr< GeometryObjectD< 3 > > &  geometry,
Primitive< 3 >::Direction  dir,
double  split 
)

◆ makeGeometryAxis() [3/3]

template<int dim>
PLASK_API shared_ptr< OrderedAxis > plask::makeGeometryAxis ( const shared_ptr< GeometryObjectD< dim > > &  geometry,
Primitive< 3 >::Direction  dir,
double  split = 0. 
)

Get axis with points along edges of bounding boxes of all geometry elements.

Parameters
geometrygiven geometry object
dirdirection along which the points should be added
splitif not 0 split points at boundaries into two separated by split

Definition at line 22 of file generator_rectangular.cpp.

◆ makeGeometryGrid() [1/4]

shared_ptr< RectangularMesh< 2 > > plask::makeGeometryGrid ( const shared_ptr< GeometryD< 2 > > &  geometry)
inline

Generate grid along edges of bounding boxes of all geometry elements.

Parameters
geometrygiven geometry
Returns
generated mesh

Definition at line 72 of file generator_rectangular.hpp.

◆ makeGeometryGrid() [2/4]

shared_ptr< RectangularMesh< 3 > > plask::makeGeometryGrid ( const shared_ptr< GeometryD< 3 > > &  geometry)
inline

Generate grid along edges of bounding boxes of all geometry elements.

Parameters
geometrygiven geometry
Returns
generated mesh

Definition at line 81 of file generator_rectangular.hpp.

◆ makeGeometryGrid() [3/4]

PLASK_API shared_ptr< RectangularMesh< 2 > > plask::makeGeometryGrid ( const shared_ptr< GeometryObjectD< 2 > > &  geometry,
double  split = 0. 
)

Generate grid along edges of bounding boxes of all geometry elements.

Parameters
geometrygiven geometry object
splitif not 0 split points at boundaries into two separated by split
Returns
generated mesh

Definition at line 52 of file generator_rectangular.cpp.

◆ makeGeometryGrid() [4/4]

PLASK_API shared_ptr< RectangularMesh< 3 > > plask::makeGeometryGrid ( const shared_ptr< GeometryObjectD< 3 > > &  geometry,
double  split = 0. 
)

Generate grid along edges of bounding boxes of all geometry elements.

Parameters
geometrygiven geometry object
splitif not 0 split points at boundaries into two separated by split
Returns
generated mesh

Definition at line 73 of file generator_rectangular.cpp.

◆ makeGeometryGrid1D() [1/2]

shared_ptr< OrderedAxis > plask::makeGeometryGrid1D ( const shared_ptr< GeometryD< 2 > > &  geometry)
inline

Generate grid along edges of bounding boxes of all geometry elements.

Parameters
geometrygiven geometry
Returns
generated mesh

Definition at line 63 of file generator_rectangular.hpp.

◆ makeGeometryGrid1D() [2/2]

PLASK_API shared_ptr< OrderedAxis > plask::makeGeometryGrid1D ( const shared_ptr< GeometryObjectD< 2 > > &  geometry,
double  split = 0. 
)

Generate grid along edges of bounding boxes of all geometry elements.

Parameters
geometrygiven geometry object
splitif not 0 split points at boundaries into two separated by split
Returns
generated mesh

Definition at line 42 of file generator_rectangular.cpp.

◆ makeIndexedIterator()

template<typename ContainerType >
IndexedIterator< ContainerType > plask::makeIndexedIterator ( ContainerType c,
std::size_t  index 
)
inline

Get IndexedIterator for given container.

Parameters
ccontainer
indexinitial iterator position
Returns
iterator over container c which points to the position index
See also
IndexedIterator

Definition at line 313 of file iterators.hpp.

◆ makePredicateBoundary()

template<typename Boundary , typename Predicate >
Boundary plask::makePredicateBoundary ( Predicate  predicate)
inline

Helper to create boundary which represents set of indexes which fulfill given predicate.

Use: makePredicateBoundary<MeshType::Boundary>(predicate);

Parameters
predicatefunctor which check if given point is in boundary
Returns
boundary which represents set of indexes which fulfill predicate
Template Parameters
Boundarytype of boundary which should be returned
Predicatepredicate which check if given point is in boundary, predicate has the following arguments:
  • MeshType mesh (mesh and index in mesh), std::size_t index

Definition at line 910 of file boundary.hpp.

◆ makeSegment()

TriangularMesh2D::Segment plask::makeSegment ( std::size_t  a,
std::size_t  b 
)
inline

Definition at line 139 of file triangular2d.cpp.

◆ makeUnique()

template<typename T >
void plask::makeUnique ( shared_ptr< T > &  ptr)
inline

Copy ptr data if is not the only shared_ptr instance managing the current object, i.e.

whether ptr.unique() is false (ptr.use_count() != 1).

Parameters
ptrshared pointer which will be changed to shared_ptr with copy of object managing by ptr if ptr.unique() is false
Template Parameters
Ttype of object managing by ptr, must have copy constructor

Definition at line 194 of file memory.hpp.

◆ map_find()

template<typename map_t >
map_t::mapped_type plask::map_find ( map_t map,
const typename map_t::key_type &  to_find,
typename map_t::mapped_type &&  if_not_found = nullptr 
)
inline

Try find value in map by key and return if_not_found value if object was not found.

Parameters
mapmap to find in it
to_findkey to find
if_not_foundvalue to return when there is no object with to_find key in map
Returns
founded object or if_not_found value

Definition at line 34 of file stl.hpp.

◆ NaN()

template<typename T >
constexpr std::remove_cv< typenamestd::remove_reference< T >::type >::type plask::NaN ( )
inlineconstexpr

Construct NaN or its counterpart with given type T.

Returns
NaN or its counterpart

Definition at line 130 of file math.hpp.

◆ operator!=() [1/3]

template<class T1 , class T2 >
bool plask::operator!= ( DataVector< T1 > const a,
LazyData< T2 > const b 
)
inline

Definition at line 337 of file lazydata.hpp.

◆ operator!=() [2/3]

template<class T1 , class T2 >
bool plask::operator!= ( LazyData< T1 > const a,
DataVector< T2 > const b 
)
inline

Definition at line 336 of file lazydata.hpp.

◆ operator!=() [3/3]

template<class T1 , class T2 >
bool plask::operator!= ( LazyData< T1 > const a,
LazyData< T2 > const b 
)
inline

Check if two data vectors are not equal.

Parameters
a,bvectors to compare
Returns
true only if a is not equal to b

Definition at line 335 of file lazydata.hpp.

◆ operator&() [1/2]

template<typename MeshType >
Boundary< MeshType > plask::operator& ( Boundary< MeshType >  left,
Boundary< MeshType >  right 
)
inline

Definition at line 783 of file boundary.hpp.

◆ operator&() [2/2]

Definition at line 742 of file boundary.hpp.

◆ operator*() [1/10]

template<typename MeshType >
Boundary< MeshType > plask::operator* ( Boundary< MeshType >  left,
Boundary< MeshType >  right 
)
inline

Return boundary which produces the intersection of sets given by left and right boundaries.

Parameters
left,rightboundaries
Returns
the intersection boundary

Definition at line 779 of file boundary.hpp.

◆ operator*() [2/10]

Return intersection of left and right sets of nodes.

Parameters
left,rightsets of nodes
Returns
the intersection

Definition at line 739 of file boundary.hpp.

◆ operator*() [3/10]

template<typename T , typename OtherT >
auto plask::operator* ( const OtherT  scale,
const Tensor2< T > &  tensor 
) -> decltype(tensor * scale)

Calculate this tensor multiplied by scalar scale.

Parameters
scalescalar
tensortensor
Returns
this tensor multiplied by scalar

Definition at line 267 of file tensor2.hpp.

◆ operator*() [4/10]

template<typename T , typename OtherT >
auto plask::operator* ( const OtherT  scale,
const Tensor3< T > &  tensor 
) -> decltype(tensor * scale)

Calculate this tensor multiplied by scalar scale.

Parameters
scalescalar
tensortensor
Returns
this tensor multiplied by scalar

Definition at line 454 of file tensor3.hpp.

◆ operator*() [5/10]

plask::dcomplex plask::operator* ( const plask::dcomplex &  a,
int  b 
)
inline

Definition at line 219 of file math.hpp.

◆ operator*() [6/10]

plask::dcomplex plask::operator* ( const plask::dcomplex &  a,
unsigned  b 
)
inline

Definition at line 221 of file math.hpp.

◆ operator*() [7/10]

template<typename T , typename S >
LazyData< typename ScaledLazyDataImpl< T, S >::CellType > plask::operator* ( const S &  scale,
LazyData< T >  data 
)

Compute factor of vec and a.

Parameters
vecvector to multiply
amultiply factor
Returns
vec * a

Definition at line 300 of file lazydata.hpp.

◆ operator*() [8/10]

plask::dcomplex plask::operator* ( int  a,
const plask::dcomplex &  b 
)
inline

Definition at line 218 of file math.hpp.

◆ operator*() [9/10]

template<typename T , typename S >
LazyData< typename ScaledLazyDataImpl< T, S >::CellType > plask::operator* ( LazyData< T >  data,
const S &  scale 
)

Compute factor of data and a.

Parameters
datavector to multiply
amultiply factor
Returns
vec * a

Definition at line 289 of file lazydata.hpp.

◆ operator*() [10/10]

plask::dcomplex plask::operator* ( unsigned  a,
const plask::dcomplex &  b 
)
inline

Definition at line 220 of file math.hpp.

◆ operator+() [1/2]

template<typename MeshType >
Boundary< MeshType > plask::operator+ ( Boundary< MeshType >  left,
Boundary< MeshType >  right 
)
inline

Return boundary which produces the union of sets given by left and right boundaries.

Parameters
left,rightboundaries
Returns
the union boundary

Definition at line 763 of file boundary.hpp.

◆ operator+() [2/2]

Return union of left and right sets of nodes.

Parameters
left,rightsets of nodes
Returns
the union

Definition at line 725 of file boundary.hpp.

◆ operator-() [1/2]

template<typename MeshType >
Boundary< MeshType > plask::operator- ( Boundary< MeshType >  left,
Boundary< MeshType >  right 
)
inline

Return boundary which produces the difference of sets given by left and right boundaries.

Parameters
left,rightboundaries
Returns
the difference boundary

Definition at line 794 of file boundary.hpp.

◆ operator-() [2/2]

Return difference of left and right sets of nodes.

Parameters
left,rightsets of nodes
Returns
the difference

Definition at line 752 of file boundary.hpp.

◆ operator/() [1/4]

plask::dcomplex plask::operator/ ( const plask::dcomplex &  a,
int  b 
)
inline

Definition at line 223 of file math.hpp.

◆ operator/() [2/4]

plask::dcomplex plask::operator/ ( const plask::dcomplex &  a,
unsigned  b 
)
inline

Definition at line 225 of file math.hpp.

◆ operator/() [3/4]

plask::dcomplex plask::operator/ ( int  a,
const plask::dcomplex &  b 
)
inline

Definition at line 222 of file math.hpp.

◆ operator/() [4/4]

plask::dcomplex plask::operator/ ( unsigned  a,
const plask::dcomplex &  b 
)
inline

Definition at line 224 of file math.hpp.

◆ operator<() [1/3]

template<class T1 , class T2 >
bool plask::operator< ( DataVector< T1 > const a,
LazyData< T2 > const b 
)
inline

Definition at line 347 of file lazydata.hpp.

◆ operator<() [2/3]

template<class T1 , class T2 >
bool plask::operator< ( LazyData< T1 > const a,
DataVector< T2 > const b 
)
inline

Definition at line 350 of file lazydata.hpp.

◆ operator<() [3/3]

template<class T1 , class T2 >
bool plask::operator< ( LazyData< T1 > const a,
LazyData< T2 > const b 
)
inline

A lexical comparison of two (lazy) data vectors.

Parameters
a,bvectors to compare
Returns
true only if a is smaller than the b

Definition at line 344 of file lazydata.hpp.

◆ operator<<()

template<class T >
std::ostream & plask::operator<< ( std::ostream &  out,
LazyData< T > const to_print 
)

Print lazy data vector to stream.

Parameters
outoutput, destination stream
to_printlazy data vector to print
Returns
out

Definition at line 387 of file lazydata.hpp.

◆ operator<=() [1/3]

template<class T1 , class T2 >
bool plask::operator<= ( DataVector< T1 > const a,
LazyData< T2 > const b 
)
inline

Definition at line 368 of file lazydata.hpp.

◆ operator<=() [2/3]

template<class T1 , class T2 >
bool plask::operator<= ( LazyData< T1 > const a,
DataVector< T2 > const b 
)
inline

Definition at line 369 of file lazydata.hpp.

◆ operator<=() [3/3]

template<class T1 , class T2 >
bool plask::operator<= ( LazyData< T1 > const a,
LazyData< T2 > const b 
)
inline

A lexical comparison of two (lazy) data vectors.

Parameters
a,bvectors to compare
Returns
true only if a is smaller or equal to b

Definition at line 367 of file lazydata.hpp.

◆ operator==() [1/3]

template<class T1 , class T2 >
bool plask::operator== ( DataVector< T1 > const a,
LazyData< T2 > const b 
)
inline

Check if two vectors are equal.

Parameters
a,bvectors to compare
Returns
true only if a is equal to b (a[0]==b[0], a[1]==b[1], ...)

Definition at line 328 of file lazydata.hpp.

◆ operator==() [2/3]

template<class T1 , class T2 >
bool plask::operator== ( LazyData< T1 > const a,
DataVector< T2 > const b 
)
inline

Check if two vectors are equal.

Parameters
a,bvectors to compare
Returns
true only if a is equal to b (a[0]==b[0], a[1]==b[1], ...)

Definition at line 319 of file lazydata.hpp.

◆ operator==() [3/3]

template<class T1 , class T2 >
bool plask::operator== ( LazyData< T1 > const a,
LazyData< T2 > const b 
)
inline

Check if two lazy data vectors are equal.

Parameters
a,bvectors to compare
Returns
true only if a is equal to b (a[0]==b[0], a[1]==b[1], ...)

Definition at line 310 of file lazydata.hpp.

◆ operator>() [1/3]

template<class T1 , class T2 >
bool plask::operator> ( DataVector< T1 > const a,
LazyData< T2 > const b 
)
inline

Definition at line 359 of file lazydata.hpp.

◆ operator>() [2/3]

template<class T1 , class T2 >
bool plask::operator> ( LazyData< T1 > const a,
DataVector< T2 > const b 
)
inline

Definition at line 360 of file lazydata.hpp.

◆ operator>() [3/3]

template<class T1 , class T2 >
bool plask::operator> ( LazyData< T1 > const a,
LazyData< T2 > const b 
)
inline

A lexical comparison of two (lazy) data vectors.

Parameters
a,bvectors to compare
Returns
true only if b is smaller than the a

Definition at line 358 of file lazydata.hpp.

◆ operator>=() [1/3]

template<class T1 , class T2 >
bool plask::operator>= ( DataVector< T1 > const a,
LazyData< T2 > const b 
)
inline

Definition at line 377 of file lazydata.hpp.

◆ operator>=() [2/3]

template<class T1 , class T2 >
bool plask::operator>= ( LazyData< T1 > const a,
DataVector< T2 > const b 
)
inline

Definition at line 378 of file lazydata.hpp.

◆ operator>=() [3/3]

template<class T1 , class T2 >
bool plask::operator>= ( LazyData< T1 > const a,
LazyData< T2 > const b 
)
inline

A lexical comparison of two (lazy) data vectors.

Parameters
a,bvectors to compare
Returns
true only if b is smaller or equal to a

Definition at line 376 of file lazydata.hpp.

◆ operator|() [1/2]

template<typename MeshType >
Boundary< MeshType > plask::operator| ( Boundary< MeshType >  left,
Boundary< MeshType >  right 
)
inline

Definition at line 767 of file boundary.hpp.

◆ operator|() [2/2]

Definition at line 728 of file boundary.hpp.

◆ parse_complex()

template<typename T >
std::complex< T > plask::parse_complex ( std::string  str_to_parse)

Parse complex number in format: R+Ij, R, Ij, or (R, I), where R and I are floating point numbers (last is standard C++ format).

Parameters
str_to_parsestring to parse
Returns
parsed complex number
Exceptions
IllFormatedComplexwhen str_to_parse is in bad format

Definition at line 369 of file math.hpp.

◆ parse_complex< double >()

template PLASK_API std::complex< double > plask::parse_complex< double > ( std::string  str_to_parse)

◆ parseBoundary() [1/2]

template<typename Boundary >
Boundary plask::parseBoundary ( const std::string &  PLASK_UNUSEDboundary_desc,
Manager PLASK_UNUSEDmanager 
)
inline

Parse boundary of given type from string.

Specialization of this function:

template <> inline BoundaryType parseBoundary<BoundaryType>(const std::string& boundary_desc) { ... }

are responsible to parse boundary of type BoundaryType from string.

Parameters
boundary_descboundary description, depends on type of boundary (which generally depends on mesh type)
managergeometry manager
Returns
parsed boundary or Boundary() if can't parse given string

Definition at line 932 of file boundary.hpp.

◆ parseBoundary() [2/2]

template<typename Boundary >
Boundary plask::parseBoundary ( XMLReader PLASK_UNUSEDboundary_desc,
Manager PLASK_UNUSEDmanager 
)
inline

Parse boundary from XML reader.

It starts from tag which beginning is pointed by reader and (in case of successful parse) move reader to end of this tag.

For given boundary type (Boundary) specialization of this function:

are responsible to parse boundary from XML for this boundary type (which generally depends on mesh type).

Parameters
boundary_descboundary description, depends on type of mesh
managergeometry manager
Returns
parsed boundary or Boundary() if can't parse given tag

Definition at line 950 of file boundary.hpp.

◆ parseBoundary< RectangularMeshBase2D::Boundary >() [1/2]

template<>
RectangularMeshBase2D::Boundary plask::parseBoundary< RectangularMeshBase2D::Boundary > ( const std::string &  boundary_desc,
plask::Manager  
)
inline

Definition at line 641 of file rectangular_common.hpp.

◆ parseBoundary< RectangularMeshBase2D::Boundary >() [2/2]

Definition at line 644 of file rectangular_common.hpp.

◆ parseBoundary< RectangularMeshBase3D::Boundary >() [1/2]

template<>
RectangularMeshBase3D::Boundary plask::parseBoundary< RectangularMeshBase3D::Boundary > ( const std::string &  boundary_desc,
plask::Manager  
)
inline

Definition at line 1230 of file rectangular_common.hpp.

◆ parseBoundary< RectangularMeshBase3D::Boundary >() [2/2]

Definition at line 1233 of file rectangular_common.hpp.

◆ parseBoundary< TriangularMesh2D::Boundary >() [1/2]

template<>
TriangularMesh2D::Boundary plask::parseBoundary< TriangularMesh2D::Boundary > ( const std::string &  boundary_desc,
plask::Manager  
)
inline

Definition at line 712 of file triangular2d.hpp.

◆ parseBoundary< TriangularMesh2D::Boundary >() [2/2]

template<>
TriangularMesh2D::Boundary plask::parseBoundary< TriangularMesh2D::Boundary > ( XMLReader boundary_desc,
Manager env 
)
inline

Definition at line 715 of file triangular2d.hpp.

◆ parseBoundaryValue()

template<typename ConditionT >
ConditionT plask::parseBoundaryValue ( const XMLReader tag_with_value)
inline

Parse condition from XML tag.

Default implementation just read it from "value" attribute which use boost::lexical_cast to convert it to given type ConditionT. Specializations for chosen types can require other attributes.

Parameters
tag_with_valueXML tag to parse
Returns
parsed condition
Template Parameters
ConditionTtype of condition to parse

Definition at line 662 of file manager.hpp.

◆ parseBoundaryValue< thermal::tstatic::Convection >()

Definition at line 50 of file common.hpp.

◆ parseBoundaryValue< thermal::tstatic::Radiation >()

Definition at line 55 of file common.hpp.

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [1/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [2/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< double, double )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [3/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [4/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [5/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [6/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [7/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [8/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [9/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [10/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [11/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [12/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< double, double )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [13/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [14/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [15/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [16/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [17/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [18/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [19/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [20/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [21/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [22/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< double, double )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [23/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [24/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [25/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [26/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [27/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [28/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [29/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >  )

◆ PLASK_API_EXTERN_TEMPLATE_STRUCT() [30/30]

plask::PLASK_API_EXTERN_TEMPLATE_STRUCT ( NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >  )

◆ plaskLibPath()

PLASK_API std::string plask::plaskLibPath ( )

Get path to plask library files (shared libraries).

This directory contains subdirectories: solvers (see plaskSolversPath), materials (see plaskMaterialsPath).

Returns
path to plask library files (with rearmost '/' or '\')

Definition at line 79 of file system.cpp.

◆ plaskMaterialsPath()

PLASK_API std::string plask::plaskMaterialsPath ( )

Get path to materials files (shared libraries).

Returns
path (with rearmost '/' or '\')

Definition at line 98 of file system.cpp.

◆ plaskSolversPath()

PLASK_API std::string plask::plaskSolversPath ( const std::string &  category)

Get path to files (shared libraries) with solvers in given category.

Parameters
categoryname of solvers category
Returns
path (with rearmost '/' or '\')

Definition at line 89 of file system.cpp.

◆ prefixPath()

PLASK_API std::string plask::prefixPath ( )

Get environment variable PLASK_PREFIX_PATH (should be without rearmost '/' or '\') or, if it is not set, path one step above the current program executable file.

Returns
path one step above from program executable

Definition at line 69 of file system.cpp.

◆ prepareInterpolationForAxis()

PLASK_API void plask::prepareInterpolationForAxis ( const MeshAxis axis,
const InterpolationFlags flags,
double  wrapped_point_coord,
int  axis_nr,
std::size_t &  index_lo,
std::size_t &  index_hi,
double lo,
double hi,
bool invert_lo,
bool invert_hi 
)

TODO doc - this is code by M.

Dems copied from interpolation methods of rectngular meshes

This function is used by linear and spline interpolations of rectangular meshes.

Parameters
[in]axis
[in]flags
[in]wrapped_point_coord
[in]axis_nr
[out]index_lo
[out]index_hi
[out]lo
[out]hi
[out]invert_lo
[out]invert_hi

Definition at line 99 of file axis1d.cpp.

◆ prepareNearestNeighborInterpolationForAxis()

PLASK_API void plask::prepareNearestNeighborInterpolationForAxis ( const MeshAxis axis,
const InterpolationFlags flags,
double wrapped_point_coord,
int  axis_nr 
)

TODO doc - this is code by M.

Dems copied from interpolation methods of rectngular meshes

Parameters
[in]axis
[in]flags
[in,out]wrapped_point_coord
[in]axis_nr

Definition at line 89 of file axis1d.cpp.

◆ print_seq()

template<typename Iter >
std::ostream & plask::print_seq ( std::ostream &  out,
Iter  begin,
Iter  end,
const char sep = ", " 
)

Print all values from sequence [begin, end) sepparating by sep.

Parameters
outprint destination
begin,endsequence to print
sep
Returns
out

Definition at line 73 of file string.hpp.

◆ printRange()

std::ostream & plask::printRange ( std::ostream &  out,
ForwadIterator  begin,
ForwadIterator  end,
const char separator = ", " 
)

Print range separating elements by separator (which is not printed after last element).

Parameters
outstream to print to
begin,end[begin, end) range to print
separatorstring placed between each pair of adjacent elements
Returns
out

Definition at line 93 of file stl.hpp.

◆ read_arrange2d()

shared_ptr< GeometryObject > plask::read_arrange2d ( GeometryReader reader)

Definition at line 247 of file lattice.cpp.

◆ read_arrange3d()

shared_ptr< GeometryObject > plask::read_arrange3d ( GeometryReader reader)

Definition at line 258 of file lattice.cpp.

◆ read_block2D()

shared_ptr< GeometryObject > plask::read_block2D ( GeometryReader reader)

Definition at line 136 of file leaf.cpp.

◆ read_cartesianExtend()

shared_ptr< GeometryObject > plask::read_cartesianExtend ( GeometryReader reader)

Definition at line 126 of file transform_space_cartesian.cpp.

◆ read_children()

void plask::read_children ( GeometryReader reader,
ChildParamF  child_param_read,
WithoutChildParamF  without_child_param_read 
)
inline

Read children, call child_param_read if children is in <item> tag and without_child_param_read if there was no <item> tag.

Read "path" parameter from each <item> tag.

Parameters
readerreader
child_param_readfunctor called for each <item> tag, without parameters, should create child, add it to container and return PathHints::Hint (and move reader.source to end of current, <item>, tag)
without_child_param_readfunctor called for each children (when there was no <item> tag), should create child, add it to container, and move reader.source to end of current tag

Definition at line 333 of file container.hpp.

◆ read_circle()

template<int dim>
shared_ptr< GeometryObject > plask::read_circle ( GeometryReader reader)

Definition at line 161 of file circle.cpp.

◆ read_Clip2D()

shared_ptr< GeometryObject > plask::read_Clip2D ( GeometryReader reader)

Definition at line 186 of file clip.cpp.

◆ read_Clip3D()

shared_ptr< GeometryObject > plask::read_Clip3D ( GeometryReader reader)

Definition at line 193 of file clip.cpp.

◆ read_cuboid()

shared_ptr< GeometryObject > plask::read_cuboid ( GeometryReader reader)

Definition at line 128 of file cuboid.cpp.

◆ read_cylinder()

shared_ptr< GeometryObject > plask::read_cylinder ( GeometryReader reader)

Definition at line 129 of file cylinder.cpp.

◆ read_flip_like()

template<typename GeometryType >
shared_ptr< GeometryObject > plask::read_flip_like ( GeometryReader reader)

Definition at line 253 of file mirror.cpp.

◆ read_hollow_cylinder()

shared_ptr< GeometryObject > plask::read_hollow_cylinder ( GeometryReader reader)

Definition at line 309 of file cylinder.cpp.

◆ read_Intersection()

template<int dim>
shared_ptr< GeometryObject > plask::read_Intersection ( GeometryReader reader)

Definition at line 138 of file intersection.cpp.

◆ read_lattice()

shared_ptr< GeometryObject > plask::read_lattice ( GeometryReader reader)

Definition at line 503 of file lattice.cpp.

◆ read_prism()

shared_ptr< GeometryObject > plask::read_prism ( GeometryReader reader)

Definition at line 327 of file prism.cpp.

◆ read_revolution()

shared_ptr< GeometryObject > plask::read_revolution ( GeometryReader reader)

Definition at line 161 of file transform_space_cylindric.cpp.

◆ read_translation2D()

shared_ptr< GeometryObject > plask::read_translation2D ( GeometryReader reader)

Definition at line 154 of file transform.cpp.

◆ read_translation3D()

shared_ptr< GeometryObject > plask::read_translation3D ( GeometryReader reader)

Definition at line 161 of file transform.cpp.

◆ read_TranslationContainer()

template<int dim>
shared_ptr< GeometryObject > plask::read_TranslationContainer ( GeometryReader reader)

Definition at line 131 of file translation_container.cpp.

◆ read_triangle()

shared_ptr< GeometryObject > plask::read_triangle ( GeometryReader reader)

Definition at line 160 of file triangle.cpp.

◆ read_triangular_prism()

shared_ptr< GeometryObject > plask::read_triangular_prism ( GeometryReader reader)

Definition at line 138 of file prism.cpp.

◆ readMeshAxis()

shared_ptr< MeshAxis > plask::readMeshAxis ( XMLReader reader)

Read 1d mesh axis from XML.

Parameters
reader
Returns
the axis readed

Definition at line 19 of file rectangular_common.cpp.

◆ readOrderedMesh1D()

shared_ptr< OrderedMesh1D > plask::readOrderedMesh1D ( XMLReader reader)

Definition at line 184 of file ordered1d.cpp.

◆ readOrderedMesh1D_obsolete()

shared_ptr< OrderedMesh1D > plask::readOrderedMesh1D_obsolete ( XMLReader reader)

Definition at line 196 of file ordered1d.cpp.

◆ readPolygon()

shared_ptr< GeometryObject > plask::readPolygon ( GeometryReader reader)

Definition at line 161 of file polygon.cpp.

◆ readRectangularDivideGenerator()

template<int dim>
shared_ptr< MeshGenerator > plask::readRectangularDivideGenerator ( XMLReader reader,
Manager manager 
)

Definition at line 555 of file generator_rectangular.cpp.

◆ readRectangularSmoothGenerator()

template<int dim>
shared_ptr< MeshGenerator > plask::readRectangularSmoothGenerator ( XMLReader reader,
Manager manager 
)

Definition at line 615 of file generator_rectangular.cpp.

◆ readRectilinearMeshAxis()

shared_ptr< OrderedMesh1D > plask::readRectilinearMeshAxis ( XMLReader reader)

Definition at line 162 of file ordered1d.cpp.

◆ readRegularMesh1D()

shared_ptr< RegularMesh1D > plask::readRegularMesh1D ( XMLReader reader)

Definition at line 80 of file regular1d.cpp.

◆ readRegularMesh1D_obsolete()

shared_ptr< RegularMesh1D > plask::readRegularMesh1D_obsolete ( XMLReader reader)

Definition at line 90 of file regular1d.cpp.

◆ readRegularMeshAxis()

PLASK_API shared_ptr< RegularMesh1D > plask::readRegularMeshAxis ( XMLReader reader)

Definition at line 72 of file regular1d.cpp.

◆ readTriangleGenerator()

shared_ptr< MeshGenerator > plask::readTriangleGenerator ( XMLReader reader,
const Manager  
)

Definition at line 157 of file generator_triangular.cpp.

◆ readTriangularMesh2D_readNodeIndex()

std::size_t plask::readTriangularMesh2D_readNodeIndex ( XMLReader reader,
const char attrName,
std::size_t  nodes_size 
)

Definition at line 479 of file triangular2d.cpp.

◆ refineAxis()

PLASK_API shared_ptr< OrderedAxis > plask::refineAxis ( const shared_ptr< MeshAxis > &  axis,
double  spacing 
)

Divide existing axis into finer mesh with points approximately spaced by spacing.

Parameters
spacingapproximate distance between mesh points
Returns
refined mesh

Definition at line 89 of file generator_rectangular.cpp.

◆ reindexContainer()

template<typename ContainerType >
ReindexedContainer< ContainerType > plask::reindexContainer ( ContainerType originalContainer,
int  firstIndex = 0,
int  delta = 1 
)

Helper function to create ReindexedContainer instantiation objects.

Parameters
originalContainer,firstIndex,deltaReindexedContainer constructor parameters
Returns
ReindexedContainer<ContainerType>(originalContainer, firstIndex, delta)
Template Parameters
ContainerTypetype of original container

Definition at line 483 of file iterators.hpp.

◆ remove_nan()

template<typename T >
T plask::remove_nan ( val,
const nan = Zero<T>() 
)
inline

Replace NaN with some specified value (zero by default).

Parameters
valvalue to test
nanvalue returned instead of NaN
Returns
val or its replacement (nan) if value is NaN

Definition at line 212 of file math.hpp.

◆ removedChars()

PLASK_API std::string plask::removedChars ( const std::string &  str,
const std::string &  chars_to_remove 
)
Parameters
strstring to filter
chars_to_removeset of characters to remove
Returns
copy of str with removed chars which are include in chars_to_remove

Definition at line 34 of file string.cpp.

◆ replaceChars()

template<typename CharReplacer >
std::string plask::replaceChars ( const std::string &  str,
CharReplacer  repl 
)

Calculate copy of string str with some characters replaced by other.

Parameters
strstring
replfunctor which return new character or string for each input character
Returns
copy of str witch replaced all characters by results of repl
Template Parameters
CharReplacerfunctor which take one argument (char) and return char or string

Definition at line 111 of file string.hpp.

◆ SafeData()

template<typename T >
LazyData< T > plask::SafeData ( const LazyData< T > &  src,
const safe_value = Zero<T>() 
)
inline

Make LazyData removing NaN from another lazy data.

Parameters
srcsource lazy data or vector
sane_valuesane value that is returned instead of NaN

Definition at line 437 of file lazydata.hpp.

◆ splitAndTrimPred()

template<typename RangeT , typename PredicateT , typename SequenceSequenceT = std::vector<std::string>>
SequenceSequenceT plask::splitAndTrimPred ( RangeT input,
PredicateT  pred,
boost::algorithm::token_compress_mode_type  eCompress = boost::algorithm::token_compress_off 
)

Split input to sequence of tokens.

White spaces on beginning and ending of each token are removed.

Parameters
inputinput string
preda predicate to identify separators, this predicate is supposed to return true only if a given object is a separator
eCompressif it is set to boost::algorithm::token_compress_on, adjacent separators are merged together, otherwise, every two separators delimit a token.
Returns
sequence of token

Definition at line 133 of file string.hpp.

◆ splitEsc()

PLASK_API std::vector< std::string > plask::splitEsc ( const std::string &  str,
char  splitter,
char  quote_char = '\'',
char  esc_char = '\\' 
)

Split str to sequence of tokens.

White spaces on beginning and ending of each token are removed.

Parameters
strinput string
splittercharacter which separate tokents, typically ',' or ';'
quote_charthe character to use for the quote also allow to insert separate character in token
esc_charescape character which allow to insert separate character in token
Returns
sequence of token

Definition at line 42 of file string.cpp.

◆ splitEscIterator()

PLASK_API split_esc_tokenizer plask::splitEscIterator ( const std::string &  str,
char  splitter,
char  quote_char = '\'',
char  esc_char = '\\' 
)

Split str to sequence of tokens.

White spaces on beginning and ending of each token are removed.

Parameters
strinput string
splittercharacter which separate tokents, typically ',' or ';'
quote_charthe character to use for the quote, allow to insert separate character in token (if token is quoted)
esc_charescape character which allow to insert separate character in token, typically '\'
Returns
tokenizer which allow to iterate over tokens

Definition at line 38 of file string.cpp.

◆ splitString2()

PLASK_API std::pair< std::string, std::string > plask::splitString2 ( const std::string &  to_split,
char  splitter 
)

Split string to two parts: before spliter and after spliter.

If spliter is not included in string return pair: to_split and empty string.

Parameters
to_splitstring to split
splittersplitter character
Returns
two strings, to_split after split

Definition at line 27 of file string.cpp.

◆ str() [1/3]

std::string plask::str ( double  x,
const char fmt = "{:.9g}" 
)
inline

Convert double number to pretty string.

Parameters
xvalue to convert
fmtformat to use

Definition at line 46 of file format.hpp.

◆ str() [2/3]

std::string plask::str ( std::complex< double x,
const char fmt = "{:.9g}{:+0.9g}j",
const char rfmt = nullptr 
)
inline

Convert complex number to pretty string.

Parameters
xvalue to convert
fmtformat to use
rfmtformat used if Im(x) == 0

Definition at line 56 of file format.hpp.

◆ str() [3/3]

template<typename T >
std::string plask::str ( x)
inline

Convert something to pretty string.

Parameters
xvalue to convert

Definition at line 37 of file format.hpp.

◆ to_longTran() [1/2]

Box2D plask::to_longTran ( const Box3D box)
inline

Definition at line 31 of file extruded_triangular3d.cpp.

◆ to_longTran() [2/2]

Vec< 2, double > plask::to_longTran ( const Vec< 3, double > &  longTranVert)
inline

Definition at line 27 of file extruded_triangular3d.cpp.

◆ toDouble()

double plask::toDouble ( const std::string &  s,
const char fullname 
)

Definition at line 317 of file material.cpp.

◆ toMesh()

template<int DIM>
shared_ptr< OnePointMesh< DIM > > plask::toMesh ( const plask::Vec< DIM, double > &  point)
inline

Create one-point mesh that includes given point.

Parameters
pointpoint to include
Returns
mesh with one point

Definition at line 54 of file basic.hpp.

◆ translate()

template<int DIM>
shared_ptr< TranslatedMesh< DIM > > plask::translate ( const shared_ptr< const MeshD< DIM > > &  sourceMesh,
const Vec< DIM, double > &  translation 
)
inline

Definition at line 90 of file basic.hpp.

◆ TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::ALL >()

template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::ALL > ( const TriangularMesh2D::SegmentsCounts segmentsCount) const

◆ TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::BOTTOM >()

template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::BOTTOM > ( const TriangularMesh2D::SegmentsCounts segmentsCount) const

◆ TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::LEFT >()

template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::LEFT > ( const TriangularMesh2D::SegmentsCounts segmentsCount) const

◆ TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::RIGHT >()

template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::RIGHT > ( const TriangularMesh2D::SegmentsCounts segmentsCount) const

◆ TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::TOP >()

template PLASK_API std::set< std::size_t > plask::TriangularMesh2D::boundaryNodes< TriangularMesh2D::BoundaryDir::TOP > ( const TriangularMesh2D::SegmentsCounts segmentsCount) const

◆ tuple_size()

template<typename Tuple >
constexpr std::size_t plask::tuple_size ( )
constexpr

Definition at line 175 of file stl.hpp.

◆ type_name()

template<typename T >
std::string plask::type_name ( )

Get simplified type name of given type.

Definition at line 172 of file string.hpp.

◆ vec() [1/2]

template<typename T >
constexpr Vec< 3, T > plask::vec ( const c0__lon,
const c1__tran,
const c2__up 
)
inlineconstexpr

Helper to create 3D vector.

Parameters
c0__lon,c1__tran,c2__upvector coordinates
Returns
constructed vector

Definition at line 468 of file 3d.hpp.

◆ vec() [2/2]

template<typename T >
constexpr Vec< 2, T > plask::vec ( const c0__tran,
const c1__up 
)
inlineconstexpr

Helper to create 2D vector.

Parameters
c0__tran,c1__upvector coordinates
Returns
constructed vector

Definition at line 451 of file 2d.hpp.

◆ writelog() [1/2]

void plask::writelog ( LogLevel  level,
const std::string &  msg 
)
inline

Log a message.

Parameters
levellog level to log
msglog message

Definition at line 123 of file log.hpp.

◆ writelog() [2/2]

template<typename... Args>
void plask::writelog ( LogLevel  level,
const std::string &  msg,
Args &&...  params 
)
inline

Log a message.

Parameters
levellog level to log
msglog message
paramsparameters passed to format

Definition at line 137 of file log.hpp.

◆ Zero()

template<typename T >
constexpr std::remove_cv< typenamestd::remove_reference< T >::type >::type plask::Zero ( )
inlineconstexpr

Construct NaN or its counterpart with given type T.

Returns
NaN or its counterpart

Definition at line 152 of file math.hpp.

Variable Documentation

◆ _1_PI

constexpr double plask::_1_PI = M_1_PI
constexpr

Definition at line 89 of file math.hpp.

◆ _2_PI

constexpr double plask::_2_PI = M_2_PI
constexpr

Definition at line 95 of file math.hpp.

◆ _2_SQRTPI

constexpr double plask::_2_SQRTPI = M_2_SQRTPI
constexpr

Definition at line 101 of file math.hpp.

◆ ArrangeContainer< 2 >

Definition at line 273 of file lattice.cpp.

◆ ArrangeContainer< 3 >

Definition at line 274 of file lattice.cpp.

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< dcomplex, dcomplex >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< double, double >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

◆ BarycentricExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ BarycentricTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >

◆ BarycentricTriangularMesh2DLazyDataImpl< double, double >

◆ BarycentricTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ BarycentricTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ BarycentricTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ BarycentricTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 605 of file triangular2d.cpp.

◆ BarycentricTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 607 of file triangular2d.cpp.

◆ BarycentricTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ Block< 2 >

Definition at line 270 of file leaf.cpp.

◆ Block< 3 >

Definition at line 271 of file leaf.cpp.

◆ BoundingBoxCache< 2 >

Definition at line 56 of file utils.cpp.

◆ BoundingBoxCache< 3 >

Definition at line 57 of file utils.cpp.

◆ Circle< 2 >

Definition at line 170 of file circle.cpp.

◆ Circle< 3 >

Definition at line 171 of file circle.cpp.

◆ Clip< 2 >

Definition at line 205 of file clip.cpp.

◆ Clip< 3 >

Definition at line 206 of file clip.cpp.

◆ default_logger

PLASK_API shared_ptr< Logger > plask::default_logger

Pointer to the logger.

Definition at line 200 of file log.cpp.

◆ E

constexpr double plask::E = M_E
constexpr

Definition at line 47 of file math.hpp.

◆ FILE_PATH_SEPARATOR

constexpr char plask::FILE_PATH_SEPARATOR = '/'
constexpr

Definition at line 29 of file system.hpp.

◆ Flip< 2 >

Definition at line 266 of file mirror.cpp.

◆ Flip< 3 >

Definition at line 267 of file mirror.cpp.

◆ forcedLoglevel

PLASK_API bool plask::forcedLoglevel = false

Definition at line 36 of file log.cpp.

◆ GeometryD< 2 >

Definition at line 166 of file space.cpp.

◆ GeometryD< 3 >

Definition at line 167 of file space.cpp.

◆ GeometryObjectContainer< 2 >

◆ GeometryObjectContainer< 3 >

◆ GeometryObjectD< 2 >

Definition at line 252 of file object.cpp.

◆ GeometryObjectD< 3 >

Definition at line 253 of file object.cpp.

◆ GeometryObjectLeaf< 2 >

Definition at line 133 of file leaf.cpp.

◆ GeometryObjectLeaf< 3 >

Definition at line 134 of file leaf.cpp.

◆ GeometryObjectSeparator< 2 >

◆ GeometryObjectSeparator< 3 >

◆ HymanSplineMaskedRect2DLazyDataImpl< dcomplex, dcomplex >

◆ HymanSplineMaskedRect2DLazyDataImpl< dcomplex, dcomplex, SplineMaskedRectElement2DLazyDataImpl< dcomplex, dcomplex > >

◆ HymanSplineMaskedRect2DLazyDataImpl< double, double >

◆ HymanSplineMaskedRect2DLazyDataImpl< double, double, SplineMaskedRectElement2DLazyDataImpl< double, double > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor2< double >, Tensor2< double >, SplineMaskedRectElement2DLazyDataImpl< Tensor2< double >, Tensor2< double > > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Tensor3< double >, Tensor3< double >, SplineMaskedRectElement2DLazyDataImpl< Tensor3< double >, Tensor3< double > > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 600 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > > >

template struct PLASK_API plask::HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > > >

Definition at line 631 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double >, SplineMaskedRectElement2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 603 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > > >

template struct PLASK_API plask::HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex >, SplineMaskedRectElement2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > > >

Definition at line 634 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ HymanSplineMaskedRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double >, SplineMaskedRectElement2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > > >

◆ HymanSplineMaskedRect3DLazyDataImpl< dcomplex, dcomplex >

◆ HymanSplineMaskedRect3DLazyDataImpl< dcomplex, dcomplex, SplineMaskedRectElement3DLazyDataImpl< dcomplex, dcomplex > >

◆ HymanSplineMaskedRect3DLazyDataImpl< double, double >

◆ HymanSplineMaskedRect3DLazyDataImpl< double, double, SplineMaskedRectElement3DLazyDataImpl< double, double > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor2< double >, Tensor2< double >, SplineMaskedRectElement3DLazyDataImpl< Tensor2< double >, Tensor2< double > > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Tensor3< double >, Tensor3< double >, SplineMaskedRectElement3DLazyDataImpl< Tensor3< double >, Tensor3< double > > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 615 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > > >

template struct PLASK_API plask::HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > > >

Definition at line 646 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double >, SplineMaskedRectElement3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 618 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > > >

template struct PLASK_API plask::HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex >, SplineMaskedRectElement3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > > >

Definition at line 649 of file rectangular_masked_spline.cpp.

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ HymanSplineMaskedRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double >, SplineMaskedRectElement3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > > >

◆ HymanSplineRect2DLazyDataImpl< dcomplex, dcomplex >

Definition at line 409 of file rectangular_spline.cpp.

◆ HymanSplineRect2DLazyDataImpl< double, double >

◆ HymanSplineRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ HymanSplineRect2DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ HymanSplineRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ HymanSplineRect2DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ HymanSplineRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 412 of file rectangular_spline.cpp.

◆ HymanSplineRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ HymanSplineRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 415 of file rectangular_spline.cpp.

◆ HymanSplineRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ HymanSplineRect3DLazyDataImpl< dcomplex, dcomplex >

Definition at line 424 of file rectangular_spline.cpp.

◆ HymanSplineRect3DLazyDataImpl< double, double >

◆ HymanSplineRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ HymanSplineRect3DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ HymanSplineRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ HymanSplineRect3DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ HymanSplineRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 427 of file rectangular_spline.cpp.

◆ HymanSplineRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ HymanSplineRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 430 of file rectangular_spline.cpp.

◆ HymanSplineRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ id

std::atomic<std::uint64_t> plask::id

Definition at line 21 of file id.cpp.

◆ interpolationMethodNames

PLASK_API const char * plask::interpolationMethodNames
Initial value:
= {
"DEFAULT",
"NEAREST",
"LINEAR",
"SPLINE",
"SMOOTH_SPLINE",
"PERIODIC_SPLINE",
"FOURIER",
"ILLEGAL"
}

Definition at line 18 of file interpolation.cpp.

◆ Intersection< 2 >

◆ Intersection< 3 >

◆ LateralVec< double >

◆ LateralVec< int >

Definition at line 19 of file lateral.cpp.

◆ LN10

constexpr double plask::LN10 = M_LN10
constexpr

Definition at line 71 of file math.hpp.

◆ LN2

constexpr double plask::LN2 = M_LN2
constexpr

Definition at line 65 of file math.hpp.

◆ LOG10E

constexpr double plask::LOG10E = M_LOG10E
constexpr

Definition at line 59 of file math.hpp.

◆ LOG2E

constexpr double plask::LOG2E = M_LOG2E
constexpr

Definition at line 53 of file math.hpp.

◆ material_omp_lock

PLASK_API OmpNestedLock plask::material_omp_lock
extern

Global Python lock.

◆ maxLoglevel

PLASK_API LogLevel plask::maxLoglevel = LOG_DEBUG

Maximum log level.

Definition at line 33 of file log.cpp.

◆ MeshD< 1 >

Definition at line 78 of file mesh.cpp.

◆ MeshD< 2 >

Definition at line 79 of file mesh.cpp.

◆ MeshD< 3 >

Definition at line 80 of file mesh.cpp.

◆ MeshGeneratorD< 1 >

Definition at line 82 of file mesh.cpp.

◆ MeshGeneratorD< 2 >

Definition at line 83 of file mesh.cpp.

◆ MeshGeneratorD< 3 >

Definition at line 84 of file mesh.cpp.

◆ Mirror< 2 >

Definition at line 269 of file mirror.cpp.

◆ Mirror< 3 >

Definition at line 270 of file mirror.cpp.

◆ MultiStackContainer< ShelfContainer2D >

◆ MultiStackContainer< StackContainer< 2 > >

◆ MultiStackContainer< StackContainer< 3 > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< dcomplex, dcomplex >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< double, double >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

◆ NearestNeighborElementExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< double, double >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 640 of file triangular2d.cpp.

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 642 of file triangular2d.cpp.

◆ NearestNeighborElementTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< dcomplex, dcomplex >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< double, double >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

◆ NearestNeighborExtrudedTriangularMesh3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< dcomplex, dcomplex >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< double, double >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 567 of file triangular2d.cpp.

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 569 of file triangular2d.cpp.

◆ NearestNeighborTriangularMesh2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ OnePointMesh< 2 >

Definition at line 28 of file basic.cpp.

◆ OnePointMesh< 3 >

Definition at line 29 of file basic.cpp.

◆ PI

constexpr double plask::PI = M_PI
constexpr

Definition at line 41 of file math.hpp.

◆ PI_2

constexpr double plask::PI_2 = M_PI_2
constexpr

Definition at line 77 of file math.hpp.

◆ PI_4

constexpr double plask::PI_4 = M_PI_4
constexpr

Definition at line 83 of file math.hpp.

◆ PI_DOUBLED

constexpr double plask::PI_DOUBLED = 6.28318530717958647692
constexpr

Definition at line 117 of file math.hpp.

◆ POINT_TOLLERANCE

constexpr double plask::POINT_TOLLERANCE = 1e-12
constexpr

Definition at line 26 of file primitives.hpp.

◆ RectangularMeshDivideGenerator< 1 >

◆ RectangularMeshDivideGenerator< 2 >

◆ RectangularMeshDivideGenerator< 3 >

◆ RectangularMeshRefinedGenerator< 1 >

◆ RectangularMeshRefinedGenerator< 2 >

◆ RectangularMeshRefinedGenerator< 3 >

◆ RectangularMeshSmoothGenerator< 1 >

◆ RectangularMeshSmoothGenerator< 2 >

◆ RectangularMeshSmoothGenerator< 3 >

◆ rectilinearmesh1d_reader

RegisterMeshReader plask::rectilinearmesh1d_reader("rectilinear1d", readOrderedMesh1D_obsolete) ( "rectilinear1d"  ,
readOrderedMesh1D_obsolete   
)

◆ registerBandEdgesFilters

FiltersFactory::RegisterStandard<BandEdges> plask::registerBandEdgesFilters

Definition at line 20 of file filters-electrical-bandedges.cpp.

◆ registerCarriersConcentrationFilters

FiltersFactory::RegisterStandard<CarriersConcentration> plask::registerCarriersConcentrationFilters

Definition at line 20 of file filters-electrical-carriersconcentration.cpp.

◆ registerConductivityFilters

FiltersFactory::RegisterStandard<Conductivity> plask::registerConductivityFilters

Definition at line 21 of file filters-electrical.cpp.

◆ registerCurrentDensityFilters

FiltersFactory::RegisterStandard<CurrentDensity> plask::registerCurrentDensityFilters

Definition at line 20 of file filters-electrical-currentdensity.cpp.

◆ registerEnergyFilters

FiltersFactory::RegisterStandard<Voltage> plask::registerEnergyFilters

Definition at line 20 of file filters-electrical-voltage.cpp.

◆ registerEpsilonFilters

FiltersFactory::RegisterStandard<Epsilon> plask::registerEpsilonFilters

Definition at line 24 of file filters-optical.cpp.

◆ registerFermiLevels

FiltersFactory::RegisterStandard<FermiLevels> plask::registerFermiLevels

Definition at line 20 of file filters-electrical-quasifermilevels.cpp.

◆ registerGainFilters

FiltersFactory::RegisterStandard<Gain> plask::registerGainFilters

Definition at line 20 of file filters-gain.cpp.

◆ registerHeatFilters

FiltersFactory::RegisterStandard<Heat> plask::registerHeatFilters

Definition at line 23 of file filters-thermal.cpp.

◆ registerPotentialFilters

FiltersFactory::RegisterStandard<Potential> plask::registerPotentialFilters

Definition at line 20 of file filters-electrical-potential.cpp.

◆ registerRefractiveIndexFilters

FiltersFactory::RegisterStandard<RefractiveIndex> plask::registerRefractiveIndexFilters

Definition at line 23 of file filters-optical.cpp.

◆ registerTemperatureFilters

FiltersFactory::RegisterStandard<Temperature> plask::registerTemperatureFilters

Definition at line 20 of file filters-thermal.cpp.

◆ registerThermalConductivityFilters

FiltersFactory::RegisterStandard<ThermalConductivity> plask::registerThermalConductivityFilters

Definition at line 24 of file filters-thermal.cpp.

◆ regularmesh1d_reader

RegisterMeshReader plask::regularmesh1d_reader("regular1d", readRegularMesh1D_obsolete) ( "regular1d"  ,
readRegularMesh1D_obsolete   
)

◆ regularmesh_reader

RegisterMeshReader plask::regularmesh_reader("regular", readRegularMesh1D) ( "regular"  ,
readRegularMesh1D   
)

◆ SMALL

constexpr double plask::SMALL = std::numeric_limits<double>::epsilon()
constexpr

The numeric precision limit.

Definition at line 182 of file math.hpp.

◆ SMALL2

constexpr double plask::SMALL2 = SMALL*SMALL
constexpr

Squared numeric precision limit.

Definition at line 183 of file math.hpp.

◆ SmoothSplineRect2DLazyDataImpl< dcomplex, dcomplex >

Definition at line 660 of file rectangular_spline.cpp.

◆ SmoothSplineRect2DLazyDataImpl< double, double >

◆ SmoothSplineRect2DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ SmoothSplineRect2DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ SmoothSplineRect2DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ SmoothSplineRect2DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ SmoothSplineRect2DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 663 of file rectangular_spline.cpp.

◆ SmoothSplineRect2DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ SmoothSplineRect2DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 666 of file rectangular_spline.cpp.

◆ SmoothSplineRect2DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ SmoothSplineRect3DLazyDataImpl< dcomplex, dcomplex >

Definition at line 676 of file rectangular_spline.cpp.

◆ SmoothSplineRect3DLazyDataImpl< double, double >

◆ SmoothSplineRect3DLazyDataImpl< Tensor2< dcomplex >, Tensor2< dcomplex > >

◆ SmoothSplineRect3DLazyDataImpl< Tensor2< double >, Tensor2< double > >

◆ SmoothSplineRect3DLazyDataImpl< Tensor3< dcomplex >, Tensor3< dcomplex > >

◆ SmoothSplineRect3DLazyDataImpl< Tensor3< double >, Tensor3< double > >

◆ SmoothSplineRect3DLazyDataImpl< Vec< 2, dcomplex >, Vec< 2, dcomplex > >

Definition at line 679 of file rectangular_spline.cpp.

◆ SmoothSplineRect3DLazyDataImpl< Vec< 2, double >, Vec< 2, double > >

◆ SmoothSplineRect3DLazyDataImpl< Vec< 3, dcomplex >, Vec< 3, dcomplex > >

Definition at line 682 of file rectangular_spline.cpp.

◆ SmoothSplineRect3DLazyDataImpl< Vec< 3, double >, Vec< 3, double > >

◆ SpatialIndexNode< 2 >

◆ SpatialIndexNode< 3 >

◆ SQRT1_2

constexpr double plask::SQRT1_2 = M_SQRT1_2
constexpr

Definition at line 113 of file math.hpp.

◆ SQRT2

constexpr double plask::SQRT2 = M_SQRT2
constexpr

Definition at line 107 of file math.hpp.

◆ StackContainer< 2 >

Definition at line 389 of file stack.cpp.

◆ StackContainer< 3 >

Definition at line 390 of file stack.cpp.

◆ TranslatedMesh< 2 >

Definition at line 81 of file basic.cpp.

◆ TranslatedMesh< 3 >

Definition at line 82 of file basic.cpp.

◆ Translation< 2 >

Definition at line 172 of file transform.cpp.

◆ Translation< 3 >

Definition at line 173 of file transform.cpp.

◆ TranslationContainer< 2 >

◆ TranslationContainer< 3 >

◆ Vec< 2, double >

Definition at line 18 of file 2d.cpp.

◆ Vec< 2, int >

Definition at line 20 of file 2d.cpp.

◆ Vec< 3, double >

Definition at line 18 of file 3d.cpp.