PLaSK library
Loading...
Searching...
No Matches
plask::solvers::FermiNew::DataBase< GeometryT, T > Struct Template Referenceabstract

Base for lazy data implementation. More...

Inheritance diagram for plask::solvers::FermiNew::DataBase< GeometryT, T >:
[legend]
Collaboration diagram for plask::solvers::FermiNew::DataBase< GeometryT, T >:
[legend]

Classes

struct  AveragedData
 

Public Member Functions

void setupFromAxis (const shared_ptr< MeshAxis > &axis)
 
 DataBase (FermiNewGainSolver< GeometryT > *solver, const shared_ptr< const MeshD< 2 > > &dst_mesh)
 
void compute (double wavelength, InterpolationMethod interp)
 
virtualgetValue (double wavelength, double temp, double conc, const typename FermiNewGainSolver< GeometryT >::ActiveRegionInfo &region, const Levels &levels)=0
 
size_t size () const override
 Get the number of elements in this vector.
 
at (size_t i) const override
 
- Public Member Functions inherited from plask::LazyDataImpl< T >
virtual ~LazyDataImpl ()
 
virtualat (std::size_t index) const =0
 Get index-th value from vector.
 
virtual DataVector< const T > getAll () const
 Get all values as non-lazy vector.
 
virtual DataVector< T > claim () const
 

Public Attributes

FermiNewGainSolver< GeometryT > * solver
 Solver.
 
std::vector< shared_ptr< MeshAxis > > regpoints
 Points in each active region.
 
std::vector< LazyData< T > > data
 Computed interpolations in each active region.
 
shared_ptr< const MeshD< 2 > > dest_mesh
 Destination mesh.
 

Additional Inherited Members

- Public Types inherited from plask::LazyDataImpl< T >
typedefCellType
 

Detailed Description

template<typename GeometryT, typename T>
struct plask::solvers::FermiNew::DataBase< GeometryT, T >

Base for lazy data implementation.

Definition at line 688 of file ferminew.cpp.

Constructor & Destructor Documentation

◆ DataBase()

template<typename GeometryT , typename T >
plask::solvers::FermiNew::DataBase< GeometryT, T >::DataBase ( FermiNewGainSolver< GeometryT > *  solver,
const shared_ptr< const MeshD< 2 > > &  dst_mesh 
)
inline

Definition at line 746 of file ferminew.cpp.

Member Function Documentation

◆ at()

template<typename GeometryT , typename T >
T plask::solvers::FermiNew::DataBase< GeometryT, T >::at ( size_t  i) const
inlineoverride

Definition at line 819 of file ferminew.cpp.

◆ compute()

template<typename GeometryT , typename T >
void plask::solvers::FermiNew::DataBase< GeometryT, T >::compute ( double  wavelength,
InterpolationMethod  interp 
)
inline

Definition at line 769 of file ferminew.cpp.

◆ getValue()

◆ setupFromAxis()

template<typename GeometryT , typename T >
void plask::solvers::FermiNew::DataBase< GeometryT, T >::setupFromAxis ( const shared_ptr< MeshAxis > &  axis)
inline

Definition at line 729 of file ferminew.cpp.

◆ size()

template<typename GeometryT , typename T >
size_t plask::solvers::FermiNew::DataBase< GeometryT, T >::size ( ) const
inlineoverridevirtual

Get the number of elements in this vector.

Returns
the number of elements in this vector

Implements plask::LazyDataImpl< T >.

Definition at line 817 of file ferminew.cpp.

Member Data Documentation

◆ data

template<typename GeometryT , typename T >
std::vector<LazyData<T> > plask::solvers::FermiNew::DataBase< GeometryT, T >::data

Computed interpolations in each active region.

Definition at line 726 of file ferminew.cpp.

◆ dest_mesh

template<typename GeometryT , typename T >
shared_ptr<const MeshD<2> > plask::solvers::FermiNew::DataBase< GeometryT, T >::dest_mesh

Destination mesh.

Definition at line 727 of file ferminew.cpp.

◆ regpoints

template<typename GeometryT , typename T >
std::vector<shared_ptr<MeshAxis> > plask::solvers::FermiNew::DataBase< GeometryT, T >::regpoints

Points in each active region.

Definition at line 725 of file ferminew.cpp.

◆ solver


The documentation for this struct was generated from the following file: