Skip to content

Commit df66df5

Browse files
ntatum94StevenAWhite
authored andcommitted
added tuning to skin capacitances and heat sources
1 parent 88d338d commit df66df5

File tree

5 files changed

+70
-20
lines changed

5 files changed

+70
-20
lines changed

projects/biogears/libBiogears/include/biogears/engine/BioGearsPhysiologyEngine.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,12 @@ namespace tatrc {
579579
DEFINE_STATIC_STRING(ExternalLeftLegSkinToClothing);
580580
DEFINE_STATIC_STRING(ExternalRightLegSkinToClothing);
581581
DEFINE_STATIC_STRING(GroundToInternalCore);
582+
DEFINE_STATIC_STRING(GroundToInternalTorsoSkin);
583+
DEFINE_STATIC_STRING(GroundToInternalHeadSkin);
584+
DEFINE_STATIC_STRING(GroundToInternalLeftArmSkin);
585+
DEFINE_STATIC_STRING(GroundToInternalRightArmSkin);
586+
DEFINE_STATIC_STRING(GroundToInternalLeftLegSkin);
587+
DEFINE_STATIC_STRING(GroundToInternalRightLegSkin);
582588
DEFINE_STATIC_STRING(InternalCoreToInternalTorsoSkin);
583589
DEFINE_STATIC_STRING(InternalCoreToInternalHeadSkin);
584590
DEFINE_STATIC_STRING(InternalCoreToInternalLeftArmSkin);
@@ -603,7 +609,7 @@ namespace tatrc {
603609
static const std::vector<std::string>& GetValues()
604610
{
605611
static std::vector<std::string> _values = {
606-
ActiveToClothing, ClothingToEnclosure, ClothingToEnvironment, ExternalCoreToGround, GroundToActive, GroundToClothing, GroundToEnclosure, GroundToEnvironment, ExternalTorsoSkinToGround, ExternalHeadSkinToGround, ExternalLeftArmSkinToGround, ExternalRightArmSkinToGround, ExternalLeftLegSkinToGround, ExternalRightLegSkinToGround, ExternalTorsoSkinToClothing, ExternalHeadSkinToClothing, ExternalLeftArmSkinToClothing, ExternalRightArmSkinToClothing, ExternalLeftLegSkinToClothing, ExternalRightLegSkinToClothing, GroundToInternalCore, InternalCoreToInternalTorsoSkin, InternalCoreToInternalHeadSkin, InternalCoreToInternalLeftArmSkin, InternalCoreToInternalRightArmSkin, InternalCoreToInternalLeftLegSkin, InternalCoreToInternalRightLegSkin, InternalCoreToGround, InternalTorsoSkinToGround, InternalHeadSkinToGround, InternalLeftArmSkinToGround, InternalRightArmSkinToGround, InternalLeftLegSkinToGround, InternalRightLegSkinToGround, InternalCoreToExternalCore, InternalTorsoSkinToExternalTorsoSkin, InternalHeadSkinToExternalHeadSkin, InternalLeftArmSkinToExternalLeftArmSkin, InternalRightArmSkinToExternalRightArmSkin, InternalLeftLegSkinToExternalLeftLegSkin, InternalRightLegSkinToExternalRightLegSkin
612+
ActiveToClothing, ClothingToEnclosure, ClothingToEnvironment, ExternalCoreToGround, GroundToActive, GroundToClothing, GroundToEnclosure, GroundToEnvironment, ExternalTorsoSkinToGround, ExternalHeadSkinToGround, ExternalLeftArmSkinToGround, ExternalRightArmSkinToGround, ExternalLeftLegSkinToGround, ExternalRightLegSkinToGround, ExternalTorsoSkinToClothing, ExternalHeadSkinToClothing, ExternalLeftArmSkinToClothing, ExternalRightArmSkinToClothing, ExternalLeftLegSkinToClothing, ExternalRightLegSkinToClothing, GroundToInternalCore, GroundToInternalTorsoSkin, GroundToInternalHeadSkin, GroundToInternalLeftArmSkin, GroundToInternalRightArmSkin, GroundToInternalLeftLegSkin, GroundToInternalRightLegSkin, InternalCoreToInternalTorsoSkin, InternalCoreToInternalHeadSkin, InternalCoreToInternalLeftArmSkin, InternalCoreToInternalRightArmSkin, InternalCoreToInternalLeftLegSkin, InternalCoreToInternalRightLegSkin, InternalCoreToGround, InternalTorsoSkinToGround, InternalHeadSkinToGround, InternalLeftArmSkinToGround, InternalRightArmSkinToGround, InternalLeftLegSkinToGround, InternalRightLegSkinToGround, InternalCoreToExternalCore, InternalTorsoSkinToExternalTorsoSkin, InternalHeadSkinToExternalHeadSkin, InternalLeftArmSkinToExternalLeftArmSkin, InternalRightArmSkinToExternalRightArmSkin, InternalLeftLegSkinToExternalLeftLegSkin, InternalRightLegSkinToExternalRightLegSkin
607613
};
608614
return _values;
609615
}

projects/biogears/libBiogears/include/biogears/engine/Controller/BioGearsCircuits.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,13 @@ namespace tatrc {
358358
DEFINE_STATIC_STRING(GroundToInternalCore);
359359
DEFINE_STATIC_STRING(InternalCoreToGround);
360360

361+
DEFINE_STATIC_STRING(GroundToInternalTorsoSkin);
362+
DEFINE_STATIC_STRING(GroundToInternalHeadSkin);
363+
DEFINE_STATIC_STRING(GroundToInternalLeftArmSkin);
364+
DEFINE_STATIC_STRING(GroundToInternalRightArmSkin);
365+
DEFINE_STATIC_STRING(GroundToInternalLeftLegSkin);
366+
DEFINE_STATIC_STRING(GroundToInternalRightLegSkin);
367+
361368
DEFINE_STATIC_STRING(InternalTorsoSkinToTemperatureGround);
362369
DEFINE_STATIC_STRING(InternalCoreToInternalTorsoSkin);
363370
DEFINE_STATIC_STRING(InternalHeadSkinToTemperatureGround);

projects/biogears/libBiogears/include/biogears/engine/Systems/Environment.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ class BIOGEARS_API Environment : public SEEnvironment, public BioGearsSystem {
8787
double m_dHeatOfVaporizationOfWater_J_Per_kg;
8888
double m_dWaterVaporPressureInAmbientAir_Pa;
8989
double m_dWaterVaporPressureAtSkin_Pa;
90+
std::vector<double> m_cloSegmentation;
9091
//Prandtl number calculation
9192
double m_WaterSpecificHeat_J_Per_kg_K;
9293
double m_WaterViscosity_N_s_Per_m2;

projects/biogears/libBiogears/src/engine/Controller/BioGears.cpp

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5602,54 +5602,68 @@ void BioGears::SetupInternalTemperature()
56025602
SEThermalCircuitNode& TorsoSkin = cIntemperature.CreateNode(BGE::InternalTemperatureNode::InternalTorsoSkin);
56035603
TorsoSkin.GetTemperature().SetValue(33.0, TemperatureUnit::C);
56045604
SEThermalCircuitPath& TorsoSkinToTemperatureGround = cIntemperature.CreatePath(TorsoSkin, Ground, BGE::InternalTemperaturePath::InternalTorsoSkinToTemperatureGround);
5605-
TorsoSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(31.43, HeatCapacitanceUnit::kcal_Per_C);
5605+
TorsoSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(1.3 * 31.43, HeatCapacitanceUnit::kcal_Per_C);
56065606
TorsoSkin.GetHeatBaseline().SetValue(TorsoSkinToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * TorsoSkin.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
56075607

56085608
SEThermalCircuitNode& HeadSkin = cIntemperature.CreateNode(BGE::InternalTemperatureNode::InternalHeadSkin);
56095609
HeadSkin.GetTemperature().SetValue(33.0, TemperatureUnit::C);
56105610
SEThermalCircuitPath& HeadSkinToTemperatureGround = cIntemperature.CreatePath(HeadSkin, Ground, BGE::InternalTemperaturePath::InternalHeadSkinToTemperatureGround);
5611-
HeadSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(3.01, HeatCapacitanceUnit::kcal_Per_C);
5611+
HeadSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(1.3 * 3.01, HeatCapacitanceUnit::kcal_Per_C);
56125612
HeadSkin.GetHeatBaseline().SetValue(HeadSkinToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * HeadSkin.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
56135613

56145614
SEThermalCircuitNode& LeftArmSkin = cIntemperature.CreateNode(BGE::InternalTemperatureNode::InternalLeftArmSkin);
56155615
LeftArmSkin.GetTemperature().SetValue(33.0, TemperatureUnit::C);
56165616
SEThermalCircuitPath& LeftArmSkinToTemperatureGround = cIntemperature.CreatePath(LeftArmSkin, Ground, BGE::InternalTemperaturePath::InternalLeftArmSkinToTemperatureGround);
5617-
LeftArmSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(5.46, HeatCapacitanceUnit::kcal_Per_C);
5617+
LeftArmSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(1.3 * 5.46, HeatCapacitanceUnit::kcal_Per_C);
56185618
LeftArmSkin.GetHeatBaseline().SetValue(LeftArmSkinToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * LeftArmSkin.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
56195619

56205620
SEThermalCircuitNode& RightArmSkin = cIntemperature.CreateNode(BGE::InternalTemperatureNode::InternalRightArmSkin);
56215621
RightArmSkin.GetTemperature().SetValue(33.0, TemperatureUnit::C);
56225622
SEThermalCircuitPath& RightArmSkinToTemperatureGround = cIntemperature.CreatePath(RightArmSkin, Ground, BGE::InternalTemperaturePath::InternalRightArmSkinToTemperatureGround);
5623-
RightArmSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(5.46, HeatCapacitanceUnit::kcal_Per_C);
5623+
RightArmSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(1.3 * 5.46, HeatCapacitanceUnit::kcal_Per_C);
56245624
RightArmSkin.GetHeatBaseline().SetValue(RightArmSkinToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * RightArmSkin.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
56255625

56265626
SEThermalCircuitNode& LeftLegSkin = cIntemperature.CreateNode(BGE::InternalTemperatureNode::InternalLeftLegSkin);
56275627
LeftLegSkin.GetTemperature().SetValue(33.0, TemperatureUnit::C);
56285628
SEThermalCircuitPath& LeftLegSkinToTemperatureGround = cIntemperature.CreatePath(LeftLegSkin, Ground, BGE::InternalTemperaturePath::InternalLeftLegSkinToTemperatureGround);
5629-
LeftLegSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(15.92, HeatCapacitanceUnit::kcal_Per_C);
5629+
LeftLegSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(1.3 * 15.92, HeatCapacitanceUnit::kcal_Per_C);
56305630
LeftLegSkin.GetHeatBaseline().SetValue(LeftLegSkinToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * LeftLegSkin.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
56315631

56325632
SEThermalCircuitNode& RightLegSkin = cIntemperature.CreateNode(BGE::InternalTemperatureNode::InternalRightLegSkin);
56335633
RightLegSkin.GetTemperature().SetValue(33.0, TemperatureUnit::C);
56345634
SEThermalCircuitPath& RightLegSkinToTemperatureGround = cIntemperature.CreatePath(RightLegSkin, Ground, BGE::InternalTemperaturePath::InternalRightLegSkinToTemperatureGround);
5635-
RightLegSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(15.92, HeatCapacitanceUnit::kcal_Per_C);
5635+
RightLegSkinToTemperatureGround.GetCapacitanceBaseline().SetValue(1.3 * 15.92, HeatCapacitanceUnit::kcal_Per_C);
56365636
RightLegSkin.GetHeatBaseline().SetValue(RightLegSkinToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * RightLegSkin.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
56375637

5638+
// Only using basal values for now - See if this is worth it
5639+
SEThermalCircuitPath& TemperatureGroundToSkinTorso = cIntemperature.CreatePath(Ground, TorsoSkin, BGE::InternalTemperaturePath::GroundToInternalTorsoSkin);
5640+
TemperatureGroundToSkinTorso.GetHeatSourceBaseline().SetValue(7.53, PowerUnit::kcal_Per_hr);
5641+
SEThermalCircuitPath& TemperatureGroundToSkinHead = cIntemperature.CreatePath(Ground, HeadSkin, BGE::InternalTemperaturePath::GroundToInternalHeadSkin);
5642+
TemperatureGroundToSkinHead.GetHeatSourceBaseline().SetValue(0.29, PowerUnit::kcal_Per_hr);
5643+
SEThermalCircuitPath& TemperatureGroundToSkinLeftArm = cIntemperature.CreatePath(Ground, LeftArmSkin, BGE::InternalTemperaturePath::GroundToInternalLeftArmSkin);
5644+
TemperatureGroundToSkinLeftArm.GetHeatSourceBaseline().SetValue(1.25, PowerUnit::kcal_Per_hr);
5645+
SEThermalCircuitPath& TemperatureGroundToSkinRightArm = cIntemperature.CreatePath(Ground, RightArmSkin, BGE::InternalTemperaturePath::GroundToInternalRightArmSkin);
5646+
TemperatureGroundToSkinRightArm.GetHeatSourceBaseline().SetValue(1.25, PowerUnit::kcal_Per_hr);
5647+
SEThermalCircuitPath& TemperatureGroundToSkinLeftLeg = cIntemperature.CreatePath(Ground, LeftLegSkin, BGE::InternalTemperaturePath::GroundToInternalLeftLegSkin);
5648+
TemperatureGroundToSkinLeftLeg.GetHeatSourceBaseline().SetValue(3.61, PowerUnit::kcal_Per_hr);
5649+
SEThermalCircuitPath& TemperatureGroundToSkinRightLeg = cIntemperature.CreatePath(Ground, RightLegSkin, BGE::InternalTemperaturePath::GroundToInternalRightLegSkin);
5650+
TemperatureGroundToSkinRightLeg.GetHeatSourceBaseline().SetValue(3.61, PowerUnit::kcal_Per_hr);
5651+
56385652
SEThermalCircuitPath& CoreToTemperatureGround = cIntemperature.CreatePath(Core, Ground, BGE::InternalTemperaturePath::InternalCoreToGround);
56395653
CoreToTemperatureGround.GetCapacitanceBaseline().SetValue((1.0 - skinMassFraction) * m_Patient->GetWeight(MassUnit::kg) * GetConfiguration().GetBodySpecificHeat(HeatCapacitancePerMassUnit::J_Per_K_kg), HeatCapacitanceUnit::J_Per_K);
56405654
Core.GetHeatBaseline().SetValue(CoreToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * Core.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
56415655
SEThermalCircuitPath& CoreToTorsoSkin = cIntemperature.CreatePath(Core, TorsoSkin, BGE::InternalTemperaturePath::InternalCoreToInternalTorsoSkin);
5642-
CoreToTorsoSkin.GetResistanceBaseline().SetValue(0.432, HeatResistanceUnit::C_s_Per_kcal);
5656+
CoreToTorsoSkin.GetResistanceBaseline().SetValue(2.315, HeatResistanceUnit::C_s_Per_kcal);
56435657
SEThermalCircuitPath& CoreToHeadSkin = cIntemperature.CreatePath(Core, HeadSkin, BGE::InternalTemperaturePath::InternalCoreToInternalHeadSkin);
5644-
CoreToHeadSkin.GetResistanceBaseline().SetValue(0.443, HeatResistanceUnit::C_s_Per_kcal);
5658+
CoreToHeadSkin.GetResistanceBaseline().SetValue(2.257, HeatResistanceUnit::C_s_Per_kcal);
56455659
SEThermalCircuitPath& CoreToLeftArmSkin = cIntemperature.CreatePath(Core, LeftArmSkin, BGE::InternalTemperaturePath::InternalCoreToInternalLeftArmSkin);
5646-
CoreToLeftArmSkin.GetResistanceBaseline().SetValue(0.605, HeatResistanceUnit::C_s_Per_kcal);
5660+
CoreToLeftArmSkin.GetResistanceBaseline().SetValue(1.653, HeatResistanceUnit::C_s_Per_kcal);
56475661
SEThermalCircuitPath& CoreToRightArmSkin = cIntemperature.CreatePath(Core, RightArmSkin, BGE::InternalTemperaturePath::InternalCoreToInternalRightArmSkin);
5648-
CoreToRightArmSkin.GetResistanceBaseline().SetValue(0.605, HeatResistanceUnit::C_s_Per_kcal);
5662+
CoreToRightArmSkin.GetResistanceBaseline().SetValue(1.653, HeatResistanceUnit::C_s_Per_kcal);
56495663
SEThermalCircuitPath& CoreToLeftLegSkin = cIntemperature.CreatePath(Core, LeftLegSkin, BGE::InternalTemperaturePath::InternalCoreToInternalLeftLegSkin);
5650-
CoreToLeftLegSkin.GetResistanceBaseline().SetValue(1.423, HeatResistanceUnit::C_s_Per_kcal);
5664+
CoreToLeftLegSkin.GetResistanceBaseline().SetValue(0.703, HeatResistanceUnit::C_s_Per_kcal);
56515665
SEThermalCircuitPath& CoreToRightLegSkin = cIntemperature.CreatePath(Core, RightLegSkin, BGE::InternalTemperaturePath::InternalCoreToInternalRightLegSkin);
5652-
CoreToRightLegSkin.GetResistanceBaseline().SetValue(1.423, HeatResistanceUnit::C_s_Per_kcal);
5666+
CoreToRightLegSkin.GetResistanceBaseline().SetValue(0.703, HeatResistanceUnit::C_s_Per_kcal);
56535667

56545668
cIntemperature.SetNextAndCurrentFromBaselines();
56555669
cIntemperature.StateChange();
@@ -5673,6 +5687,20 @@ void BioGears::SetupInternalTemperature()
56735687

56745688
SEThermalCompartmentLink& GroundToInternalCore = m_Compartments->CreateThermalLink(InternalGround, InternalCore, BGE::TemperatureLink::GroundToInternalCore);
56755689
GroundToInternalCore.MapPath(TemperatureGroundToCore);
5690+
5691+
SEThermalCompartmentLink& GroundToInternalTorsoSkin = m_Compartments->CreateThermalLink(InternalGround, InternalTorsoSkin, BGE::TemperatureLink::GroundToInternalTorsoSkin);
5692+
GroundToInternalTorsoSkin.MapPath(TemperatureGroundToSkinTorso);
5693+
SEThermalCompartmentLink& GroundToInternalHeadSkin = m_Compartments->CreateThermalLink(InternalGround, InternalHeadSkin, BGE::TemperatureLink::GroundToInternalHeadSkin);
5694+
GroundToInternalHeadSkin.MapPath(TemperatureGroundToSkinHead);
5695+
SEThermalCompartmentLink& GroundToInternalLeftArmSkin = m_Compartments->CreateThermalLink(InternalGround, InternalLeftArmSkin, BGE::TemperatureLink::GroundToInternalLeftArmSkin);
5696+
GroundToInternalLeftArmSkin.MapPath(TemperatureGroundToSkinLeftArm);
5697+
SEThermalCompartmentLink& GroundToInternalRightArmSkin = m_Compartments->CreateThermalLink(InternalGround, InternalRightArmSkin, BGE::TemperatureLink::GroundToInternalRightArmSkin);
5698+
GroundToInternalRightArmSkin.MapPath(TemperatureGroundToSkinRightArm);
5699+
SEThermalCompartmentLink& GroundToInternalLeftLegSkin = m_Compartments->CreateThermalLink(InternalGround, InternalLeftLegSkin, BGE::TemperatureLink::GroundToInternalLeftLegSkin);
5700+
GroundToInternalLeftLegSkin.MapPath(TemperatureGroundToSkinLeftLeg);
5701+
SEThermalCompartmentLink& GroundToInternalRightLegSkin = m_Compartments->CreateThermalLink(InternalGround, InternalRightLegSkin, BGE::TemperatureLink::GroundToInternalRightLegSkin);
5702+
GroundToInternalRightLegSkin.MapPath(TemperatureGroundToSkinRightLeg);
5703+
56765704
SEThermalCompartmentLink& InternalCoreToGround = m_Compartments->CreateThermalLink(InternalGround, InternalCore, BGE::TemperatureLink::InternalCoreToGround);
56775705
InternalCoreToGround.MapPath(CoreToTemperatureGround);
56785706
SEThermalCompartmentLink& InternalTorsoSkinToGround = m_Compartments->CreateThermalLink(InternalGround, InternalTorsoSkin, BGE::TemperatureLink::InternalTorsoSkinToGround);

projects/biogears/libBiogears/src/engine/Systems/Environment.cpp

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,14 @@ void Environment::SetUp()
156156
m_ClothingToEnvironmentPath = m_EnvironmentCircuit->GetPath(BGE::ExternalTemperaturePath::ClothingToEnvironment);
157157
m_GroundToEnvironmentPath = m_EnvironmentCircuit->GetPath(BGE::ExternalTemperaturePath::GroundToEnvironment);
158158
m_EnvironmentCoreToGroundPath = m_EnvironmentCircuit->GetPath(BGE::ExternalTemperaturePath::ExternalCoreToGround);
159+
160+
m_cloSegmentation.clear();
161+
m_cloSegmentation.push_back(0.39);// torso, gets 39 percent of clo
162+
m_cloSegmentation.push_back(0.01); // head, gets no clo (0.01, assume not hat/hair for now)
163+
m_cloSegmentation.push_back(0.05); // arms each get 5 percent of clo
164+
m_cloSegmentation.push_back(0.05); // arms each get 5 percent of clo
165+
m_cloSegmentation.push_back(0.25); // legs each get 25 percent of clo
166+
m_cloSegmentation.push_back(0.25); // legs each get 25 percent of clo
159167

160168
m_SkinToClothingPaths.clear();
161169
m_SkinToClothingPaths.push_back(m_EnvironmentCircuit->GetPath(BGE::ExternalTemperaturePath::ExternalTorsoSkinToClothing));
@@ -262,12 +270,12 @@ void Environment::PreProcess()
262270
// 1 is head, gets no clo (0.01, assume not hat/hair for now)
263271
// arms each get 5 percent of clo
264272
// legs each get 25 percent of clo
265-
m_SkinToClothingPaths[0]->GetNextResistance().SetValue(0.39 * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
266-
m_SkinToClothingPaths[1]->GetNextResistance().SetValue(0.01 * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
267-
m_SkinToClothingPaths[2]->GetNextResistance().SetValue(0.05 * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
268-
m_SkinToClothingPaths[3]->GetNextResistance().SetValue(0.25 * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
269-
m_SkinToClothingPaths[4]->GetNextResistance().SetValue(0.05 * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
270-
m_SkinToClothingPaths[5]->GetNextResistance().SetValue(0.25 * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
273+
m_SkinToClothingPaths[0]->GetNextResistance().SetValue(m_cloSegmentation[0] * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
274+
m_SkinToClothingPaths[1]->GetNextResistance().SetValue(m_cloSegmentation[1] * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
275+
m_SkinToClothingPaths[2]->GetNextResistance().SetValue(m_cloSegmentation[2] * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
276+
m_SkinToClothingPaths[3]->GetNextResistance().SetValue(m_cloSegmentation[3] * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
277+
m_SkinToClothingPaths[4]->GetNextResistance().SetValue(m_cloSegmentation[4] * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
278+
m_SkinToClothingPaths[5]->GetNextResistance().SetValue(m_cloSegmentation[5] * skinToClothingResistance, HeatResistanceUnit::K_Per_W);
271279

272280
//Set the skin heat loss
273281
double dSkinHeatLoss_W = 0.0;
@@ -715,7 +723,7 @@ void Environment::CalculateEvaporation()
715723
const double dClothingResistance_clo = GetConditions().GetClothingResistance(HeatResistanceAreaUnit::clo);
716724
const double clo_To_m2_K_Per_W = 0.155;
717725
const double iCl = 0.35;
718-
double dClothingResistance_m2_kPa_Per_W = clo_To_m2_K_Per_W * dClothingResistance_clo / (iCl * dLewisRelation_K_Per_kPa);
726+
double dClothingResistance_m2_kPa_Per_W = clo_To_m2_K_Per_W * dClothingResistance_clo * m_cloSegmentation[index] / (iCl * dLewisRelation_K_Per_kPa);
719727
double fCl = 1.0 + 0.3 * dClothingResistance_clo;
720728
double skinWettednessDiffusion = 0.06;
721729

0 commit comments

Comments
 (0)