Skip to content

Commit

Permalink
Update to new permeability factor.
Browse files Browse the repository at this point in the history
  • Loading branch information
vidanovic committed Sep 18, 2024
1 parent 18cccd8 commit fd3c0c3
Show file tree
Hide file tree
Showing 23 changed files with 39 additions and 32 deletions.
2 changes: 1 addition & 1 deletion CMakeLists-WinCalc.txt.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ include(ExternalProject)

ExternalProject_Add(wincalc
GIT_REPOSITORY https://github.com/LBNL-ETA/WinCalc.git
GIT_TAG "VacuumDec2023"
GIT_TAG "2024SeptemberFixes"

UPDATE_COMMAND ""
PATCH_COMMAND ""
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[metadata]
name = pywincalc
version = 3.5.0
version = 3.6.0
description = A Python library for calculating thermal and optical properties of glazing systems
long_description = file: README.md
long_description_content_type = text/markdown; charset=UTF-8
Expand Down
67 changes: 37 additions & 30 deletions src/wincalcbindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -797,11 +797,18 @@ PYBIND11_MODULE(wincalcbindings, m) {
py::class_<wincalc::Product_Data_Thermal, wincalc::Flippable_Solid_Layer,
std::shared_ptr<wincalc::Product_Data_Thermal>>(
m, "ProductDataThermal")
.def(py::init<double, double, bool, double, double, double, double, double>(),
py::arg("conductivity"), py::arg("thickness_meters"),
py::arg("flipped") = false, py::arg("opening_top") = 0,
py::arg("opening_bottom") = 0, py::arg("opening_left") = 0,
py::arg("opening_right") = 0, py::arg("opening_front") = 0)
.def(py::init<std::optional<double>, double, bool, double, double, double, double, double, double, std::optional<double>, std::optional<double>>(),
py::arg("conductivity"),
py::arg("thickness_meters"),
py::arg("flipped"),
py::arg("opening_top"),
py::arg("opening_bottom"),
py::arg("opening_left"),
py::arg("opening_right"),
py::arg("opening_front"),
py::arg("permeability_factor"),
py::arg("youngs_modulus"),
py::arg("density"))
.def_readwrite("conductivity",
&wincalc::Product_Data_Thermal::conductivity)
.def_readwrite("opening_top", &wincalc::Product_Data_Thermal::opening_top)
Expand All @@ -811,6 +818,10 @@ PYBIND11_MODULE(wincalcbindings, m) {
&wincalc::Product_Data_Thermal::opening_left)
.def_readwrite("opening_right",
&wincalc::Product_Data_Thermal::opening_right)
.def_readwrite("opening_front",
&wincalc::Product_Data_Thermal::opening_front)
.def_readwrite("permeability_factor",
&wincalc::Product_Data_Thermal::permeability_factor)
.def_readwrite("youngs_modulus",
&wincalc::Product_Data_Thermal::youngs_modulus)
.def_readwrite("density", &wincalc::Product_Data_Thermal::density);
Expand All @@ -819,27 +830,20 @@ PYBIND11_MODULE(wincalcbindings, m) {
std::shared_ptr<wincalc::Product_Data_Optical>>(
m, "ProductDataOptical")
.def(py::init<double, std::optional<double>, std::optional<double>,
std::optional<double>, std::optional<double>, double,
bool>(),
std::optional<double>, std::optional<double>, bool>(),
py::arg("thickness_meters"),
py::arg("ir_transmittance_front") = std::optional<double>(),
py::arg("ir_transmittance_back") = std::optional<double>(),
py::arg("emissivity_front") = std::optional<double>(),
py::arg("emissivity_back") = std::optional<double>(),
py::arg("permeability_factor") = 0.0, py::arg("flipped") = false)
py::arg("flipped") = false)
.def("effective_thermal_values",
&wincalc::Product_Data_Optical::effective_thermal_values)
.def("wavelengths", &wincalc::Product_Data_Optical::wavelengths)
.def_readwrite("ir_transmittance_front",
&wincalc::Product_Data_Optical::ir_transmittance_front)
.def_readwrite("ir_transmittance_back",
&wincalc::Product_Data_Optical::ir_transmittance_back)
.def_readwrite("emissivity_front",
&wincalc::Product_Data_Optical::emissivity_front)
.def_readwrite("emissivity_back",
&wincalc::Product_Data_Optical::emissivity_back)
.def_readwrite("permeability_factor",
&wincalc::Product_Data_Optical::permeability_factor);
.def_readwrite("ir_transmittance_front", &wincalc::Product_Data_Optical::ir_transmittance_front)
.def_readwrite("ir_transmittance_back", &wincalc::Product_Data_Optical::ir_transmittance_back)
.def_readwrite("emissivity_front", &wincalc::Product_Data_Optical::emissivity_front)
.def_readwrite("emissivity_back", &wincalc::Product_Data_Optical::emissivity_back);

py::enum_<FenestrationCommon::MaterialType>(m, "MaterialType",
py::arithmetic())
Expand All @@ -866,15 +870,15 @@ PYBIND11_MODULE(wincalcbindings, m) {
std::vector<OpticsParser::WLData>,
std::optional<wincalc::CoatedSide>, std::optional<double>,
std::optional<double>, std::optional<double>,
std::optional<double>, double, bool>(),
std::optional<double>, bool>(),
py::arg("material_type"), py::arg("thickness_meters"),
py::arg("wavelength_data"),
py::arg("coated_side") = std::optional<wincalc::CoatedSide>(),
py::arg("ir_transmittance_front") = std::optional<double>(),
py::arg("ir_transmittance_back") = std::optional<double>(),
py::arg("emissivity_front") = std::optional<double>(),
py::arg("emissivity_back") = std::optional<double>(),
py::arg("permeability_factor") = 0, py::arg("flipped") = false)
py::arg("flipped") = false)
.def("wavelengths", &wincalc::Product_Data_N_Band_Optical::wavelengths)
.def_readwrite("material_type",
&wincalc::Product_Data_N_Band_Optical::material_type)
Expand All @@ -886,14 +890,14 @@ PYBIND11_MODULE(wincalcbindings, m) {
std::shared_ptr<wincalc::Product_Data_Dual_Band_Optical>>(
m, "ProductDataOpticalDualBand")
.def(py::init<double, std::optional<double>, std::optional<double>,
std::optional<double>, std::optional<double>, double,
std::optional<double>, std::optional<double>,
bool>(),
py::arg("thickness_meters"),
py::arg("ir_transmittance_front") = std::optional<double>(),
py::arg("ir_transmittance_back") = std::optional<double>(),
py::arg("emissivity_front") = std::optional<double>(),
py::arg("emissivity_back") = std::optional<double>(),
py::arg("permeability_factor") = 0.0, py::arg("flipped") = false)
py::arg("flipped") = false)
.def("wavelengths",
&wincalc::Product_Data_Dual_Band_Optical::wavelengths);

Expand All @@ -905,7 +909,7 @@ PYBIND11_MODULE(wincalcbindings, m) {
.def(py::init<double, double, double, double, double, double, double,
double, double, std::optional<double>,
std::optional<double>, std::optional<double>,
std::optional<double>, double, bool>(),
std::optional<double>, bool>(),
py::arg("solar_transmittance_front"),
py::arg("solar_transmittance_back"),
py::arg("solar_reflectance_front"),
Expand All @@ -918,7 +922,7 @@ PYBIND11_MODULE(wincalcbindings, m) {
py::arg("ir_transmittance_back") = std::optional<double>(),
py::arg("emissivity_front") = std::optional<double>(),
py::arg("emissivity_back") = std::optional<double>(),
py::arg("permeability_factor") = 0.0, py::arg("flipped") = false)
py::arg("flipped") = false)
.def_readwrite(
"solar_transmittance_front",
&wincalc::Product_Data_Dual_Band_Optical_Hemispheric::tf_solar)
Expand Down Expand Up @@ -958,7 +962,7 @@ PYBIND11_MODULE(wincalcbindings, m) {
std::vector<std::vector<double>> const &,
SingleLayerOptics::BSDFHemisphere const &, double,
std::optional<double>, std::optional<double>,
std::optional<double>, std::optional<double>, double,
std::optional<double>, std::optional<double>,
bool, bool>(),
py::arg("solar_transmittance_front"),
py::arg("solar_transmittance_back"),
Expand All @@ -973,7 +977,7 @@ PYBIND11_MODULE(wincalcbindings, m) {
py::arg("ir_transmittance_back") = std::optional<double>(),
py::arg("emissivity_front") = std::optional<double>(),
py::arg("emissivity_back") = std::optional<double>(),
py::arg("permeability_factor") = 0.0, py::arg("flipped") = false, py::arg("user_defined_effective_values") = false)
py::arg("flipped") = false, py::arg("user_defined_effective_values") = false)
.def_readwrite("solar_transmittance_front",
&wincalc::Product_Data_Dual_Band_Optical_BSDF::tf_solar)
.def_readwrite("solar_transmittance_back",
Expand Down Expand Up @@ -1766,15 +1770,18 @@ PYBIND11_MODULE(wincalcbindings, m) {

py::class_<EffectiveLayers::EffectiveOpenness>(m, "EffectiveOpenness")
.def(py::init<double, double, double, double, double, double>(),
py::arg("ah"), py::arg("al"), py::arg("ar"), py::arg("atop"),
py::arg("abot"), py::arg("front_porosity"))
py::arg("ah"),
py::arg("al"),
py::arg("ar"),
py::arg("atop"),
py::arg("abot"),
py::arg("permeability_factor"))
.def_readwrite("ah", &EffectiveLayers::EffectiveOpenness::Ah)
.def_readwrite("al", &EffectiveLayers::EffectiveOpenness::Al)
.def_readwrite("ar", &EffectiveLayers::EffectiveOpenness::Ar)
.def_readwrite("atop", &EffectiveLayers::EffectiveOpenness::Atop)
.def_readwrite("abot", &EffectiveLayers::EffectiveOpenness::Abot)
.def_readwrite("front_porosity",
&EffectiveLayers::EffectiveOpenness::FrontPorosity);
.def_readwrite("permeability_factor", &EffectiveLayers::EffectiveOpenness::PermeabilityFactor);

m.def("is_closed", &EffectiveLayers::isClosed, py::arg("effective_openness"));

Expand Down
Binary file not shown.
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp310-cp310-win32.whl
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp310-cp310-win_amd64.whl
Binary file not shown.
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp311-cp311-win32.whl
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp311-cp311-win_amd64.whl
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp37-cp37m-win32.whl
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp37-cp37m-win_amd64.whl
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp38-cp38-win32.whl
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp38-cp38-win_amd64.whl
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp39-cp39-win32.whl
Binary file not shown.
Binary file removed wheels/pywincalc-2.4.4-cp39-cp39-win_amd64.whl
Binary file not shown.

0 comments on commit fd3c0c3

Please sign in to comment.