1
2
3
4
5
6"use strict;";
7
9
12
22
25
26
27
29
34
48
67
80
89
95
101
104
112
126 }
127
129
131
132 [ 'accl', 'int', function(){ return body.accl; },
135 { def_val : 100, min : 0, max : 100, unit : '%', symbol : 'accl',
136 descr : 'Acclimatised subject 0 or 100'}
137 ],
138
139 [ 'drink', 'int', function(){ return body.drink; },
142 { def_val : 1, min : 0, max : 1, unit : '', symbol : 'drink',
143 descr : 'May drink freely, 0 or 1'}
144 ],
145
146 [ 'height', 'float', function(){ return body.height; },
148 { def_val : 1.8, min : 1.5, max : 2.4, dec_nof : 1, unit : 'm', symbol : 'height',
149 descr : 'Body height'}
150 ],
151
152 [ 'mass', 'float', function(){ return body.weight; },
154 { def_val : 75, min : 0, max : 120, dec_nof : 1, unit : 'kg', symbol : 'mass',
155 descr : 'Body mass'}
156 ],
157
158
159
160
161
162 [ 'sim_mod', 'int', function(){ return sim_mod; },
164 { def_val : 0, min : 0, max : 4, unit : '', symbol : 'sim_mod',
165 descr : 'Simulation model variant'}
166 ]
167 ];
168
171
173
175
176
179 { def_val : 2, min : 1, max : 3, unit : '', symbol : 'post',
180 descr : '1= sitting, 2= standing, 3= crouching'}
181 ],
182
183 [ 'Tair', 'float', function(){ return air.Tair; },
185 { def_val : 40, min : 15, max : 50, dec_nof : 1, unit : 'C', symbol : 'Tair',
186 descr : 'Air temperature'}
187 ],
188
189 [ 'Pw_air', 'float', function(){ return air.Pw_air; },
191 { def_val : 2.5, min : 0, max : 4.5, dec_nof : 1, unit : 'kPa', symbol : 'Pw_air',
192 descr : 'Partial water vapour pressure'}
193 ],
194
195 [ 'Trad', 'float', function(){ return air.Trad; },
197 { def_val : 40, min : 15, max : 110, dec_nof : 1, unit : 'C', symbol : 'Trad',
198 descr : 'Radiant temperature'}
199 ],
200
201 [ 'v_air', 'float', function(){ return air.v_air; },
203 { def_val : 0.3, min : 0, max : 3.0, dec_nof : 1, unit : 'm/s', symbol : 'v_air',
204 descr : 'Air velocity'}
205 ],
206
207 [ 'Met', 'int', function(){ return body.Met; },
209 { def_val : 150, min : 100, max : 400, unit : 'W/m2', symbol : 'Met',
210 descr : 'Metabolic energy production'}
211 ],
212
213 [ 'Icl', 'float', function(){ return cloth.Icl; },
215 { def_val : 0.5, min : 0.1 , max : 1.2 , dec_nof : 1, unit : 'clo', symbol : 'Icl',
216 descr : 'Cloth static thermal insulation'}
217 ],
218
219 [ 'im_st', 'float', function(){ return cloth.im_st; },
221 { def_val : 0.38, min : 0, max : 1.0, dec_nof : 2, unit : '', symbol : 'im_st',
222 descr : 'Static moisture permeability index'}
223 ],
224
225 [ 'fAref', 'float', function(){ return cloth.fAref; },
227 { def_val : 0.54, min : 0, max : 1.0, dec_nof : 2, unit : '', symbol : 'Ap',
228 descr : 'Fraction covered by reflective clothing'}
229 ],
230
231
232
233 [ 'Fr', 'float', function(){ return cloth.Fr; },
235 { def_val : 0.97, min : 0, max : 1.0, dec_nof : 2, unit : '', symbol : 'Fr',
236 descr : 'Emissivity reflective clothing'}
237 ],
238
239
242 { def_val : NaN, min : 0, max : 360, unit : 'degree', symbol : 'theta_ww',
243 descr : 'Angel betwen wind and walking direction', may_be_null : true}
244 ],
245
246
249 { def_val : NaN, min : 0, max : 1.2, dec_nof : 1, unit : 'm/s', symbol : 'v_walk',
250 descr : 'Walking speed', may_be_null : true}
251 ],
252
253 [ 'work', 'int', function(){ return body.work; },
255 { def_val : 0, min : 0, max : 200, unit : 'W/m2', symbol : 'body_work',
256 descr : 'Mechanical power'}
257 ]
258 ];
259
262
265
269 }
270
275 }
276
279
282
284
286
288
289
291 }
292 else {
295 }
296
299
300
301
302
304
305
306
308
309
313 }
314
316
317
318
319
320
321
322
323
329
330
333
334
336
338
340 }
343 }
344 else { alert( 'ERROR in calc_step_const ' + sim_mod ); }
345
346
348
349
351
352
353
355
356
358
359
361
362
363
365
366
367
370
372
373
376 }
377
378 else {
379
380
384
385 }
386 }
387
388 else {
389
390
393
395
396 }
397
398
399
400
403
406
409
410
415 }
416
419 }
420
422
426
428
434
435
446
450 }
451
453
454
458
459
461
462
464 }
465
466
467
469
470
471
472
475
476
477
485 }
486
490
491
493
494
496 }
497
498
499
500
502
503
506
509
512
514
518
520
522
526 }
527
530
532
534
535
536
537
540
544
545
548 }
549
550
551
553
556
558
559
560
561
564 }
565
573
574
576
579
580
586
591
592
594
596 }
597 else { return; }
598
599
600 }
601 alert( 'clothing_temp overun');
602 }
603
604
605
607
608
610
612
613
616 }
617
618
620
621
623
624
625
626
630
631 }
632
633
637
638 }
639 else{
640
641
643
644
648
649 }
650 else
651 {
652
653
656
657 }
658 else
659 {
660
662
663 }
664
666
669
670 }
671 }
672 }
673
674
675
677
681
682 }
683
684
685
686 else {
688
690
693
694 }
695
698
699 }
700
702 }
703
704
705
706
707
708
709
710 }
711
712
713
715
716
717
719
721
725
726
727
729
731
733
734
737
740
742
744
745 }
746 else{
747 return;
748 }
749 }
750 alert( 'core_temp_pred_std overun');
751 }
752
753
755 if ( Tcr < 36.8 ) { return 0.3; }
756 else if (Tcr > 39.0) { return 0.1; }
757 else { return 0.3 - 0.091 * (Tcr - 36.8); }
758 }
759
766
767
768
769
774 }
775 else {
777 }
778 }
781 }
782
784
785
791 }
792
793
794
797
799
802 }
803
805
806
809
813
816 }
817
820 }
821 }
822
824 return {
837 };
838 }
839
842 alert( 'Simulation parameter changed between steps' );
843 }
846 }
848
849
856
866 }
867 else {
869 }
872
874 }
875
877 return {
884 };
885 }
886
898 };
900 'core:Tcreq_rm_ss', 'core:Tcreq_mr', 'core:dStoreq',
901 'skin:Tsk', 'skin:Pw_sk', 'move:v_air_rel',
902 'cloth:CORcl', 'cloth:CORia', 'cloth:CORtot', 'cloth:Itot_dyn',
903 'cloth:Icl_dyn', 'cloth:CORe', 'cloth:Rtdyn',
904 'heatex:Hcdyn', 'cloth:fAcl_rad', 'cloth:Tcl', 'heatex:Hr',
905 'heatex:Conv', 'heatex:Rad', 'sweat:Ereq', 'sweat:Emax',
906 'skin:w_req', 'sweat:SWpre', 'skin:w_pre', 'sweat:Epre',
907 'core:sk_cr_rel', 'core:Tcr', 'core:Trec',
908 'sweat:SWtot', 'sweat:SWtotg'
909 ];
910
914 };
918
925 } );
926
928 }
929
930
931
932 return{
943 };
(ConstTeq) time constant, core temperature as a function of the metabolic rate
(ConstTsk) skin temperature; time constant; 3 minutes
(<lv>
)
(<lv>
)
(I_cl) <lv>
(<func>ABS
)
(<func>COS
)
(<func>EXP
)
(<func>^
)
(<func>SQR
)
(<lv>
)
Tcr754,
755,
756,
757,
761,
765,
770,
773,
773,
776,
779,
780
(<lv>
)
(<lv>
)
(<lv>
)
(<lv>
)
(<lv>
)
(<lv>
)
(<lv>
)
(<lv>
)
(()
)
({}
)
air.Tair31,
183,
184,
402,
405,
408,
473,
478,
555,
588,
609
(Ta) air temperature [C] 15-50
(Tr) mean radiant temperature [C] 15-110
(Va) air velocity [m/s] 0-3
(()
)
({}
)
(Adu) DuBois body surface area [m2]
(Met) metabolic rate [W\m2]
(accl) acclimatised subject []
(DRINK) ==1 can drink freely
(fAdu_rad) effective radiating area of the body []
(auxR) = 5.67E-08 * Ardu
(height) body height [m]
(posture) == 1 sitting, == 2 standing, == 3 crouching
(spHeat)
(weight) body weight [kg]
(Work) mechanical power [W\m2]
({}
)
({}
)
calc_dynamic_insulation501,
859
(()
)
(()
)
(()
)
(()
)
({}
)
(CORcl) correction Icl []
(CORe) correction dynamic permeability index []
(CORia) correction Ia_st []
(CORtot) correction dynamic clothing insulation []
(FclR) reduction factor radiation heat exchange clothing
(Ia_st) static boundary layer thermal insulation in quiet air [?]
(Icl) static clothing insulation [?]
(Icl_dyn) dynamic clothing insulation [?]
(Icl_st) static clothing insulation
(Itotdyn) total dynamic insulation [m2K/W]
(Itotst) total static insulation [m2K/W]
(Rtdyn) dynamic evaporative resistance [?]
cloth.Tcl63,
439,
575,
581,
585,
593,
595,
595,
609,
611,
832
(Tcl) mean temperature of the clothing [C]
(fAcl) clothing area factor []
(fAcl_rad) reflective clothing area factor []
(Ap) fraction covered by reflective clothing []
(im_dyn) dynamic moisture permeability index []
(im_st) static moisture permeability index []
(()
)
(()
)
({}
)
core.Tcr71,
432,
735,
738,
738,
741,
743,
790,
798,
830,
852
(Tcr) body core temperature [C]
(Tcr0) body core temperature SoI [C]
(<lv>Tcr1) body core temperature [C]
(Tcreq) core equilibrium temperature at this minute [C]
(core.Tcreq0) core equilibrium temperature previous minute [C]
(ConstTeq) time constant Tcreq [/minute]
(Tcreqm) equilibrium core temperature associated to the metabolic rate [C]
(Trec) rectal temperature this minute [C]
(Trec0) rectal temperature previous minute [C]
(dStoreq) heat storage, core temperature increase during this minute [?]
(TskTcrwg) skin - core weighting this minute []
(TskTcrwg) skin - core weighting previous minute []
(()
)
core_temp_pred_sk_cr_rel754,
765
(()
)
(<lv>
)
(<lv>
)
dynamic_convection_coefficient552,
860
(()
)
({}
)
(heatex.Conv
)
(heatex.Cresp
)
(heatex.Eresp
)
(heatex.Hcdyn
)
(heatex.Hr
)
(heatex.Rad
)
(heatex.Tresp
)
(heatex.Z
)
(<lv>
)
(<lv>
)
(()
)
(()
)
(<lv>
)
(<lv>
)
({}
)
(limit.rec_temp
)
(limit.sweat_max50
)
(limit.sweat_max95
)
(limit.water_loss_max50
)
(limit.water_loss_max95
)
(<lv>
)
({}
)
move.v_air_rel97,
374,
382,
383,
394,
411,
412,
413,
504,
505,
516,
516
(move.v_air_rel
)
(move.v_walk
)
(move.v_walk_in
)
(move.walk_dir
)
(move.walk_dir_in
)
(<lv>
)
(<lv>
)
par_step_mod172,
178,
184,
190,
196,
202,
208,
214,
220,
226,
234,
241,
248,
254,
414,
844
({}
)
(<lv>
)
(()
)
(<lv>
)
(()
)
(()
)
(()
)
sim_mod23,
102,
162,
163,
278,
278,
332,
332,
341,
341,
344,
864,
864,
913
sim_time24,
103,
445,
779,
801,
815,
819,
825,
847,
878,
912
(()
)
({}
)
(skin.ConstTsk
)
skin.Tsk110,
433,
492,
495,
495,
555,
589,
736,
789,
827,
855
(skin.Tsk
)
(skin.Tsk_0
)
(skin.w_max
)
(skin.w_pre
)
(skin.w_req
)
(()
)
step_core_temp_equi_mr452,
857
(()
)
(()
)
({}
)
(ConstSW) time constant sweat rate []
(Eeff_req) required evaporation efficiency []
(Emax) maximal evaporation rate [W/m2]
(Epre) predicted evaporation rate [W/m2]
(Ereq) required evaporation rate [W/m2]
(SW) sweat rate [g]
(SWg) sweat rate [W/m2]
sweat.SWmax116,
335,
337,
337,
339,
339,
342,
347,
347,
443,
636,
647,
667,
668,
836
(SWmax) maximum sweat rate as result of the metabolic rate [W/m2]
(SWpre) predicted sweat rate [W/m2]
(SWreq) required sweat rate [W/m2]
(SWtot) total water loss rate during the minutes [W/m2]
(SWtotg) total water loss [g]
(fSWmax_accl) correction factor to SWmax depending on accl []
(<lv>
)
(()
)
val133,
133,
140,
140,
147,
147,
153,
153,
163,
163,
178,
178,
184,
184,
190,
190,
196,
196,
202,
202,
208,
208,
214,
214,
220,
220,
226,
226,
234,
234,
241,
241,
248,
248,
254,
254,
917,
922,
923,
923,
924
(<lv>
)
(<lv>
)
(<lv>
)
(()
)
(()
)