@@ -263,39 +263,57 @@ PYBIND11_MODULE(wincalcbindings, m) {
263
263
.def (py::init<Tarcog::ISO15099::CIGUGapLayer const &,
264
264
Tarcog::ISO15099::RectangularPillar const &>(),
265
265
py::arg (" gap_layer" ), py::arg (" rectangular_pillar" ));
266
-
267
- py::class_<Tarcog::ISO15099::PolygonalPillar, Tarcog::ISO15099::PillarData,
268
- std::shared_ptr<Tarcog::ISO15099::PolygonalPillar>>(
269
- m, " PolygonalPillar" )
270
- .def (py::init<double , double , double , double ,
271
- Tarcog::ISO15099::PolygonType>(),
272
- py::arg (" height" ), py::arg (" material_conductivity" ),
273
- py::arg (" cell_area" ), py::arg (" length" ), py::arg (" polygon_type" ))
274
- .def_readwrite (" length" , &Tarcog::ISO15099::PolygonalPillar::length)
275
- .def_readwrite (" polygon_type" , &Tarcog::ISO15099::PolygonalPillar::type);
266
+
267
+ py::class_<Tarcog::ISO15099::PolygonalPillar,
268
+ Tarcog::ISO15099::PillarData,
269
+ std::shared_ptr<Tarcog::ISO15099::PolygonalPillar>>(m, " PolygonalPillar" )
270
+ .def (py::init<double , double , double , double >(), py::arg (" height" ),
271
+ py::arg (" material_conductivity" ), py::arg (" cell_area" ), py::arg (" length" ))
272
+ .def_readwrite (" legnth" , &Tarcog::ISO15099::PolygonalPillar::length);
273
+
274
+ py::class_<Tarcog::ISO15099::TriangularPillar,
275
+ Tarcog::ISO15099::PolygonalPillar,
276
+ Tarcog::ISO15099::PillarData,
277
+ std::shared_ptr<Tarcog::ISO15099::TriangularPillar>>(m, " TriangularPillar" )
278
+ .def (py::init<double , double , double , double >(), py::arg (" height" ),
279
+ py::arg (" material_conductivity" ), py::arg (" cell_area" ), py::arg (" length" ));
276
280
277
281
py::class_<Tarcog::ISO15099::TriangularPillarLayer,
278
282
Tarcog::ISO15099::UniversalSupportPillar,
279
283
std::shared_ptr<Tarcog::ISO15099::TriangularPillarLayer>>(
280
284
m, " TriangularPillarLayer" )
281
285
.def (py::init<Tarcog::ISO15099::CIGUGapLayer const &,
282
- Tarcog::ISO15099::PolygonalPillar const &>(),
286
+ Tarcog::ISO15099::TriangularPillar const &>(),
283
287
py::arg (" gap_layer" ), py::arg (" polygon_pillar" ));
288
+
289
+ py::class_<Tarcog::ISO15099::PentagonPillar,
290
+ Tarcog::ISO15099::PolygonalPillar,
291
+ Tarcog::ISO15099::PillarData,
292
+ std::shared_ptr<Tarcog::ISO15099::PentagonPillar>>(m, " PentagonPillar" )
293
+ .def (py::init<double , double , double , double >(), py::arg (" height" ),
294
+ py::arg (" material_conductivity" ), py::arg (" cell_area" ), py::arg (" length" ));
284
295
285
296
py::class_<Tarcog::ISO15099::PentagonPillarLayer,
286
297
Tarcog::ISO15099::UniversalSupportPillar,
287
298
std::shared_ptr<Tarcog::ISO15099::PentagonPillarLayer>>(
288
299
m, " PentagonPillarLayer" )
289
300
.def (py::init<Tarcog::ISO15099::CIGUGapLayer const &,
290
- Tarcog::ISO15099::PolygonalPillar const &>(),
301
+ Tarcog::ISO15099::PentagonPillar const &>(),
291
302
py::arg (" gap_layer" ), py::arg (" polygon_pillar" ));
303
+
304
+ py::class_<Tarcog::ISO15099::HexagonPillar,
305
+ Tarcog::ISO15099::PolygonalPillar,
306
+ Tarcog::ISO15099::PillarData,
307
+ std::shared_ptr<Tarcog::ISO15099::HexagonPillar>>(m, " HexagonPillar" )
308
+ .def (py::init<double , double , double , double >(), py::arg (" height" ),
309
+ py::arg (" material_conductivity" ), py::arg (" cell_area" ), py::arg (" length" ));
292
310
293
311
py::class_<Tarcog::ISO15099::HexagonPillarLayer,
294
312
Tarcog::ISO15099::UniversalSupportPillar,
295
313
std::shared_ptr<Tarcog::ISO15099::HexagonPillarLayer>>(
296
314
m, " HexagonPillarLayer" )
297
315
.def (py::init<Tarcog::ISO15099::CIGUGapLayer const &,
298
- Tarcog::ISO15099::PolygonalPillar const &>(),
316
+ Tarcog::ISO15099::HexagonPillar const &>(),
299
317
py::arg (" gap_layer" ), py::arg (" polygon_pillar" ));
300
318
301
319
py::class_<Tarcog::ISO15099::LinearBearingPillar,
@@ -356,6 +374,29 @@ PYBIND11_MODULE(wincalcbindings, m) {
356
374
.def (py::init<Tarcog::ISO15099::CIGUGapLayer const &,
357
375
Tarcog::ISO15099::AnnulusCylinderPillar const &>(),
358
376
py::arg (" gap_layer" ), py::arg (" annulus_cylinder_pillar" ));
377
+
378
+ py::class_<Tarcog::ISO15099::CShapedCylinderPillar,
379
+ Tarcog::ISO15099::PillarData,
380
+ std::shared_ptr<Tarcog::ISO15099::CShapedCylinderPillar>>(
381
+ m, " CShapedCylinderPillar" )
382
+ .def (py::init<double , double , double , double , double , double >(),
383
+ py::arg (" height" ), py::arg (" material_conductivity" ),
384
+ py::arg (" cell_area" ), py::arg (" inner_radius" ),
385
+ py::arg (" outer_radius" ), py::arg (" fraction_covered" ))
386
+ .def_readwrite (" inner_radius" ,
387
+ &Tarcog::ISO15099::CShapedCylinderPillar::innerRadius)
388
+ .def_readwrite (" outer_radius" ,
389
+ &Tarcog::ISO15099::CShapedCylinderPillar::outerRadius)
390
+ .def_readwrite (" fraction_covered" ,
391
+ &Tarcog::ISO15099::CShapedCylinderPillar::fractionCovered);
392
+
393
+ py::class_<Tarcog::ISO15099::CShapedCylinderPillarLayer,
394
+ Tarcog::ISO15099::UniversalSupportPillar,
395
+ std::shared_ptr<Tarcog::ISO15099::CShapedCylinderPillarLayer>>(
396
+ m, " CShapedCylinderPillarLayer" )
397
+ .def (py::init<Tarcog::ISO15099::CIGUGapLayer const &,
398
+ Tarcog::ISO15099::CShapedCylinderPillar const &>(),
399
+ py::arg (" gap_layer" ), py::arg (" cshaped_cylinder_pillar" ));
359
400
360
401
py::class_<Tarcog::ISO15099::Glass, std::shared_ptr<Tarcog::ISO15099::Glass>>(
361
402
m, " Glass" )
@@ -756,12 +797,11 @@ PYBIND11_MODULE(wincalcbindings, m) {
756
797
py::class_<wincalc::Product_Data_Thermal, wincalc::Flippable_Solid_Layer,
757
798
std::shared_ptr<wincalc::Product_Data_Thermal>>(
758
799
m, " ProductDataThermal" )
759
- .def (py::init<double , double , bool , double , double , double , double ,
760
- double >(),
800
+ .def (py::init<double , double , bool , double , double , double , double , double >(),
761
801
py::arg (" conductivity" ), py::arg (" thickness_meters" ),
762
802
py::arg (" flipped" ) = false , py::arg (" opening_top" ) = 0 ,
763
803
py::arg (" opening_bottom" ) = 0 , py::arg (" opening_left" ) = 0 ,
764
- py::arg (" opening_right" ) = 0 )
804
+ py::arg (" opening_right" ) = 0 , py::arg ( " opening_front " ) = 0 )
765
805
.def_readwrite (" conductivity" ,
766
806
&wincalc::Product_Data_Thermal::conductivity)
767
807
.def_readwrite (" opening_top" , &wincalc::Product_Data_Thermal::opening_top)
@@ -771,10 +811,6 @@ PYBIND11_MODULE(wincalcbindings, m) {
771
811
&wincalc::Product_Data_Thermal::opening_left)
772
812
.def_readwrite (" opening_right" ,
773
813
&wincalc::Product_Data_Thermal::opening_right)
774
- .def_readwrite (" effective_openness" ,
775
- &wincalc::Product_Data_Thermal::effective_openness)
776
- .def_readwrite (" effective_thickness" ,
777
- &wincalc::Product_Data_Thermal::effective_thickness)
778
814
.def_readwrite (" youngs_modulus" ,
779
815
&wincalc::Product_Data_Thermal::youngs_modulus)
780
816
.def_readwrite (" density" , &wincalc::Product_Data_Thermal::density);
@@ -923,7 +959,7 @@ PYBIND11_MODULE(wincalcbindings, m) {
923
959
SingleLayerOptics::BSDFHemisphere const &, double ,
924
960
std::optional<double >, std::optional<double >,
925
961
std::optional<double >, std::optional<double >, double ,
926
- bool >(),
962
+ bool , bool >(),
927
963
py::arg (" solar_transmittance_front" ),
928
964
py::arg (" solar_transmittance_back" ),
929
965
py::arg (" solar_reflectance_front" ),
@@ -937,7 +973,7 @@ PYBIND11_MODULE(wincalcbindings, m) {
937
973
py::arg (" ir_transmittance_back" ) = std::optional<double >(),
938
974
py::arg (" emissivity_front" ) = std::optional<double >(),
939
975
py::arg (" emissivity_back" ) = std::optional<double >(),
940
- py::arg (" permeability_factor" ) = 0.0 , py::arg (" flipped" ) = false )
976
+ py::arg (" permeability_factor" ) = 0.0 , py::arg (" flipped" ) = false , py::arg ( " user_defined_effective_values " ) = false )
941
977
.def_readwrite (" solar_transmittance_front" ,
942
978
&wincalc::Product_Data_Dual_Band_Optical_BSDF::tf_solar)
943
979
.def_readwrite (" solar_transmittance_back" ,
@@ -954,6 +990,8 @@ PYBIND11_MODULE(wincalcbindings, m) {
954
990
&wincalc::Product_Data_Dual_Band_Optical_BSDF::rf_visible)
955
991
.def_readwrite (" visible_reflectance_back" ,
956
992
&wincalc::Product_Data_Dual_Band_Optical_BSDF::rb_visible)
993
+ .def_readwrite (" user_defined_effective_values" ,
994
+ &wincalc::Product_Data_Dual_Band_Optical_BSDF::user_defined_effective_values)
957
995
.def (" effective_thermal_values" ,
958
996
&wincalc::Product_Data_Dual_Band_Optical_BSDF::
959
997
effective_thermal_values);
@@ -1796,9 +1834,21 @@ PYBIND11_MODULE(wincalcbindings, m) {
1796
1834
py::arg (" pillar" ), py::arg (" pressure" ))
1797
1835
.def_static (
1798
1836
" create_pillar" ,
1799
- py::overload_cast<Tarcog::ISO15099::PolygonalPillar const &, double >(
1837
+ py::overload_cast<Tarcog::ISO15099::TriangularPillar const &, double >(
1838
+ &Tarcog::ISO15099::Layers::createPillar),
1839
+ " Static function to add a triangular pillar to a Tarcog gap" ,
1840
+ py::arg (" pillar" ), py::arg (" pressure" ))
1841
+ .def_static (
1842
+ " create_pillar" ,
1843
+ py::overload_cast<Tarcog::ISO15099::PentagonPillar const &, double >(
1844
+ &Tarcog::ISO15099::Layers::createPillar),
1845
+ " Static function to add a pentagon pillar to a Tarcog gap" ,
1846
+ py::arg (" pillar" ), py::arg (" pressure" ))
1847
+ .def_static (
1848
+ " create_pillar" ,
1849
+ py::overload_cast<Tarcog::ISO15099::HexagonPillar const &, double >(
1800
1850
&Tarcog::ISO15099::Layers::createPillar),
1801
- " Static function to add a polygonal pillar to a Tarcog gap" ,
1851
+ " Static function to add a hexagon pillar to a Tarcog gap" ,
1802
1852
py::arg (" pillar" ), py::arg (" pressure" ))
1803
1853
.def_static (
1804
1854
" create_pillar" ,
0 commit comments