Commit 2557dcb8 authored by Steffen Schotthöfer's avatar Steffen Schotthöfer
Browse files

more documentation


Former-commit-id: 89068dc9
parent 3ac7e043
...@@ -27,7 +27,7 @@ class OptionBase; ...@@ -27,7 +27,7 @@ class OptionBase;
class Config class Config
{ {
private: private:
std::string _fileName; /*!< @rief Name of the current file without extension */ std::string _fileName; /*!< @brief Name of the current file without extension */
bool _baseConfig; bool _baseConfig;
// int _commRank, _commSize; /*!< @brief MPI rank and size.*/ // Not yet used!! // int _commRank, _commSize; /*!< @brief MPI rank and size.*/ // Not yet used!!
......
/*! /*!
* \file GlobalConstants.h * \file globalconstants.h
* \brief All global defined (physical) constants, enums etc * \brief All global defined (physical) constants, enums etc
* \author <blank> * \author <blank>
* \version 0.0 * \version 0.0
......
...@@ -10,10 +10,10 @@ class Config; ...@@ -10,10 +10,10 @@ class Config;
class Mesh; class Mesh;
/*! @brief Function to export solver Volume output to VTK file. /*! @brief Function to export solver Volume output to VTK file.
* @param filename: Filename of output file * @param fileName Filename of output file
* @param outputFields: numerical output of the solver. Dimensions: (OutputGroupSize, OutputFieldSize, NumberMeshCells) * @param outputFields numerical output of the solver. Dimensions: (OutputGroupSize, OutputFieldSize, NumberMeshCells)
* @param outputFieldNames: names of the outputfields. Dimensions: (OutputGroupSize, OutputFieldSize) * @param outputFieldNames names of the outputfields. Dimensions: (OutputGroupSize, OutputFieldSize)
* @param mesh: Mesh with <NumberMeshCells> cells (the mesh used for the computation) * @param mesh Mesh with cells (the mesh used for the computation)
*/ */
void ExportVTK( const std::string fileName, void ExportVTK( const std::string fileName,
const std::vector<std::vector<std::vector<double>>>& outputFields, const std::vector<std::vector<std::vector<double>>>& outputFields,
......
...@@ -18,23 +18,23 @@ ...@@ -18,23 +18,23 @@
class Mesh class Mesh
{ {
protected: protected:
const unsigned _dim; /*!< @brief spatial dimension of the mesh, i.e. 1D,2D,3D */ const unsigned _dim; /*!< @brief spatial dimension of the mesh, i.e. 1D,2D,3D */
const unsigned _numCells; /*!< @brief number of cells in the mesh */ const unsigned _numCells; /*!< @brief number of cells in the mesh */
const unsigned _numNodes; /*!< @brief number of nodes in the mesh (for node centered view)*/ const unsigned _numNodes; /*!< @brief number of nodes in the mesh (for node centered view)*/
const unsigned _numNodesPerCell; /*!< @brief number of nodes per cell */ const unsigned _numNodesPerCell; /*!< @brief number of nodes per cell */
const unsigned _numBoundaries; /*!< @brief number of boundary cells in the mesh */ const unsigned _numBoundaries; /*!< @brief number of boundary cells in the mesh */
const unsigned _ghostCellID; /*!< @brief Id of the ghost cell. (we use only one ghost cell). equal to _numCells and therefore has the ID of the const unsigned _ghostCellID; /*!< @brief Id of the ghost cell. (we use only one ghost cell). equal to _numCells and therefore has the ID of the
last cell + 1 */ last cell + 1 */
unsigned _numNodesPerBoundary; unsigned _numNodesPerBoundary;
std::vector<std::pair<double, double>> _bounds; // ??? std::vector<std::pair<double, double>> _bounds; // ???
std::vector<Vector> _nodes; /*!< @brief nodes in the mesh. dimension:_numNodes<_dim> */ std::vector<Vector> _nodes; /*!< @brief nodes in the mesh. dimension:_numNodes<_dim> */
std::vector<std::vector<unsigned>> _cells; /*!< @brief cells in the mesh. dimension:_numCells<_numNodesPerCell> */ std::vector<std::vector<unsigned>> _cells; /*!< @brief cells in the mesh. dimension:_numCells<_numNodesPerCell> */
/*! @brief boundary cells in the mesh. Pair defines boundary type of the boundary nodes of the cell. numBoundaries<(1,numBoundaryNodes)>*/ /*! @brief boundary cells in the mesh. Pair defines boundary type of the boundary nodes of the cell. numBoundaries<(1,numBoundaryNodes)>*/
std::vector<std::pair<BOUNDARY_TYPE, std::vector<unsigned>>> _boundaries; std::vector<std::pair<BOUNDARY_TYPE, std::vector<unsigned>>> _boundaries;
std::vector<double> _cellAreas; /*!< @brief cell areas of the mesh. dimension: numCells*/ std::vector<double> _cellAreas; /*!< @brief cell areas of the mesh. dimension: numCells*/
std::vector<Vector> _cellMidPoints; /*!< @brief cell midpoints of the mesh. dimension: numCells<dim>*/ std::vector<Vector> _cellMidPoints; /*!< @brief cell midpoints of the mesh. dimension: numCells<dim>*/
std::vector<std::vector<unsigned>> _cellNeighbors; /*!< @brief neighbors of each cell. dimension: numCells<numNodesPerCell>*/ std::vector<std::vector<unsigned>> _cellNeighbors; /*!< @brief neighbors of each cell. dimension: numCells<numNodesPerCell>*/
/*! @brief outward facing normals of each side of each cell. dimension: numCells<numNodesPerCell<dim>>, all /*! @brief outward facing normals of each side of each cell. dimension: numCells<numNodesPerCell<dim>>, all
...@@ -42,13 +42,13 @@ class Mesh ...@@ -42,13 +42,13 @@ class Mesh
std::vector<std::vector<Vector>> _cellNormals; std::vector<std::vector<Vector>> _cellNormals;
/*! @brief Tags each cell with its boundary type. None means no boundary. dimension: numCells */ /*! @brief Tags each cell with its boundary type. None means no boundary. dimension: numCells */
std::vector<BOUNDARY_TYPE> _cellBoundaryTypes; std::vector<BOUNDARY_TYPE> _cellBoundaryTypes;
std::vector<unsigned> _colors; /*!< @brief Color of each cell (for MPI mesh partitioning). dimension: numCells */ std::vector<unsigned> _colors; /*!< @brief Color of each cell (for MPI mesh partitioning). dimension: numCells */
blaze::CompressedMatrix<bool> _nodeNeighbors; /*!< @brief neighborshood relationship of nodes for (par-)metis */ blaze::CompressedMatrix<bool> _nodeNeighbors; /*!< @brief neighborshood relationship of nodes for (par-)metis */
void ComputeCellAreas(); /*!< @brief Computes only the areas of the mesh cells. Write to _cellAreas. */ void ComputeCellAreas(); /*!< @brief Computes only the areas of the mesh cells. Write to _cellAreas. */
void ComputeCellMidpoints(); /*!< @brief Compute only the midpoints of the cells. Write to _cellMidPoints*/ void ComputeCellMidpoints(); /*!< @brief Compute only the midpoints of the cells. Write to _cellMidPoints*/
void ComputeConnectivity(); /*!< @brief Computes _cellNeighbors and _nodeNeighbors, i.e. neighborship relation in mesh*/ void ComputeConnectivity(); /*!< @brief Computes _cellNeighbors and _nodeNeighbors, i.e. neighborship relation in mesh*/
void ComputePartitioning(); /*!< @brief Computes local partitioning for openMP */ void ComputePartitioning(); /*!< @brief Computes local partitioning for openMP */
/*! @brief Computes outward facing normal of two neighboring nodes nodeA and nodeB with common cellCellcenter. /*! @brief Computes outward facing normal of two neighboring nodes nodeA and nodeB with common cellCellcenter.
* Normals are scaled with their respective edge length * Normals are scaled with their respective edge length
......
/*! /*!
* \file OptionStructure.h * \file optionstructure.h
* \brief Classes for different Options in rtsn * \brief Classes for different Options in KiT-RT
* \author S. Schotthoefer
*
* Disclaimer: This class structure was copied and modifed with open source permission from SU2 v7.0.3 https://su2code.github.io/
*/ */
#ifndef OPTION_STRUCTURE_H #ifndef OPTION_STRUCTURE_H
...@@ -38,8 +35,8 @@ class OptionBase ...@@ -38,8 +35,8 @@ class OptionBase
class OptionDouble : public OptionBase class OptionDouble : public OptionBase
{ {
double& _field; /*!< @brief Reference to the double field value */ double& _field; /*!< @brief Reference to the double field value */
double _def; /*!< @brief Default value */ double _def; /*!< @brief Default value */
std::string _name; /*!< @brief String identifier for the option */ std::string _name; /*!< @brief String identifier for the option */
public: public:
...@@ -55,8 +52,8 @@ class OptionDouble : public OptionBase ...@@ -55,8 +52,8 @@ class OptionDouble : public OptionBase
class OptionString : public OptionBase class OptionString : public OptionBase
{ {
std::string& _field; /*!< @brief Reference to the string field value */ std::string& _field; /*!< @brief Reference to the string field value */
std::string _def; /*!< @brief Default value */ std::string _def; /*!< @brief Default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
public: public:
OptionString( std::string option_field_name, std::string& option_field, std::string default_value ); OptionString( std::string option_field_name, std::string& option_field, std::string default_value );
...@@ -70,8 +67,8 @@ class OptionString : public OptionBase ...@@ -70,8 +67,8 @@ class OptionString : public OptionBase
class OptionInt : public OptionBase class OptionInt : public OptionBase
{ {
int& _field; /*!< @brief Reference to the int field value */ int& _field; /*!< @brief Reference to the int field value */
int _def; /*!< @brief Default value */ int _def; /*!< @brief Default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
public: public:
...@@ -87,8 +84,8 @@ class OptionInt : public OptionBase ...@@ -87,8 +84,8 @@ class OptionInt : public OptionBase
class OptionULong : public OptionBase class OptionULong : public OptionBase
{ {
unsigned long& _field; /*!< @brief Reference to the unsigned long field value */ unsigned long& _field; /*!< @brief Reference to the unsigned long field value */
unsigned long _def; /*!< @brief Default value */ unsigned long _def; /*!< @brief Default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
public: public:
OptionULong( std::string option_field_name, unsigned long& option_field, unsigned long default_value ); OptionULong( std::string option_field_name, unsigned long& option_field, unsigned long default_value );
...@@ -103,8 +100,8 @@ class OptionULong : public OptionBase ...@@ -103,8 +100,8 @@ class OptionULong : public OptionBase
class OptionUShort : public OptionBase class OptionUShort : public OptionBase
{ {
unsigned short& _field; /*!< @brief Reference to the unsigned short field value */ unsigned short& _field; /*!< @brief Reference to the unsigned short field value */
unsigned short _def; /*!< @brief Default value */ unsigned short _def; /*!< @brief Default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
public: public:
OptionUShort( std::string option_field_name, unsigned short& option_field, unsigned short default_value ); OptionUShort( std::string option_field_name, unsigned short& option_field, unsigned short default_value );
...@@ -118,8 +115,8 @@ class OptionUShort : public OptionBase ...@@ -118,8 +115,8 @@ class OptionUShort : public OptionBase
class OptionLong : public OptionBase class OptionLong : public OptionBase
{ {
long& _field; /*!< @brief Reference to the long field value */ long& _field; /*!< @brief Reference to the long field value */
long _def; /*!< @brief Default value */ long _def; /*!< @brief Default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
public: public:
...@@ -134,8 +131,8 @@ class OptionLong : public OptionBase ...@@ -134,8 +131,8 @@ class OptionLong : public OptionBase
class OptionBool : public OptionBase class OptionBool : public OptionBase
{ {
bool& _field; /*!< @brief Reference to the bool field value */ bool& _field; /*!< @brief Reference to the bool field value */
bool _def; /*!< @brief Default value */ bool _def; /*!< @brief Default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
public: public:
...@@ -151,8 +148,8 @@ class OptionBool : public OptionBase ...@@ -151,8 +148,8 @@ class OptionBool : public OptionBase
class OptionStringList : public OptionBase class OptionStringList : public OptionBase
{ {
std::vector<std::string>& _field; /*!< @brief Reference to the string list field value. no default value */ std::vector<std::string>& _field; /*!< @brief Reference to the string list field value. no default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
unsigned short& _size; /*!< @brief Size of string list */ unsigned short& _size; /*!< @brief Size of string list */
public: public:
OptionStringList( std::string option_field_name, unsigned short& list_size, std::vector<std::string>& option_field ); OptionStringList( std::string option_field_name, unsigned short& list_size, std::vector<std::string>& option_field );
...@@ -170,9 +167,9 @@ template <class Tenum> class OptionEnum : public OptionBase ...@@ -170,9 +167,9 @@ template <class Tenum> class OptionEnum : public OptionBase
{ {
std::map<std::string, Tenum> _map; /*!< @brief Map <String name of the option in cfg file, enum field name of cpp framework> */ std::map<std::string, Tenum> _map; /*!< @brief Map <String name of the option in cfg file, enum field name of cpp framework> */
Tenum& _field; /*!< @brief Reference to the enum fieldname */ Tenum& _field; /*!< @brief Reference to the enum fieldname */
Tenum _def; /*!< @brief Default value */ Tenum _def; /*!< @brief Default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
public: public:
OptionEnum( std::string option_field_name, const std::map<std::string, Tenum> m, Tenum& option_field, Tenum default_value ) OptionEnum( std::string option_field_name, const std::map<std::string, Tenum> m, Tenum& option_field, Tenum default_value )
...@@ -213,9 +210,9 @@ template <class Tenum> class OptionEnumList : public OptionBase ...@@ -213,9 +210,9 @@ template <class Tenum> class OptionEnumList : public OptionBase
{ {
std::map<std::string, Tenum> _map; /*!< @brief Map <String name of the option in cfg file, enum field name of cpp framework> */ std::map<std::string, Tenum> _map; /*!< @brief Map <String name of the option in cfg file, enum field name of cpp framework> */
std::vector<Tenum>& _field; /*!< @brief Reference to the enum list fieldname. No default value */ std::vector<Tenum>& _field; /*!< @brief Reference to the enum list fieldname. No default value */
std::string _name; /*!< @brief string identifier for the option */ std::string _name; /*!< @brief string identifier for the option */
unsigned short& _size; /*!< @brief Size of enum list */ unsigned short& _size; /*!< @brief Size of enum list */
public: public:
OptionEnumList( std::string option_field_name, const std::map<std::string, Tenum> m, std::vector<Tenum>& option_field, unsigned short& list_size ) OptionEnumList( std::string option_field_name, const std::map<std::string, Tenum> m, std::vector<Tenum>& option_field, unsigned short& list_size )
......
...@@ -20,19 +20,19 @@ class NumericalFlux ...@@ -20,19 +20,19 @@ class NumericalFlux
virtual double Flux( const Vector& Omega, double psiL, double psiR, const Vector& n ) const = 0; virtual double Flux( const Vector& Omega, double psiL, double psiR, const Vector& n ) const = 0;
/** /**
* @brief Flux : Computes <Steger Warming> upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in * @brief Flux Computes "Steger Warming" upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in
* resultFlux * resultFlux
* @param AxPlus : Positive part of the flux jacobian in x direction * @param AxPlus Positive part of the flux jacobian in x direction
* @param AxMinus : Negative part of the flux jacobian in x direction * @param AxMinus Negative part of the flux jacobian in x direction
* @param AyPlus : Positive part of the flux jacobian in y direction * @param AyPlus Positive part of the flux jacobian in y direction
* @param AyMinus : Negative part of the flux jacobian in y direction * @param AyMinus Negative part of the flux jacobian in y direction
* @param AzPlus : Positive part of the flux jacobian in z direction * @param AzPlus Positive part of the flux jacobian in z direction
* @param AzMinus : Negative part of the flux jacobian in z direction * @param AzMinus Negative part of the flux jacobian in z direction
* @param psiL : Solution state of left hand side control volume * @param psiL Solution state of left hand side control volume
* @param psiR : Solution state of right hand side control volume * @param psiR Solution state of right hand side control volume
* @param n : Normal vector at the edge between left and right control volume * @param n Normal vector at the edge between left and right control volume
* @param resultFlux: Vector with resulting flux. * @param resultFlux Vector with resulting flux.
* @return : void * @return void
*/ */
virtual Vector Flux( const Matrix AxPlus, virtual Vector Flux( const Matrix AxPlus,
const Matrix AxMinus, const Matrix AxMinus,
......
...@@ -23,19 +23,19 @@ class UpwindFlux : public NumericalFlux ...@@ -23,19 +23,19 @@ class UpwindFlux : public NumericalFlux
double Flux( const Vector& Omega, double psiL, double psiR, const Vector& n ) const override; double Flux( const Vector& Omega, double psiL, double psiR, const Vector& n ) const override;
/** /**
* @brief Flux : Computes <Steger Warming> upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in * @brief Flux Computes "Steger Warming" upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in
* resultFlux * resultFlux
* @param AxPlus : Positive part of the flux jacobian in x direction * @param AxPlus Positive part of the flux jacobian in x direction
* @param AxMinus : Negative part of the flux jacobian in x direction * @param AxMinus Negative part of the flux jacobian in x direction
* @param AyPlus : Positive part of the flux jacobian in y direction * @param AyPlus Positive part of the flux jacobian in y direction
* @param AyMinus : Negative part of the flux jacobian in y direction * @param AyMinus Negative part of the flux jacobian in y direction
* @param AzPlus : Positive part of the flux jacobian in z direction * @param AzPlus Positive part of the flux jacobian in z direction
* @param AzMinus : Negative part of the flux jacobian in z direction * @param AzMinus Negative part of the flux jacobian in z direction
* @param psiL : Solution state of left hand side control volume * @param psiL Solution state of left hand side control volume
* @param psiR : Solution state of right hand side control volume * @param psiR Solution state of right hand side control volume
* @param n : Normal vector at the edge between left and right control volume * @param n Normal vector at the edge between left and right control volume
* @param resultFlux: Vector with resulting flux. * @param resultFlux Vector with resulting flux.
* @return : void * @return void
*/ */
Vector Flux( const Matrix AxPlus, Vector Flux( const Matrix AxPlus,
const Matrix AxMinus, const Matrix AxMinus,
...@@ -48,19 +48,19 @@ class UpwindFlux : public NumericalFlux ...@@ -48,19 +48,19 @@ class UpwindFlux : public NumericalFlux
const Vector n ) const override; const Vector n ) const override;
/** /**
* @brief Flux : Computes <VanLeer> upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in * @brief Flux Computes "VanLeer" upwinding scheme for given flux jacobians of the PN Solver at a given edge and stores it in
* resultFlux * resultFlux
* @param AxPlus : Positive part of the flux jacobian in x direction * @param AxPlus Positive part of the flux jacobian in x direction
* @param AxMinus : Negative part of the flux jacobian in x direction * @param AxMinus Negative part of the flux jacobian in x direction
* @param AyPlus : Positive part of the flux jacobian in y direction * @param AyPlus Positive part of the flux jacobian in y direction
* @param AyMinus : Negative part of the flux jacobian in y direction * @param AyMinus Negative part of the flux jacobian in y direction
* @param AzPlus : Positive part of the flux jacobian in z direction * @param AzPlus Positive part of the flux jacobian in z direction
* @param AzMinus : Negative part of the flux jacobian in z direction * @param AzMinus Negative part of the flux jacobian in z direction
* @param psiL : Solution state of left hand side control volume * @param psiL Solution state of left hand side control volume
* @param psiR : Solution state of right hand side control volume * @param psiR Solution state of right hand side control volume
* @param n : Normal vector at the edge between left and right control volume * @param n Normal vector at the edge between left and right control volume
* @param resultFlux: Vector with resulting flux. * @param resultFlux Vector with resulting flux.
* @return : void * @return void
*/ */
void FluxVanLeer( const Matrix& Ax, void FluxVanLeer( const Matrix& Ax,
const Matrix& AxAbs, const Matrix& AxAbs,
......
...@@ -35,12 +35,12 @@ class NewtonOptimizer : public OptimizerBase ...@@ -35,12 +35,12 @@ class NewtonOptimizer : public OptimizerBase
void ComputeHessian( Vector& alpha, const VectorVector& moments, Matrix& hessian ); void ComputeHessian( Vector& alpha, const VectorVector& moments, Matrix& hessian );
QuadratureBase* _quadrature; /*!< @brief used quadrature */ // THis is memory doubling! Try to use a pointer. QuadratureBase* _quadrature; /*!< @brief used quadrature */ // THis is memory doubling! Try to use a pointer.
unsigned _nq; /*!< @brief number of quadrature points */ unsigned _nq; /*!< @brief number of quadrature points */
Vector _weights; /*!< @brief quadrature weights, dim(_weights) = (_nq) */ Vector _weights; /*!< @brief quadrature weights, dim(_weights) = (_nq) */
double _epsilon; /*!< @brief Termination criterion for newton optimizer */ double _epsilon; /*!< @brief Termination criterion for newton optimizer */
unsigned short _maxIterations; /*!< @brief Max iterations of the newton solver */ unsigned short _maxIterations; /*!< @brief Max iterations of the newton solver */
double _alpha; /*!< @brief Newton Step Size */ double _alpha; /*!< @brief Newton Step Size */
unsigned short _maxLineSearches; /*!< @brief Max amount of line searches for Newton Algo */ unsigned short _maxLineSearches; /*!< @brief Max amount of line searches for Newton Algo */
}; };
......
...@@ -7,33 +7,33 @@ class Checkerboard_SN : public ProblemBase ...@@ -7,33 +7,33 @@ class Checkerboard_SN : public ProblemBase
{ {
private: private:
Vector _scatteringXS; /*!< @brief Vector of scattering crosssections */ Vector _scatteringXS; /*!< @brief Vector of scattering crosssections */
Vector _totalXS; /*!< @brief Vector of total crosssections */ Vector _totalXS; /*!< @brief Vector of total crosssections */
Checkerboard_SN() = delete; Checkerboard_SN() = delete;
bool isAbsorption( const Vector& pos ) const; /*!< @return True if pos is in absorption region, False otherwise */ bool isAbsorption( const Vector& pos ) const; /*!< @return True if pos is in absorption region, False otherwise */
bool isSource( const Vector& pos ) const; /*!< @return True if pos is in source region, False otherwise */ bool isSource( const Vector& pos ) const; /*!< @return True if pos is in source region, False otherwise */
public: public:
Checkerboard_SN( Config* settings, Mesh* mesh ); Checkerboard_SN( Config* settings, Mesh* mesh );
virtual ~Checkerboard_SN(); virtual ~Checkerboard_SN();
virtual VectorVector GetScatteringXS( const Vector& energies ); virtual VectorVector GetScatteringXS( const Vector& energies ) override;
virtual VectorVector GetTotalXS( const Vector& energies ); virtual VectorVector GetTotalXS( const Vector& energies ) override;
virtual std::vector<VectorVector> GetExternalSource( const Vector& energies ); virtual std::vector<VectorVector> GetExternalSource( const Vector& energies ) override;
virtual VectorVector SetupIC(); virtual VectorVector SetupIC() override;
}; };
class Checkerboard_PN : public ProblemBase class Checkerboard_PN : public ProblemBase
{ {
private: private:
Vector _scatteringXS; /*!< @brief Vector of scattering crosssections len: numCells */ Vector _scatteringXS; /*!< @brief Vector of scattering crosssections len: numCells */
Vector _totalXS; /*!< @brief Vector of total crosssections. len: numCells*/ Vector _totalXS; /*!< @brief Vector of total crosssections. len: numCells*/
Checkerboard_PN() = delete; Checkerboard_PN() = delete;
bool isAbsorption( const Vector& pos ) const; /*!< @return True if pos is in absorption region, False otherwise */ bool isAbsorption( const Vector& pos ) const; /*!< @return True if pos is in absorption region, False otherwise */
bool isSource( const Vector& pos ) const; /*!< @return True if pos is in source region, False otherwise */ bool isSource( const Vector& pos ) const; /*!< @return True if pos is in source region, False otherwise */
/** /**
* @brief Gets the global index for given order l of Legendre polynomials and given * @brief Gets the global index for given order l of Legendre polynomials and given
...@@ -49,10 +49,10 @@ class Checkerboard_PN : public ProblemBase ...@@ -49,10 +49,10 @@ class Checkerboard_PN : public ProblemBase
Checkerboard_PN( Config* settings, Mesh* mesh ); Checkerboard_PN( Config* settings, Mesh* mesh );
virtual ~Checkerboard_PN(); virtual ~Checkerboard_PN();
virtual VectorVector GetScatteringXS( const Vector& energies ); virtual VectorVector GetScatteringXS( const Vector& energies ) override;
virtual VectorVector GetTotalXS( const Vector& energies ); virtual VectorVector GetTotalXS( const Vector& energies ) override;
virtual std::vector<VectorVector> GetExternalSource( const Vector& energies ); virtual std::vector<VectorVector> GetExternalSource( const Vector& energies ) override;
virtual VectorVector SetupIC(); virtual VectorVector SetupIC() override;
}; };
#endif // CHECKERBOARD_H #endif // CHECKERBOARD_H
...@@ -66,7 +66,7 @@ class ICRU ...@@ -66,7 +66,7 @@ class ICRU
double _R1; double _R1;
Vector _E, /*! @brief User queried Energy */ Vector _E, /*! @brief User queried Energy */
_QMU; /*!< @briefUser queried mu */ _QMU; /*!< @briefUser queried mu */
std::vector<double> _ET, _ETL; std::vector<double> _ET, _ETL;
std::vector<double> _XMU, /* angular variable mu of dataset */ std::vector<double> _XMU, /* angular variable mu of dataset */
......
...@@ -23,5 +23,4 @@ class IsotropicSource2D : public ElectronRT ...@@ -23,5 +23,4 @@ class IsotropicSource2D : public ElectronRT
std::vector<double> GetDensity( const VectorVector& cellMidPoints ); std::vector<double> GetDensity( const VectorVector& cellMidPoints );
}; };
#endif // ISOTROPICSOURCE2D_H
#endif // ISOTROPICSOURCE2D_H
...@@ -17,7 +17,7 @@ class ProblemBase ...@@ -17,7 +17,7 @@ class ProblemBase
Mesh* _mesh; Mesh* _mesh;
EPICS* _physics; EPICS* _physics;
std::vector<double> _density; /*!< @brief vector with patient densities */ std::vector<double> _density; /*!< @brief vector with patient densities */
std::vector<double> _stoppingPower; /*!< @brief vector with stopping powers*/ std::vector<double> _stoppingPower; /*!< @brief vector with stopping powers*/
ProblemBase() = delete; ProblemBase() = delete;
......
...@@ -17,8 +17,8 @@ class QLookupQuadrature : public QuadratureBase ...@@ -17,8 +17,8 @@ class QLookupQuadrature : public QuadratureBase
void printAvailOrders() const; /*!< @brief prints available orders */ void printAvailOrders() const; /*!< @brief prints available orders */
protected: protected:
bool CheckOrder(); /*!< @brief checks if given order is available for this quadrature rule. */ bool CheckOrder(); /*!< @brief checks if given order is available for this quadrature rule. */
void SetNq() override; /*!< @brief Assumes, that _order is available in lookup table */ void SetNq() override; /*!< @brief Assumes, that _order is available in lookup table */
void SetPointsAndWeights() override; /*!< @brief reads in n_points gridpoints and -weights from given filename. */ void SetPointsAndWeights() override; /*!< @brief reads in n_points gridpoints and -weights from given filename. */
virtual void SetAvailOrders() = 0; /*!< @brief Sets vector with avaialbe Orders and corresponding vector with Nq. */ virtual void SetAvailOrders() = 0; /*!< @brief Sets vector with avaialbe Orders and corresponding vector with Nq. */
...@@ -26,6 +26,6 @@ class QLookupQuadrature : public QuadratureBase ...@@ -26,6 +26,6 @@ class QLookupQuadrature : public QuadratureBase
virtual std::string GetLookupTable() = 0; /*!< @brief returns lookuptable of _order. Assumes order is available */ virtual std::string GetLookupTable() = 0; /*!< @brief returns lookuptable of _order. Assumes order is available */
std::vector<unsigned> _availableOrders; /*!< @brief Vector with available orders for lookup table */ std::vector<unsigned> _availableOrders; /*!< @brief Vector with available orders for lookup table */
std::vector<unsigned> _nqByOrder; /*!< @brief Vector with number of quadrature points of each listed order */ std::vector<unsigned> _nqByOrder; /*!< @brief Vector with number of quadrature points of each listed order */
}; };
#endif // QLOOKUPQUADRATURE_H #endif // QLOOKUPQUADRATURE_H
...@@ -24,8 +24,8 @@ class QuadratureBase ...@@ -24,8 +24,8 @@ class QuadratureBase
virtual ~QuadratureBase() {} virtual ~QuadratureBase() {}
// Aux functions // Aux functions
void PrintWeights(); /*!< @brief prints: Weight vector */ void PrintWeights(); /*!< @brief prints: Weight vector */
void PrintPoints(); /*!< @brief prints: Point vectorVector */ void PrintPoints(); /*!< @brief prints: Point vectorVector */
void PrintPointsAndWeights(); /*!< @brief prints: Point vectorVector with corresponding weight vector */ void PrintPointsAndWeights(); /*!< @brief prints: Point vectorVector with corresponding weight vector */
/*! @brief sums up all entries of the weight vector. /*! @brief sums up all entries of the weight vector.
...@@ -76,9 +76,9 @@ class QuadratureBase ...@@ -76,9 +76,9 @@ class QuadratureBase
protected: protected:
// Setter // Setter
inline void SetOrder( unsigned order ) { _order = order; } /*! @brief sets: order of the quadrature */ inline void SetOrder( unsigned order ) { _order = order; } /*! @brief sets: order of the quadrature */
virtual void SetName() = 0; /*!< @brief Sets: name of the quadrature */ virtual void SetName() = 0; /*!< @brief Sets: name of the quadrature */
virtual void SetNq() = 0; /*!< @brief sets: number of gridpoints of the quadrature */ virtual void SetNq() = 0; /*!< @brief sets: number of gridpoints of the quadrature */
virtual void SetConnectivity() = 0; /*!< @brief sets: Connectivity Adjacency Matrix as VektorVektor*/ virtual void SetConnectivity() = 0; /*!< @brief sets: Connectivity Adjacency Matrix as VektorVektor*/
/*! @brief Computes the a vector (length: nq) of (coordinates of) gridpoints used for the quadrature rule. /*! @brief Computes the a vector (length: nq) of (coordinates of) gridpoints used for the quadrature rule.
* Computes the a vector (length: nq) of weights for the gridpoints. The indices match the gridpoints VectorVector. * Computes the a vector (length: nq) of weights for the gridpoints. The indices match the gridpoints VectorVector.
...@@ -86,13 +86,13 @@ class QuadratureBase ...@@ -86,13 +86,13 @@ class QuadratureBase
virtual void SetPointsAndWeights() = 0; virtual void SetPointsAndWeights() = 0;