Alpine3D 20241222.625fd38
SolarPanel Class Reference

#include <SolarPanel.h>

Public Member Functions

 SolarPanel ()
 
 SolarPanel (const mio::Config &cfg, const mio::DEMObject &dem_in, const std::vector< std::vector< double > > &pv_pts)
 
void setSP (const mio::Date timestamp, const double solarAzimuth, const double solarElevation)
 Writes output for SolarPanels (PVP files), and updates the sum if generate_PVP_sum==true. More...
 
void setGridRadiation (const mio::Array2D< double > &in_albedo, const mio::Array2D< double > &in_direct, const mio::Array2D< double > &in_diffuse, const mio::Array2D< double > &in_direct_unshaded_horizontal, const double solarAzimuth, const double solarElevation)
 Updates grid Radiation (incoming SWR for all grid points): preparing TerrainRadiation if TerrainRadiationAlg!=COMPLEX. More...
 
void initTerrain (size_t N_terrain_in, size_t M_terrain_in)
 Initializing interface between TerrainRadiationComplex and SolarPanel. More...
 
void setTLists (mio::Array4D< double > TList1, mio::Array4D< double > TList2, mio::Array4D< double > TList3, mio::Array4D< double > TList4)
 Called by TerrainRadiationComplex, updates Terrain Lists. A Terrain List (TList) stores Radiance in all S directions for whole DEM. TList_ms is full terrain radiance while TList_direct is for shading, TList_sky's are for identifying anisotropy and multiple scattering effect. More...
 
void writeSP (const unsigned int max_steps)
 Writes unprojected average radiation to files. More...
 

Constructor & Destructor Documentation

◆ SolarPanel() [1/2]

SolarPanel::SolarPanel ( )
inline

◆ SolarPanel() [2/2]

SolarPanel::SolarPanel ( const mio::Config &  cfg,
const mio::DEMObject &  dem_in,
const std::vector< std::vector< double > > &  pv_pts 
)

Member Function Documentation

◆ initTerrain()

void SolarPanel::initTerrain ( size_t  M_epsilon_terrain_in,
size_t  M_phi_terrain_in 
)

Initializing interface between TerrainRadiationComplex and SolarPanel.

Parameters
[in]TList1-TList4
[out]-

◆ setGridRadiation()

void SolarPanel::setGridRadiation ( const mio::Array2D< double > &  in_albedo,
const mio::Array2D< double > &  in_direct,
const mio::Array2D< double > &  in_diffuse,
const mio::Array2D< double > &  in_direct_unshaded_horizontal,
const double  solarAzimuth,
const double  solarElevation 
)

Updates grid Radiation (incoming SWR for all grid points): preparing TerrainRadiation if TerrainRadiationAlg!=COMPLEX.

Parameters
[in]grid-albedo
[in]grid-directSWR
[in]grid-diffuseSWR
[in]grid-direct-horizontal-unshaded(for projection on PVP/triangles)
[out]-

◆ setSP()

void SolarPanel::setSP ( const mio::Date  timestamp,
const double  solarAzimuth,
const double  solarElevation 
)

Writes output for SolarPanels (PVP files), and updates the sum if generate_PVP_sum==true.

Parameters
[in]Timeobjectfor timestamp
[in]grid-albedo
[out]-

◆ setTLists()

void SolarPanel::setTLists ( mio::Array4D< double >  TList1,
mio::Array4D< double >  TList2,
mio::Array4D< double >  TList3,
mio::Array4D< double >  TList4 
)

Called by TerrainRadiationComplex, updates Terrain Lists. A Terrain List (TList) stores Radiance in all S directions for whole DEM. TList_ms is full terrain radiance while TList_direct is for shading, TList_sky's are for identifying anisotropy and multiple scattering effect.

Parameters
[in]TList1-TList4
[out]-

◆ writeSP()

void SolarPanel::writeSP ( const unsigned int  max_steps)

Writes unprojected average radiation to files.

Parameters
[in]max_stepstimesteps of simulation for mean
[out]-

The documentation for this class was generated from the following files: