diff options
Diffstat (limited to 'Simulator/Flowsheet_06inz.c')
-rw-r--r-- | Simulator/Flowsheet_06inz.c | 8117 |
1 files changed, 8117 insertions, 0 deletions
diff --git a/Simulator/Flowsheet_06inz.c b/Simulator/Flowsheet_06inz.c new file mode 100644 index 0000000..af1a5ce --- /dev/null +++ b/Simulator/Flowsheet_06inz.c @@ -0,0 +1,8117 @@ +/* Initialization */ +#include "Flowsheet_model.h" +#include "Flowsheet_11mix.h" +#include "Flowsheet_12jac.h" +#if defined(__cplusplus) +extern "C" { +#endif + +void Flowsheet_functionInitialEquations_0(DATA *data, threadData_t *threadData); + + +/* + equation index: 1 + type: SIMPLE_ASSIGN + MaterialStream1._gma_c[1] = 1.0 + */ +void Flowsheet_eqFunction_1(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,1}; + data->localData[0]->realVars[75] /* MaterialStream1._gma_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 2 + type: SIMPLE_ASSIGN + MaterialStream1._gma_c[2] = 1.0 + */ +void Flowsheet_eqFunction_2(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,2}; + data->localData[0]->realVars[76] /* MaterialStream1._gma_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 3 + type: SIMPLE_ASSIGN + MaterialStream1._Cpres_p[1] = 0.0 + */ +void Flowsheet_eqFunction_3(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,3}; + data->localData[0]->realVars[19] /* MaterialStream1._Cpres_p[1] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 4 + type: SIMPLE_ASSIGN + MaterialStream1._Hres_p[1] = 0.0 + */ +void Flowsheet_eqFunction_4(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,4}; + data->localData[0]->realVars[49] /* MaterialStream1._Hres_p[1] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 5 + type: SIMPLE_ASSIGN + MaterialStream1._Sres_p[1] = 0.0 + */ +void Flowsheet_eqFunction_5(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,5}; + data->localData[0]->realVars[71] /* MaterialStream1._Sres_p[1] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 6 + type: SIMPLE_ASSIGN + MaterialStream2._gma_c[1] = 1.0 + */ +void Flowsheet_eqFunction_6(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,6}; + data->localData[0]->realVars[162] /* MaterialStream2._gma_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 7 + type: SIMPLE_ASSIGN + MaterialStream2._gma_c[2] = 1.0 + */ +void Flowsheet_eqFunction_7(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,7}; + data->localData[0]->realVars[163] /* MaterialStream2._gma_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 8 + type: SIMPLE_ASSIGN + MaterialStream2._Cpres_p[1] = 0.0 + */ +void Flowsheet_eqFunction_8(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,8}; + data->localData[0]->realVars[109] /* MaterialStream2._Cpres_p[1] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 9 + type: SIMPLE_ASSIGN + MaterialStream2._Hres_p[1] = 0.0 + */ +void Flowsheet_eqFunction_9(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,9}; + data->localData[0]->realVars[138] /* MaterialStream2._Hres_p[1] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 10 + type: SIMPLE_ASSIGN + MaterialStream2._Sres_p[1] = 0.0 + */ +void Flowsheet_eqFunction_10(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,10}; + data->localData[0]->realVars[159] /* MaterialStream2._Sres_p[1] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 11 + type: SIMPLE_ASSIGN + Heater1._Tdel = 30.0 + */ +void Flowsheet_eqFunction_11(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,11}; + data->localData[0]->realVars[6] /* Heater1._Tdel variable */ = 30.0; + TRACE_POP +} + +/* + equation index: 12 + type: SIMPLE_ASSIGN + Heater1._Pout = 101325.0 - Heater1.Pdel + */ +void Flowsheet_eqFunction_12(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,12}; + data->localData[0]->realVars[4] /* Heater1._Pout variable */ = 101325.0 - data->simulationInfo->realParameter[413]; + TRACE_POP +} + +/* + equation index: 13 + type: SIMPLE_ASSIGN + MaterialStream2._Pvap_c[2] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream2.C[2].VP[1], MaterialStream2.C[2].VP[2], MaterialStream2.C[2].VP[3], MaterialStream2.C[2].VP[4], MaterialStream2.C[2].VP[5], MaterialStream2.C[2].VP[6]}, 380.0) + */ +void Flowsheet_eqFunction_13(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,13}; + real_array tmp0; + array_alloc_scalar_real_array(&tmp0, 6, (modelica_real)data->simulationInfo->realParameter[769], (modelica_real)data->simulationInfo->realParameter[770], (modelica_real)data->simulationInfo->realParameter[771], (modelica_real)data->simulationInfo->realParameter[772], (modelica_real)data->simulationInfo->realParameter[773], (modelica_real)data->simulationInfo->realParameter[774]); + data->localData[0]->realVars[149] /* MaterialStream2._Pvap_c[2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp0, 380.0); + TRACE_POP +} + +/* + equation index: 14 + type: SIMPLE_ASSIGN + MaterialStream2._Pvap_c[1] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream2.C[1].VP[1], MaterialStream2.C[1].VP[2], MaterialStream2.C[1].VP[3], MaterialStream2.C[1].VP[4], MaterialStream2.C[1].VP[5], MaterialStream2.C[1].VP[6]}, 380.0) + */ +void Flowsheet_eqFunction_14(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,14}; + real_array tmp1; + array_alloc_scalar_real_array(&tmp1, 6, (modelica_real)data->simulationInfo->realParameter[763], (modelica_real)data->simulationInfo->realParameter[764], (modelica_real)data->simulationInfo->realParameter[765], (modelica_real)data->simulationInfo->realParameter[766], (modelica_real)data->simulationInfo->realParameter[767], (modelica_real)data->simulationInfo->realParameter[768]); + data->localData[0]->realVars[148] /* MaterialStream2._Pvap_c[1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp1, 380.0); + TRACE_POP +} + +/* + equation index: 15 + type: SIMPLE_ASSIGN + MaterialStream2._H_pc[3,2] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream2.C[2].SH, {MaterialStream2.C[2].VapCp[1], MaterialStream2.C[2].VapCp[2], MaterialStream2.C[2].VapCp[3], MaterialStream2.C[2].VapCp[4], MaterialStream2.C[2].VapCp[5], MaterialStream2.C[2].VapCp[6]}, {MaterialStream2.C[2].HOV[1], MaterialStream2.C[2].HOV[2], MaterialStream2.C[2].HOV[3], MaterialStream2.C[2].HOV[4], MaterialStream2.C[2].HOV[5], MaterialStream2.C[2].HOV[6]}, MaterialStream2.C[2].Tc, 380.0) + */ +void Flowsheet_eqFunction_15(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,15}; + real_array tmp2; + real_array tmp3; + array_alloc_scalar_real_array(&tmp2, 6, (modelica_real)data->simulationInfo->realParameter[781], (modelica_real)data->simulationInfo->realParameter[782], (modelica_real)data->simulationInfo->realParameter[783], (modelica_real)data->simulationInfo->realParameter[784], (modelica_real)data->simulationInfo->realParameter[785], (modelica_real)data->simulationInfo->realParameter[786]); + array_alloc_scalar_real_array(&tmp3, 6, (modelica_real)data->simulationInfo->realParameter[681], (modelica_real)data->simulationInfo->realParameter[682], (modelica_real)data->simulationInfo->realParameter[683], (modelica_real)data->simulationInfo->realParameter[684], (modelica_real)data->simulationInfo->realParameter[685], (modelica_real)data->simulationInfo->realParameter[686]); + data->localData[0]->realVars[137] /* MaterialStream2._H_pc[3,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[746], tmp2, tmp3, data->simulationInfo->realParameter[756], 380.0); + TRACE_POP +} + +/* + equation index: 16 + type: SIMPLE_ASSIGN + MaterialStream2._H_pc[2,2] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream2.C[2].SH, {MaterialStream2.C[2].VapCp[1], MaterialStream2.C[2].VapCp[2], MaterialStream2.C[2].VapCp[3], MaterialStream2.C[2].VapCp[4], MaterialStream2.C[2].VapCp[5], MaterialStream2.C[2].VapCp[6]}, {MaterialStream2.C[2].HOV[1], MaterialStream2.C[2].HOV[2], MaterialStream2.C[2].HOV[3], MaterialStream2.C[2].HOV[4], MaterialStream2.C[2].HOV[5], MaterialStream2.C[2].HOV[6]}, MaterialStream2.C[2].Tc, 380.0) + */ +void Flowsheet_eqFunction_16(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,16}; + real_array tmp4; + real_array tmp5; + array_alloc_scalar_real_array(&tmp4, 6, (modelica_real)data->simulationInfo->realParameter[781], (modelica_real)data->simulationInfo->realParameter[782], (modelica_real)data->simulationInfo->realParameter[783], (modelica_real)data->simulationInfo->realParameter[784], (modelica_real)data->simulationInfo->realParameter[785], (modelica_real)data->simulationInfo->realParameter[786]); + array_alloc_scalar_real_array(&tmp5, 6, (modelica_real)data->simulationInfo->realParameter[681], (modelica_real)data->simulationInfo->realParameter[682], (modelica_real)data->simulationInfo->realParameter[683], (modelica_real)data->simulationInfo->realParameter[684], (modelica_real)data->simulationInfo->realParameter[685], (modelica_real)data->simulationInfo->realParameter[686]); + data->localData[0]->realVars[135] /* MaterialStream2._H_pc[2,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[746], tmp4, tmp5, data->simulationInfo->realParameter[756], 380.0); + TRACE_POP +} + +/* + equation index: 17 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_pc[3,2] = Simulator.Files.ThermodynamicFunctions.VapCpId({MaterialStream2.C[2].VapCp[1], MaterialStream2.C[2].VapCp[2], MaterialStream2.C[2].VapCp[3], MaterialStream2.C[2].VapCp[4], MaterialStream2.C[2].VapCp[5], MaterialStream2.C[2].VapCp[6]}, 380.0) + */ +void Flowsheet_eqFunction_17(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,17}; + real_array tmp6; + array_alloc_scalar_real_array(&tmp6, 6, (modelica_real)data->simulationInfo->realParameter[781], (modelica_real)data->simulationInfo->realParameter[782], (modelica_real)data->simulationInfo->realParameter[783], (modelica_real)data->simulationInfo->realParameter[784], (modelica_real)data->simulationInfo->realParameter[785], (modelica_real)data->simulationInfo->realParameter[786]); + data->localData[0]->realVars[108] /* MaterialStream2._Cp_pc[3,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_VapCpId(threadData, tmp6, 380.0); + TRACE_POP +} + +/* + equation index: 18 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_pc[2,2] = Simulator.Files.ThermodynamicFunctions.LiqCpId({MaterialStream2.C[2].LiqCp[1], MaterialStream2.C[2].LiqCp[2], MaterialStream2.C[2].LiqCp[3], MaterialStream2.C[2].LiqCp[4], MaterialStream2.C[2].LiqCp[5], MaterialStream2.C[2].LiqCp[6]}, 380.0) + */ +void Flowsheet_eqFunction_18(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,18}; + real_array tmp7; + array_alloc_scalar_real_array(&tmp7, 6, (modelica_real)data->simulationInfo->realParameter[697], (modelica_real)data->simulationInfo->realParameter[698], (modelica_real)data->simulationInfo->realParameter[699], (modelica_real)data->simulationInfo->realParameter[700], (modelica_real)data->simulationInfo->realParameter[701], (modelica_real)data->simulationInfo->realParameter[702]); + data->localData[0]->realVars[106] /* MaterialStream2._Cp_pc[2,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_LiqCpId(threadData, tmp7, 380.0); + TRACE_POP +} + +/* + equation index: 19 + type: SIMPLE_ASSIGN + MaterialStream2._H_pc[3,1] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream2.C[1].SH, {MaterialStream2.C[1].VapCp[1], MaterialStream2.C[1].VapCp[2], MaterialStream2.C[1].VapCp[3], MaterialStream2.C[1].VapCp[4], MaterialStream2.C[1].VapCp[5], MaterialStream2.C[1].VapCp[6]}, {MaterialStream2.C[1].HOV[1], MaterialStream2.C[1].HOV[2], MaterialStream2.C[1].HOV[3], MaterialStream2.C[1].HOV[4], MaterialStream2.C[1].HOV[5], MaterialStream2.C[1].HOV[6]}, MaterialStream2.C[1].Tc, 380.0) + */ +void Flowsheet_eqFunction_19(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,19}; + real_array tmp8; + real_array tmp9; + array_alloc_scalar_real_array(&tmp8, 6, (modelica_real)data->simulationInfo->realParameter[775], (modelica_real)data->simulationInfo->realParameter[776], (modelica_real)data->simulationInfo->realParameter[777], (modelica_real)data->simulationInfo->realParameter[778], (modelica_real)data->simulationInfo->realParameter[779], (modelica_real)data->simulationInfo->realParameter[780]); + array_alloc_scalar_real_array(&tmp9, 6, (modelica_real)data->simulationInfo->realParameter[675], (modelica_real)data->simulationInfo->realParameter[676], (modelica_real)data->simulationInfo->realParameter[677], (modelica_real)data->simulationInfo->realParameter[678], (modelica_real)data->simulationInfo->realParameter[679], (modelica_real)data->simulationInfo->realParameter[680]); + data->localData[0]->realVars[136] /* MaterialStream2._H_pc[3,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[745], tmp8, tmp9, data->simulationInfo->realParameter[755], 380.0); + TRACE_POP +} + +/* + equation index: 20 + type: SIMPLE_ASSIGN + MaterialStream2._H_pc[2,1] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream2.C[1].SH, {MaterialStream2.C[1].VapCp[1], MaterialStream2.C[1].VapCp[2], MaterialStream2.C[1].VapCp[3], MaterialStream2.C[1].VapCp[4], MaterialStream2.C[1].VapCp[5], MaterialStream2.C[1].VapCp[6]}, {MaterialStream2.C[1].HOV[1], MaterialStream2.C[1].HOV[2], MaterialStream2.C[1].HOV[3], MaterialStream2.C[1].HOV[4], MaterialStream2.C[1].HOV[5], MaterialStream2.C[1].HOV[6]}, MaterialStream2.C[1].Tc, 380.0) + */ +void Flowsheet_eqFunction_20(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,20}; + real_array tmp10; + real_array tmp11; + array_alloc_scalar_real_array(&tmp10, 6, (modelica_real)data->simulationInfo->realParameter[775], (modelica_real)data->simulationInfo->realParameter[776], (modelica_real)data->simulationInfo->realParameter[777], (modelica_real)data->simulationInfo->realParameter[778], (modelica_real)data->simulationInfo->realParameter[779], (modelica_real)data->simulationInfo->realParameter[780]); + array_alloc_scalar_real_array(&tmp11, 6, (modelica_real)data->simulationInfo->realParameter[675], (modelica_real)data->simulationInfo->realParameter[676], (modelica_real)data->simulationInfo->realParameter[677], (modelica_real)data->simulationInfo->realParameter[678], (modelica_real)data->simulationInfo->realParameter[679], (modelica_real)data->simulationInfo->realParameter[680]); + data->localData[0]->realVars[134] /* MaterialStream2._H_pc[2,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[745], tmp10, tmp11, data->simulationInfo->realParameter[755], 380.0); + TRACE_POP +} + +/* + equation index: 21 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_pc[3,1] = Simulator.Files.ThermodynamicFunctions.VapCpId({MaterialStream2.C[1].VapCp[1], MaterialStream2.C[1].VapCp[2], MaterialStream2.C[1].VapCp[3], MaterialStream2.C[1].VapCp[4], MaterialStream2.C[1].VapCp[5], MaterialStream2.C[1].VapCp[6]}, 380.0) + */ +void Flowsheet_eqFunction_21(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,21}; + real_array tmp12; + array_alloc_scalar_real_array(&tmp12, 6, (modelica_real)data->simulationInfo->realParameter[775], (modelica_real)data->simulationInfo->realParameter[776], (modelica_real)data->simulationInfo->realParameter[777], (modelica_real)data->simulationInfo->realParameter[778], (modelica_real)data->simulationInfo->realParameter[779], (modelica_real)data->simulationInfo->realParameter[780]); + data->localData[0]->realVars[107] /* MaterialStream2._Cp_pc[3,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_VapCpId(threadData, tmp12, 380.0); + TRACE_POP +} + +/* + equation index: 22 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_pc[2,1] = Simulator.Files.ThermodynamicFunctions.LiqCpId({MaterialStream2.C[1].LiqCp[1], MaterialStream2.C[1].LiqCp[2], MaterialStream2.C[1].LiqCp[3], MaterialStream2.C[1].LiqCp[4], MaterialStream2.C[1].LiqCp[5], MaterialStream2.C[1].LiqCp[6]}, 380.0) + */ +void Flowsheet_eqFunction_22(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,22}; + real_array tmp13; + array_alloc_scalar_real_array(&tmp13, 6, (modelica_real)data->simulationInfo->realParameter[691], (modelica_real)data->simulationInfo->realParameter[692], (modelica_real)data->simulationInfo->realParameter[693], (modelica_real)data->simulationInfo->realParameter[694], (modelica_real)data->simulationInfo->realParameter[695], (modelica_real)data->simulationInfo->realParameter[696]); + data->localData[0]->realVars[105] /* MaterialStream2._Cp_pc[2,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_LiqCpId(threadData, tmp13, 380.0); + TRACE_POP +} + +/* + equation index: 23 + type: SIMPLE_ASSIGN + MaterialStream1._Pvap_c[2] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream1.C[2].VP[1], MaterialStream1.C[2].VP[2], MaterialStream1.C[2].VP[3], MaterialStream1.C[2].VP[4], MaterialStream1.C[2].VP[5], MaterialStream1.C[2].VP[6]}, 350.0) + */ +void Flowsheet_eqFunction_23(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,23}; + real_array tmp14; + array_alloc_scalar_real_array(&tmp14, 6, (modelica_real)data->simulationInfo->realParameter[562], (modelica_real)data->simulationInfo->realParameter[563], (modelica_real)data->simulationInfo->realParameter[564], (modelica_real)data->simulationInfo->realParameter[565], (modelica_real)data->simulationInfo->realParameter[566], (modelica_real)data->simulationInfo->realParameter[567]); + data->localData[0]->realVars[61] /* MaterialStream1._Pvap_c[2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp14, 350.0); + TRACE_POP +} + +/* + equation index: 24 + type: SIMPLE_ASSIGN + MaterialStream1._Pvap_c[1] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream1.C[1].VP[1], MaterialStream1.C[1].VP[2], MaterialStream1.C[1].VP[3], MaterialStream1.C[1].VP[4], MaterialStream1.C[1].VP[5], MaterialStream1.C[1].VP[6]}, 350.0) + */ +void Flowsheet_eqFunction_24(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,24}; + real_array tmp15; + array_alloc_scalar_real_array(&tmp15, 6, (modelica_real)data->simulationInfo->realParameter[556], (modelica_real)data->simulationInfo->realParameter[557], (modelica_real)data->simulationInfo->realParameter[558], (modelica_real)data->simulationInfo->realParameter[559], (modelica_real)data->simulationInfo->realParameter[560], (modelica_real)data->simulationInfo->realParameter[561]); + data->localData[0]->realVars[60] /* MaterialStream1._Pvap_c[1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp15, 350.0); + TRACE_POP +} + +/* + equation index: 25 + type: SIMPLE_ASSIGN + MaterialStream1._H_pc[3,2] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream1.C[2].SH, {MaterialStream1.C[2].VapCp[1], MaterialStream1.C[2].VapCp[2], MaterialStream1.C[2].VapCp[3], MaterialStream1.C[2].VapCp[4], MaterialStream1.C[2].VapCp[5], MaterialStream1.C[2].VapCp[6]}, {MaterialStream1.C[2].HOV[1], MaterialStream1.C[2].HOV[2], MaterialStream1.C[2].HOV[3], MaterialStream1.C[2].HOV[4], MaterialStream1.C[2].HOV[5], MaterialStream1.C[2].HOV[6]}, MaterialStream1.C[2].Tc, 350.0) + */ +void Flowsheet_eqFunction_25(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,25}; + real_array tmp16; + real_array tmp17; + array_alloc_scalar_real_array(&tmp16, 6, (modelica_real)data->simulationInfo->realParameter[574], (modelica_real)data->simulationInfo->realParameter[575], (modelica_real)data->simulationInfo->realParameter[576], (modelica_real)data->simulationInfo->realParameter[577], (modelica_real)data->simulationInfo->realParameter[578], (modelica_real)data->simulationInfo->realParameter[579]); + array_alloc_scalar_real_array(&tmp17, 6, (modelica_real)data->simulationInfo->realParameter[474], (modelica_real)data->simulationInfo->realParameter[475], (modelica_real)data->simulationInfo->realParameter[476], (modelica_real)data->simulationInfo->realParameter[477], (modelica_real)data->simulationInfo->realParameter[478], (modelica_real)data->simulationInfo->realParameter[479]); + data->localData[0]->realVars[48] /* MaterialStream1._H_pc[3,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[539], tmp16, tmp17, data->simulationInfo->realParameter[549], 350.0); + TRACE_POP +} + +/* + equation index: 26 + type: SIMPLE_ASSIGN + MaterialStream1._H_pc[2,2] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream1.C[2].SH, {MaterialStream1.C[2].VapCp[1], MaterialStream1.C[2].VapCp[2], MaterialStream1.C[2].VapCp[3], MaterialStream1.C[2].VapCp[4], MaterialStream1.C[2].VapCp[5], MaterialStream1.C[2].VapCp[6]}, {MaterialStream1.C[2].HOV[1], MaterialStream1.C[2].HOV[2], MaterialStream1.C[2].HOV[3], MaterialStream1.C[2].HOV[4], MaterialStream1.C[2].HOV[5], MaterialStream1.C[2].HOV[6]}, MaterialStream1.C[2].Tc, 350.0) + */ +void Flowsheet_eqFunction_26(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,26}; + real_array tmp18; + real_array tmp19; + array_alloc_scalar_real_array(&tmp18, 6, (modelica_real)data->simulationInfo->realParameter[574], (modelica_real)data->simulationInfo->realParameter[575], (modelica_real)data->simulationInfo->realParameter[576], (modelica_real)data->simulationInfo->realParameter[577], (modelica_real)data->simulationInfo->realParameter[578], (modelica_real)data->simulationInfo->realParameter[579]); + array_alloc_scalar_real_array(&tmp19, 6, (modelica_real)data->simulationInfo->realParameter[474], (modelica_real)data->simulationInfo->realParameter[475], (modelica_real)data->simulationInfo->realParameter[476], (modelica_real)data->simulationInfo->realParameter[477], (modelica_real)data->simulationInfo->realParameter[478], (modelica_real)data->simulationInfo->realParameter[479]); + data->localData[0]->realVars[46] /* MaterialStream1._H_pc[2,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[539], tmp18, tmp19, data->simulationInfo->realParameter[549], 350.0); + TRACE_POP +} + +/* + equation index: 27 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_pc[3,2] = Simulator.Files.ThermodynamicFunctions.VapCpId({MaterialStream1.C[2].VapCp[1], MaterialStream1.C[2].VapCp[2], MaterialStream1.C[2].VapCp[3], MaterialStream1.C[2].VapCp[4], MaterialStream1.C[2].VapCp[5], MaterialStream1.C[2].VapCp[6]}, 350.0) + */ +void Flowsheet_eqFunction_27(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,27}; + real_array tmp20; + array_alloc_scalar_real_array(&tmp20, 6, (modelica_real)data->simulationInfo->realParameter[574], (modelica_real)data->simulationInfo->realParameter[575], (modelica_real)data->simulationInfo->realParameter[576], (modelica_real)data->simulationInfo->realParameter[577], (modelica_real)data->simulationInfo->realParameter[578], (modelica_real)data->simulationInfo->realParameter[579]); + data->localData[0]->realVars[18] /* MaterialStream1._Cp_pc[3,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_VapCpId(threadData, tmp20, 350.0); + TRACE_POP +} + +/* + equation index: 28 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_pc[2,2] = Simulator.Files.ThermodynamicFunctions.LiqCpId({MaterialStream1.C[2].LiqCp[1], MaterialStream1.C[2].LiqCp[2], MaterialStream1.C[2].LiqCp[3], MaterialStream1.C[2].LiqCp[4], MaterialStream1.C[2].LiqCp[5], MaterialStream1.C[2].LiqCp[6]}, 350.0) + */ +void Flowsheet_eqFunction_28(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,28}; + real_array tmp21; + array_alloc_scalar_real_array(&tmp21, 6, (modelica_real)data->simulationInfo->realParameter[490], (modelica_real)data->simulationInfo->realParameter[491], (modelica_real)data->simulationInfo->realParameter[492], (modelica_real)data->simulationInfo->realParameter[493], (modelica_real)data->simulationInfo->realParameter[494], (modelica_real)data->simulationInfo->realParameter[495]); + data->localData[0]->realVars[16] /* MaterialStream1._Cp_pc[2,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_LiqCpId(threadData, tmp21, 350.0); + TRACE_POP +} + +/* + equation index: 29 + type: SIMPLE_ASSIGN + MaterialStream1._H_pc[3,1] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream1.C[1].SH, {MaterialStream1.C[1].VapCp[1], MaterialStream1.C[1].VapCp[2], MaterialStream1.C[1].VapCp[3], MaterialStream1.C[1].VapCp[4], MaterialStream1.C[1].VapCp[5], MaterialStream1.C[1].VapCp[6]}, {MaterialStream1.C[1].HOV[1], MaterialStream1.C[1].HOV[2], MaterialStream1.C[1].HOV[3], MaterialStream1.C[1].HOV[4], MaterialStream1.C[1].HOV[5], MaterialStream1.C[1].HOV[6]}, MaterialStream1.C[1].Tc, 350.0) + */ +void Flowsheet_eqFunction_29(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,29}; + real_array tmp22; + real_array tmp23; + array_alloc_scalar_real_array(&tmp22, 6, (modelica_real)data->simulationInfo->realParameter[568], (modelica_real)data->simulationInfo->realParameter[569], (modelica_real)data->simulationInfo->realParameter[570], (modelica_real)data->simulationInfo->realParameter[571], (modelica_real)data->simulationInfo->realParameter[572], (modelica_real)data->simulationInfo->realParameter[573]); + array_alloc_scalar_real_array(&tmp23, 6, (modelica_real)data->simulationInfo->realParameter[468], (modelica_real)data->simulationInfo->realParameter[469], (modelica_real)data->simulationInfo->realParameter[470], (modelica_real)data->simulationInfo->realParameter[471], (modelica_real)data->simulationInfo->realParameter[472], (modelica_real)data->simulationInfo->realParameter[473]); + data->localData[0]->realVars[47] /* MaterialStream1._H_pc[3,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[538], tmp22, tmp23, data->simulationInfo->realParameter[548], 350.0); + TRACE_POP +} + +/* + equation index: 30 + type: SIMPLE_ASSIGN + MaterialStream1._H_pc[2,1] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream1.C[1].SH, {MaterialStream1.C[1].VapCp[1], MaterialStream1.C[1].VapCp[2], MaterialStream1.C[1].VapCp[3], MaterialStream1.C[1].VapCp[4], MaterialStream1.C[1].VapCp[5], MaterialStream1.C[1].VapCp[6]}, {MaterialStream1.C[1].HOV[1], MaterialStream1.C[1].HOV[2], MaterialStream1.C[1].HOV[3], MaterialStream1.C[1].HOV[4], MaterialStream1.C[1].HOV[5], MaterialStream1.C[1].HOV[6]}, MaterialStream1.C[1].Tc, 350.0) + */ +void Flowsheet_eqFunction_30(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,30}; + real_array tmp24; + real_array tmp25; + array_alloc_scalar_real_array(&tmp24, 6, (modelica_real)data->simulationInfo->realParameter[568], (modelica_real)data->simulationInfo->realParameter[569], (modelica_real)data->simulationInfo->realParameter[570], (modelica_real)data->simulationInfo->realParameter[571], (modelica_real)data->simulationInfo->realParameter[572], (modelica_real)data->simulationInfo->realParameter[573]); + array_alloc_scalar_real_array(&tmp25, 6, (modelica_real)data->simulationInfo->realParameter[468], (modelica_real)data->simulationInfo->realParameter[469], (modelica_real)data->simulationInfo->realParameter[470], (modelica_real)data->simulationInfo->realParameter[471], (modelica_real)data->simulationInfo->realParameter[472], (modelica_real)data->simulationInfo->realParameter[473]); + data->localData[0]->realVars[45] /* MaterialStream1._H_pc[2,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[538], tmp24, tmp25, data->simulationInfo->realParameter[548], 350.0); + TRACE_POP +} + +/* + equation index: 31 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_pc[3,1] = Simulator.Files.ThermodynamicFunctions.VapCpId({MaterialStream1.C[1].VapCp[1], MaterialStream1.C[1].VapCp[2], MaterialStream1.C[1].VapCp[3], MaterialStream1.C[1].VapCp[4], MaterialStream1.C[1].VapCp[5], MaterialStream1.C[1].VapCp[6]}, 350.0) + */ +void Flowsheet_eqFunction_31(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,31}; + real_array tmp26; + array_alloc_scalar_real_array(&tmp26, 6, (modelica_real)data->simulationInfo->realParameter[568], (modelica_real)data->simulationInfo->realParameter[569], (modelica_real)data->simulationInfo->realParameter[570], (modelica_real)data->simulationInfo->realParameter[571], (modelica_real)data->simulationInfo->realParameter[572], (modelica_real)data->simulationInfo->realParameter[573]); + data->localData[0]->realVars[17] /* MaterialStream1._Cp_pc[3,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_VapCpId(threadData, tmp26, 350.0); + TRACE_POP +} + +/* + equation index: 32 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_pc[2,1] = Simulator.Files.ThermodynamicFunctions.LiqCpId({MaterialStream1.C[1].LiqCp[1], MaterialStream1.C[1].LiqCp[2], MaterialStream1.C[1].LiqCp[3], MaterialStream1.C[1].LiqCp[4], MaterialStream1.C[1].LiqCp[5], MaterialStream1.C[1].LiqCp[6]}, 350.0) + */ +void Flowsheet_eqFunction_32(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,32}; + real_array tmp27; + array_alloc_scalar_real_array(&tmp27, 6, (modelica_real)data->simulationInfo->realParameter[484], (modelica_real)data->simulationInfo->realParameter[485], (modelica_real)data->simulationInfo->realParameter[486], (modelica_real)data->simulationInfo->realParameter[487], (modelica_real)data->simulationInfo->realParameter[488], (modelica_real)data->simulationInfo->realParameter[489]); + data->localData[0]->realVars[15] /* MaterialStream1._Cp_pc[2,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_LiqCpId(threadData, tmp27, 350.0); + TRACE_POP +} + +/* + equation index: 33 + type: SIMPLE_ASSIGN + MaterialStream2._K_c[2] = DIVISION(MaterialStream2.Pvap_c[2], Heater1.Pout) + */ +void Flowsheet_eqFunction_33(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,33}; + data->localData[0]->realVars[142] /* MaterialStream2._K_c[2] variable */ = DIVISION_SIM(data->localData[0]->realVars[149] /* MaterialStream2._Pvap_c[2] variable */,data->localData[0]->realVars[4] /* Heater1._Pout variable */,"Heater1.Pout",equationIndexes); + TRACE_POP +} + +/* + equation index: 34 + type: SIMPLE_ASSIGN + MaterialStream2._K_c[1] = DIVISION(MaterialStream2.Pvap_c[1], Heater1.Pout) + */ +void Flowsheet_eqFunction_34(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,34}; + data->localData[0]->realVars[141] /* MaterialStream2._K_c[1] variable */ = DIVISION_SIM(data->localData[0]->realVars[148] /* MaterialStream2._Pvap_c[1] variable */,data->localData[0]->realVars[4] /* Heater1._Pout variable */,"Heater1.Pout",equationIndexes); + TRACE_POP +} + +/* + equation index: 35 + type: SIMPLE_ASSIGN + MaterialStream1._K_c[2] = 9.869232667160129e-006 * MaterialStream1.Pvap_c[2] + */ +void Flowsheet_eqFunction_35(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,35}; + data->localData[0]->realVars[53] /* MaterialStream1._K_c[2] variable */ = (9.869232667160129e-006) * (data->localData[0]->realVars[61] /* MaterialStream1._Pvap_c[2] variable */); + TRACE_POP +} + +/* + equation index: 36 + type: SIMPLE_ASSIGN + MaterialStream1._K_c[1] = 9.869232667160129e-006 * MaterialStream1.Pvap_c[1] + */ +void Flowsheet_eqFunction_36(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,36}; + data->localData[0]->realVars[52] /* MaterialStream1._K_c[1] variable */ = (9.869232667160129e-006) * (data->localData[0]->realVars[60] /* MaterialStream1._Pvap_c[1] variable */); + TRACE_POP +} + +/* + equation index: 37 + type: SIMPLE_ASSIGN + Heater1._xguess[2] = 0.5 + */ +void Flowsheet_eqFunction_37(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,37}; + data->simulationInfo->realParameter[437] = 0.5; + TRACE_POP +} + +/* + equation index: 38 + type: SIMPLE_ASSIGN + Heater1._xguess[1] = 0.5 + */ +void Flowsheet_eqFunction_38(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,38}; + data->simulationInfo->realParameter[436] = 0.5; + TRACE_POP +} + +void Flowsheet_eqFunction_39(DATA*,threadData_t*); +void Flowsheet_eqFunction_40(DATA*,threadData_t*); +void Flowsheet_eqFunction_41(DATA*,threadData_t*); +/* + equation index: 42 + indexNonlinear: 0 + type: NONLINEAR + + vars: {Heater1._Tdg} + eqns: {39, 40, 41} + */ +void Flowsheet_eqFunction_42(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,42}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 42 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[0].nlsxOld[0] = data->simulationInfo->realParameter[431]; + retValue = solve_nonlinear_system(data, threadData, 0); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,42}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 42 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[431] = data->simulationInfo->nonlinearSystemData[0].nlsx[0]; + TRACE_POP +} + +void Flowsheet_eqFunction_43(DATA*,threadData_t*); +void Flowsheet_eqFunction_44(DATA*,threadData_t*); +void Flowsheet_eqFunction_45(DATA*,threadData_t*); +/* + equation index: 46 + indexNonlinear: 1 + type: NONLINEAR + + vars: {Heater1._Tbg} + eqns: {43, 44, 45} + */ +void Flowsheet_eqFunction_46(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,46}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 46 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[1].nlsxOld[0] = data->simulationInfo->realParameter[428]; + retValue = solve_nonlinear_system(data, threadData, 1); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,46}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 46 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[428] = data->simulationInfo->nonlinearSystemData[1].nlsx[0]; + TRACE_POP +} + +/* + equation index: 47 + type: SIMPLE_ASSIGN + Heater1._Temp = 0.5 * (Heater1.Tbg + Heater1.Tdg) + */ +void Flowsheet_eqFunction_47(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,47}; + data->simulationInfo->realParameter[432] = (0.5) * (data->simulationInfo->realParameter[428] + data->simulationInfo->realParameter[431]); + TRACE_POP +} + +/* + equation index: 48 + type: SIMPLE_ASSIGN + Heater1._Psatt[1] = Simulator.Files.ThermodynamicFunctions.Psat({Heater1.C[1].VP[1], Heater1.C[1].VP[2], Heater1.C[1].VP[3], Heater1.C[1].VP[4], Heater1.C[1].VP[5], Heater1.C[1].VP[6]}, Heater1.Temp) + */ +void Flowsheet_eqFunction_48(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,48}; + real_array tmp0; + array_alloc_scalar_real_array(&tmp0, 6, (modelica_real)data->simulationInfo->realParameter[347], (modelica_real)data->simulationInfo->realParameter[348], (modelica_real)data->simulationInfo->realParameter[349], (modelica_real)data->simulationInfo->realParameter[350], (modelica_real)data->simulationInfo->realParameter[351], (modelica_real)data->simulationInfo->realParameter[352]); + data->simulationInfo->realParameter[421] = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp0, data->simulationInfo->realParameter[432]); + TRACE_POP +} + +/* + equation index: 49 + type: SIMPLE_ASSIGN + Heater1._K_guess[1] = DIVISION(Heater1.Psatt[1], Heater1.Pg) + */ +void Flowsheet_eqFunction_49(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,49}; + data->simulationInfo->realParameter[411] = DIVISION_SIM(data->simulationInfo->realParameter[421],data->simulationInfo->realParameter[414],"Heater1.Pg",equationIndexes); + TRACE_POP +} + +/* + equation index: 50 + type: SIMPLE_ASSIGN + Heater1._Psatt[2] = Simulator.Files.ThermodynamicFunctions.Psat({Heater1.C[2].VP[1], Heater1.C[2].VP[2], Heater1.C[2].VP[3], Heater1.C[2].VP[4], Heater1.C[2].VP[5], Heater1.C[2].VP[6]}, Heater1.Temp) + */ +void Flowsheet_eqFunction_50(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,50}; + real_array tmp1; + array_alloc_scalar_real_array(&tmp1, 6, (modelica_real)data->simulationInfo->realParameter[353], (modelica_real)data->simulationInfo->realParameter[354], (modelica_real)data->simulationInfo->realParameter[355], (modelica_real)data->simulationInfo->realParameter[356], (modelica_real)data->simulationInfo->realParameter[357], (modelica_real)data->simulationInfo->realParameter[358]); + data->simulationInfo->realParameter[422] = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp1, data->simulationInfo->realParameter[432]); + TRACE_POP +} + +/* + equation index: 51 + type: SIMPLE_ASSIGN + Heater1._K_guess[2] = DIVISION(Heater1.Psatt[2], Heater1.Pg) + */ +void Flowsheet_eqFunction_51(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,51}; + data->simulationInfo->realParameter[412] = DIVISION_SIM(data->simulationInfo->realParameter[422],data->simulationInfo->realParameter[414],"Heater1.Pg",equationIndexes); + TRACE_POP +} + +/* + equation index: 52 + type: SIMPLE_ASSIGN + Heater1._Pxc[2] = DIVISION(Heater1.xguess[2], Heater1.Psatt[2]) + */ +void Flowsheet_eqFunction_52(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,52}; + data->simulationInfo->realParameter[425] = DIVISION_SIM(data->simulationInfo->realParameter[437],data->simulationInfo->realParameter[422],"Heater1.Psatt[2]",equationIndexes); + TRACE_POP +} + +/* + equation index: 53 + type: SIMPLE_ASSIGN + Heater1._Pxm[2] = Heater1.xguess[2] * Heater1.Psatt[2] + */ +void Flowsheet_eqFunction_53(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,53}; + data->simulationInfo->realParameter[427] = (data->simulationInfo->realParameter[437]) * (data->simulationInfo->realParameter[422]); + TRACE_POP +} + +/* + equation index: 54 + type: SIMPLE_ASSIGN + Heater1._Tg = Heater1.Temp + */ +void Flowsheet_eqFunction_54(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,54}; + data->simulationInfo->realParameter[433] = data->simulationInfo->realParameter[432]; + TRACE_POP +} + +/* + equation index: 55 + type: SIMPLE_ASSIGN + Heater1._Hcomplg[1] = Simulator.Files.ThermodynamicFunctions.HLiqId(Heater1.C[1].SH, {Heater1.C[1].VapCp[1], Heater1.C[1].VapCp[2], Heater1.C[1].VapCp[3], Heater1.C[1].VapCp[4], Heater1.C[1].VapCp[5], Heater1.C[1].VapCp[6]}, {Heater1.C[1].HOV[1], Heater1.C[1].HOV[2], Heater1.C[1].HOV[3], Heater1.C[1].HOV[4], Heater1.C[1].HOV[5], Heater1.C[1].HOV[6]}, Heater1.C[1].Tc, Heater1.Temp) + */ +void Flowsheet_eqFunction_55(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,55}; + real_array tmp2; + real_array tmp3; + array_alloc_scalar_real_array(&tmp2, 6, (modelica_real)data->simulationInfo->realParameter[359], (modelica_real)data->simulationInfo->realParameter[360], (modelica_real)data->simulationInfo->realParameter[361], (modelica_real)data->simulationInfo->realParameter[362], (modelica_real)data->simulationInfo->realParameter[363], (modelica_real)data->simulationInfo->realParameter[364]); + array_alloc_scalar_real_array(&tmp3, 6, (modelica_real)data->simulationInfo->realParameter[259], (modelica_real)data->simulationInfo->realParameter[260], (modelica_real)data->simulationInfo->realParameter[261], (modelica_real)data->simulationInfo->realParameter[262], (modelica_real)data->simulationInfo->realParameter[263], (modelica_real)data->simulationInfo->realParameter[264]); + data->simulationInfo->realParameter[403] = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[329], tmp2, tmp3, data->simulationInfo->realParameter[339], data->simulationInfo->realParameter[432]); + TRACE_POP +} + +/* + equation index: 56 + type: SIMPLE_ASSIGN + Heater1._Hcompvg[1] = Simulator.Files.ThermodynamicFunctions.HVapId(Heater1.C[1].SH, {Heater1.C[1].VapCp[1], Heater1.C[1].VapCp[2], Heater1.C[1].VapCp[3], Heater1.C[1].VapCp[4], Heater1.C[1].VapCp[5], Heater1.C[1].VapCp[6]}, {Heater1.C[1].HOV[1], Heater1.C[1].HOV[2], Heater1.C[1].HOV[3], Heater1.C[1].HOV[4], Heater1.C[1].HOV[5], Heater1.C[1].HOV[6]}, Heater1.C[1].Tc, Heater1.Temp) + */ +void Flowsheet_eqFunction_56(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,56}; + real_array tmp4; + real_array tmp5; + array_alloc_scalar_real_array(&tmp4, 6, (modelica_real)data->simulationInfo->realParameter[359], (modelica_real)data->simulationInfo->realParameter[360], (modelica_real)data->simulationInfo->realParameter[361], (modelica_real)data->simulationInfo->realParameter[362], (modelica_real)data->simulationInfo->realParameter[363], (modelica_real)data->simulationInfo->realParameter[364]); + array_alloc_scalar_real_array(&tmp5, 6, (modelica_real)data->simulationInfo->realParameter[259], (modelica_real)data->simulationInfo->realParameter[260], (modelica_real)data->simulationInfo->realParameter[261], (modelica_real)data->simulationInfo->realParameter[262], (modelica_real)data->simulationInfo->realParameter[263], (modelica_real)data->simulationInfo->realParameter[264]); + data->simulationInfo->realParameter[405] = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[329], tmp4, tmp5, data->simulationInfo->realParameter[339], data->simulationInfo->realParameter[432]); + TRACE_POP +} + +/* + equation index: 57 + type: SIMPLE_ASSIGN + Heater1._Hcomplg[2] = Simulator.Files.ThermodynamicFunctions.HLiqId(Heater1.C[2].SH, {Heater1.C[2].VapCp[1], Heater1.C[2].VapCp[2], Heater1.C[2].VapCp[3], Heater1.C[2].VapCp[4], Heater1.C[2].VapCp[5], Heater1.C[2].VapCp[6]}, {Heater1.C[2].HOV[1], Heater1.C[2].HOV[2], Heater1.C[2].HOV[3], Heater1.C[2].HOV[4], Heater1.C[2].HOV[5], Heater1.C[2].HOV[6]}, Heater1.C[2].Tc, Heater1.Temp) + */ +void Flowsheet_eqFunction_57(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,57}; + real_array tmp6; + real_array tmp7; + array_alloc_scalar_real_array(&tmp6, 6, (modelica_real)data->simulationInfo->realParameter[365], (modelica_real)data->simulationInfo->realParameter[366], (modelica_real)data->simulationInfo->realParameter[367], (modelica_real)data->simulationInfo->realParameter[368], (modelica_real)data->simulationInfo->realParameter[369], (modelica_real)data->simulationInfo->realParameter[370]); + array_alloc_scalar_real_array(&tmp7, 6, (modelica_real)data->simulationInfo->realParameter[265], (modelica_real)data->simulationInfo->realParameter[266], (modelica_real)data->simulationInfo->realParameter[267], (modelica_real)data->simulationInfo->realParameter[268], (modelica_real)data->simulationInfo->realParameter[269], (modelica_real)data->simulationInfo->realParameter[270]); + data->simulationInfo->realParameter[404] = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[330], tmp6, tmp7, data->simulationInfo->realParameter[340], data->simulationInfo->realParameter[432]); + TRACE_POP +} + +/* + equation index: 58 + type: SIMPLE_ASSIGN + Heater1._Hcompvg[2] = Simulator.Files.ThermodynamicFunctions.HVapId(Heater1.C[2].SH, {Heater1.C[2].VapCp[1], Heater1.C[2].VapCp[2], Heater1.C[2].VapCp[3], Heater1.C[2].VapCp[4], Heater1.C[2].VapCp[5], Heater1.C[2].VapCp[6]}, {Heater1.C[2].HOV[1], Heater1.C[2].HOV[2], Heater1.C[2].HOV[3], Heater1.C[2].HOV[4], Heater1.C[2].HOV[5], Heater1.C[2].HOV[6]}, Heater1.C[2].Tc, Heater1.Temp) + */ +void Flowsheet_eqFunction_58(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,58}; + real_array tmp8; + real_array tmp9; + array_alloc_scalar_real_array(&tmp8, 6, (modelica_real)data->simulationInfo->realParameter[365], (modelica_real)data->simulationInfo->realParameter[366], (modelica_real)data->simulationInfo->realParameter[367], (modelica_real)data->simulationInfo->realParameter[368], (modelica_real)data->simulationInfo->realParameter[369], (modelica_real)data->simulationInfo->realParameter[370]); + array_alloc_scalar_real_array(&tmp9, 6, (modelica_real)data->simulationInfo->realParameter[265], (modelica_real)data->simulationInfo->realParameter[266], (modelica_real)data->simulationInfo->realParameter[267], (modelica_real)data->simulationInfo->realParameter[268], (modelica_real)data->simulationInfo->realParameter[269], (modelica_real)data->simulationInfo->realParameter[270]); + data->simulationInfo->realParameter[406] = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[330], tmp8, tmp9, data->simulationInfo->realParameter[340], data->simulationInfo->realParameter[432]); + TRACE_POP +} + +/* + equation index: 59 + type: SIMPLE_ASSIGN + Heater1._Pxc[1] = DIVISION(Heater1.xguess[1], Heater1.Psatt[1]) + */ +void Flowsheet_eqFunction_59(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,59}; + data->simulationInfo->realParameter[424] = DIVISION_SIM(data->simulationInfo->realParameter[436],data->simulationInfo->realParameter[421],"Heater1.Psatt[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 60 + type: SIMPLE_ASSIGN + Heater1._Px = Heater1.Pxc[1] + Heater1.Pxc[2] + */ +void Flowsheet_eqFunction_60(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,60}; + data->simulationInfo->realParameter[423] = data->simulationInfo->realParameter[424] + data->simulationInfo->realParameter[425]; + TRACE_POP +} + +/* + equation index: 61 + type: SIMPLE_ASSIGN + Heater1._Pmin = DIVISION(1.0, Heater1.Px) + */ +void Flowsheet_eqFunction_61(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,61}; + data->simulationInfo->realParameter[416] = DIVISION_SIM(1.0,data->simulationInfo->realParameter[423],"Heater1.Px",equationIndexes); + TRACE_POP +} + +/* + equation index: 62 + type: SIMPLE_ASSIGN + Heater1._Pxm[1] = Heater1.xguess[1] * Heater1.Psatt[1] + */ +void Flowsheet_eqFunction_62(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,62}; + data->simulationInfo->realParameter[426] = (data->simulationInfo->realParameter[436]) * (data->simulationInfo->realParameter[421]); + TRACE_POP +} + +/* + equation index: 63 + type: SIMPLE_ASSIGN + Heater1._Pmax = Heater1.Pxm[1] + Heater1.Pxm[2] + */ +void Flowsheet_eqFunction_63(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,63}; + data->simulationInfo->realParameter[415] = data->simulationInfo->realParameter[426] + data->simulationInfo->realParameter[427]; + TRACE_POP +} + + +/* + equation index: 64 + type: SIMPLE_ASSIGN + Heater1._xvapg = 0.0 + */ +void Flowsheet_eqFunction_64(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,64}; + data->simulationInfo->realParameter[441] = 0.0; + TRACE_POP +} +/* + equation index: 65 + type: SIMPLE_ASSIGN + Heater1._xvapg = (Heater1.Pg - Heater1.Pmin) / (Heater1.Pmax - Heater1.Pmin) + */ +void Flowsheet_eqFunction_65(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,65}; + modelica_real tmp12; + tmp12 = data->simulationInfo->realParameter[415] - data->simulationInfo->realParameter[416]; + if (tmp12 == 0) {throwStreamPrint(threadData, "Division by zero %s", "(Heater1.Pg - Heater1.Pmin) / (Heater1.Pmax - Heater1.Pmin)");} + data->simulationInfo->realParameter[441] = (data->simulationInfo->realParameter[414] - data->simulationInfo->realParameter[416]) / tmp12; + TRACE_POP +} +/* + equation index: 66 + type: SIMPLE_ASSIGN + Heater1._xvapg = 1.0 + */ +void Flowsheet_eqFunction_66(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,66}; + data->simulationInfo->realParameter[441] = 1.0; + TRACE_POP +} +/* + equation index: 67 + type: IFEQUATION + + equation index: 64 + type: SIMPLE_ASSIGN + Heater1._xvapg = 0.0equation index: 65 + type: SIMPLE_ASSIGN + Heater1._xvapg = (Heater1.Pg - Heater1.Pmin) / (Heater1.Pmax - Heater1.Pmin) + equation index: 66 + type: SIMPLE_ASSIGN + Heater1._xvapg = 1.0 + */ +void Flowsheet_eqFunction_67(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,67}; + modelica_boolean tmp10; + modelica_boolean tmp11; + tmp10 = GreaterEq(data->simulationInfo->realParameter[414],data->simulationInfo->realParameter[415]); + tmp11 = GreaterEq(data->simulationInfo->realParameter[414],data->simulationInfo->realParameter[416]); + if(tmp10) + { + Flowsheet_eqFunction_64(data, threadData); + } + else if(tmp11) + { + Flowsheet_eqFunction_65(data, threadData); + }else + { + Flowsheet_eqFunction_66(data, threadData); + } + TRACE_POP +} + +/* + equation index: 68 + type: SIMPLE_ASSIGN + Heater1._xliqg = 1.0 - Heater1.xvapg + */ +void Flowsheet_eqFunction_68(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,68}; + data->simulationInfo->realParameter[438] = 1.0 - data->simulationInfo->realParameter[441]; + TRACE_POP +} + + +/* + equation index: 69 + type: SIMPLE_ASSIGN + Heater1._Beta = 1.0 + */ +void Flowsheet_eqFunction_69(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,69}; + data->simulationInfo->realParameter[238] = 1.0; + TRACE_POP +} +/* + equation index: 70 + type: SIMPLE_ASSIGN + Heater1._Beta = 0.0 + */ +void Flowsheet_eqFunction_70(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,70}; + data->simulationInfo->realParameter[238] = 0.0; + TRACE_POP +} +/* + equation index: 71 + type: SIMPLE_ASSIGN + Heater1._Beta = Heater1.xvapg + */ +void Flowsheet_eqFunction_71(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,71}; + data->simulationInfo->realParameter[238] = data->simulationInfo->realParameter[441]; + TRACE_POP +} +/* + equation index: 72 + type: IFEQUATION + + equation index: 69 + type: SIMPLE_ASSIGN + Heater1._Beta = 1.0equation index: 70 + type: SIMPLE_ASSIGN + Heater1._Beta = 0.0 + equation index: 71 + type: SIMPLE_ASSIGN + Heater1._Beta = Heater1.xvapg + */ +void Flowsheet_eqFunction_72(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,72}; + modelica_boolean tmp13; + modelica_boolean tmp14; + tmp13 = Greater(data->simulationInfo->realParameter[441],1.0); + tmp14 = Less(data->simulationInfo->realParameter[441],0.0); + if(tmp13) + { + Flowsheet_eqFunction_69(data, threadData); + } + else if(tmp14) + { + Flowsheet_eqFunction_70(data, threadData); + }else + { + Flowsheet_eqFunction_71(data, threadData); + } + TRACE_POP +} + +/* + equation index: 73 + type: SIMPLE_ASSIGN + Heater1._Alpha = 1.0 - Heater1.Beta + */ +void Flowsheet_eqFunction_73(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,73}; + data->simulationInfo->realParameter[237] = 1.0 - data->simulationInfo->realParameter[238]; + TRACE_POP +} + + + +/* + equation index: 74 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = Heater1.xguess[1] * Heater1.K_guess[1] / (1.0 + (-1.0 + Heater1.K_guess[1]) * Heater1.xvapg) + */ +void Flowsheet_eqFunction_74(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,74}; + modelica_real tmp18; + tmp18 = 1.0 + (-1.0 + data->simulationInfo->realParameter[411]) * (data->simulationInfo->realParameter[441]); + if (tmp18 == 0) {throwStreamPrint(threadData, "Division by zero %s", "Heater1.K_guess[1] / (1.0 + (-1.0 + Heater1.K_guess[1]) * Heater1.xvapg)");} + data->simulationInfo->realParameter[444] = (data->simulationInfo->realParameter[436]) * ((data->simulationInfo->realParameter[411]) / tmp18); + TRACE_POP +} +/* + equation index: 75 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = Heater1.xguess[1] + */ +void Flowsheet_eqFunction_75(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,75}; + data->simulationInfo->realParameter[444] = data->simulationInfo->realParameter[436]; + TRACE_POP +} +/* + equation index: 76 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_76(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,76}; + data->simulationInfo->realParameter[444] = 0.0; + TRACE_POP +} +/* + equation index: 77 + type: IFEQUATION + + equation index: 74 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = Heater1.xguess[1] * Heater1.K_guess[1] / (1.0 + (-1.0 + Heater1.K_guess[1]) * Heater1.xvapg)equation index: 75 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = Heater1.xguess[1] + equation index: 76 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_77(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,77}; + modelica_boolean tmp16; + tmp16 = Greater(data->simulationInfo->realParameter[238],0.0); + if((tmp16 && (data->simulationInfo->realParameter[238] != 1.0))) + { + Flowsheet_eqFunction_74(data, threadData); + } + else if((data->simulationInfo->realParameter[238] == 1.0)) + { + Flowsheet_eqFunction_75(data, threadData); + }else + { + Flowsheet_eqFunction_76(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 78 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = Heater1.ymol[1] / Heater1.K_guess[1] + */ +void Flowsheet_eqFunction_78(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,78}; + modelica_real tmp22; + tmp22 = data->simulationInfo->realParameter[411]; + if (tmp22 == 0) {throwStreamPrint(threadData, "Division by zero %s", "Heater1.ymol[1] / Heater1.K_guess[1]");} + data->simulationInfo->realParameter[439] = (data->simulationInfo->realParameter[444]) / tmp22; + TRACE_POP +} +/* + equation index: 79 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = Heater1.xguess[1] + */ +void Flowsheet_eqFunction_79(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,79}; + data->simulationInfo->realParameter[439] = data->simulationInfo->realParameter[436]; + TRACE_POP +} +/* + equation index: 80 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_80(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,80}; + data->simulationInfo->realParameter[439] = 0.0; + TRACE_POP +} +/* + equation index: 81 + type: IFEQUATION + + equation index: 78 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = Heater1.ymol[1] / Heater1.K_guess[1]equation index: 79 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = Heater1.xguess[1] + equation index: 80 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_81(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,81}; + modelica_boolean tmp20; + modelica_boolean tmp21; + tmp20 = Greater(data->simulationInfo->realParameter[238],0.0); + tmp21 = Less(data->simulationInfo->realParameter[238],1.0); + if((tmp20 && tmp21)) + { + Flowsheet_eqFunction_78(data, threadData); + } + else if((data->simulationInfo->realParameter[238] == 0.0)) + { + Flowsheet_eqFunction_79(data, threadData); + }else + { + Flowsheet_eqFunction_80(data, threadData); + } + TRACE_POP +} +/* + equation index: 82 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_82(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,82}; + data->simulationInfo->realParameter[439] = 0.0; + TRACE_POP +} + +/* + equation index: 83 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_83(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,83}; + data->simulationInfo->realParameter[444] = 0.0; + TRACE_POP +} +/* + equation index: 84 + type: IFEQUATION + + equation index: 77 + type: IFEQUATION + + equation index: 74 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = Heater1.xguess[1] * Heater1.K_guess[1] / (1.0 + (-1.0 + Heater1.K_guess[1]) * Heater1.xvapg)equation index: 75 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = Heater1.xguess[1] + equation index: 76 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = 0.0equation index: 81 + type: IFEQUATION + + equation index: 78 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = Heater1.ymol[1] / Heater1.K_guess[1]equation index: 79 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = Heater1.xguess[1] + equation index: 80 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = 0.0 + equation index: 82 + type: SIMPLE_ASSIGN + Heater1._xmol[1] = 0.0equation index: 83 + type: SIMPLE_ASSIGN + Heater1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_84(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,84}; + if((data->simulationInfo->realParameter[436] != 0.0)) + { + Flowsheet_eqFunction_77(data, threadData); + + Flowsheet_eqFunction_81(data, threadData); + }else + { + Flowsheet_eqFunction_82(data, threadData); + Flowsheet_eqFunction_83(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 85 + type: SIMPLE_ASSIGN + Heater1._xg[1] = 0.0 + */ +void Flowsheet_eqFunction_85(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,85}; + data->simulationInfo->realParameter[434] = 0.0; + TRACE_POP +} +/* + equation index: 86 + type: SIMPLE_ASSIGN + Heater1._xg[1] = 1.0 + */ +void Flowsheet_eqFunction_86(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,86}; + data->simulationInfo->realParameter[434] = 1.0; + TRACE_POP +} +/* + equation index: 87 + type: SIMPLE_ASSIGN + Heater1._xg[1] = Heater1.xmol[1] + */ +void Flowsheet_eqFunction_87(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,87}; + data->simulationInfo->realParameter[434] = data->simulationInfo->realParameter[439]; + TRACE_POP +} +/* + equation index: 88 + type: IFEQUATION + + equation index: 85 + type: SIMPLE_ASSIGN + Heater1._xg[1] = 0.0equation index: 86 + type: SIMPLE_ASSIGN + Heater1._xg[1] = 1.0 + equation index: 87 + type: SIMPLE_ASSIGN + Heater1._xg[1] = Heater1.xmol[1] + */ +void Flowsheet_eqFunction_88(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,88}; + modelica_boolean tmp24; + modelica_boolean tmp25; + tmp24 = Less(data->simulationInfo->realParameter[439],0.0); + tmp25 = Greater(data->simulationInfo->realParameter[434],1.0); + if(tmp24) + { + Flowsheet_eqFunction_85(data, threadData); + } + else if(tmp25) + { + Flowsheet_eqFunction_86(data, threadData); + }else + { + Flowsheet_eqFunction_87(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 89 + type: SIMPLE_ASSIGN + Heater1._yg[1] = 0.0 + */ +void Flowsheet_eqFunction_89(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,89}; + data->simulationInfo->realParameter[442] = 0.0; + TRACE_POP +} +/* + equation index: 90 + type: SIMPLE_ASSIGN + Heater1._yg[1] = 1.0 + */ +void Flowsheet_eqFunction_90(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,90}; + data->simulationInfo->realParameter[442] = 1.0; + TRACE_POP +} +/* + equation index: 91 + type: SIMPLE_ASSIGN + Heater1._yg[1] = Heater1.ymol[1] + */ +void Flowsheet_eqFunction_91(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,91}; + data->simulationInfo->realParameter[442] = data->simulationInfo->realParameter[444]; + TRACE_POP +} +/* + equation index: 92 + type: IFEQUATION + + equation index: 89 + type: SIMPLE_ASSIGN + Heater1._yg[1] = 0.0equation index: 90 + type: SIMPLE_ASSIGN + Heater1._yg[1] = 1.0 + equation index: 91 + type: SIMPLE_ASSIGN + Heater1._yg[1] = Heater1.ymol[1] + */ +void Flowsheet_eqFunction_92(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,92}; + modelica_boolean tmp26; + modelica_boolean tmp27; + tmp26 = Less(data->simulationInfo->realParameter[444],0.0); + tmp27 = Greater(data->simulationInfo->realParameter[444],1.0); + if(tmp26) + { + Flowsheet_eqFunction_89(data, threadData); + } + else if(tmp27) + { + Flowsheet_eqFunction_90(data, threadData); + }else + { + Flowsheet_eqFunction_91(data, threadData); + } + TRACE_POP +} + +/* + equation index: 96 + type: LINEAR + + <var>Heater1._Fvapg</var> + <row> + + </row> + <matrix> + </matrix> + */ +void Flowsheet_eqFunction_96(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,96}; + /* Linear equation system */ + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving linear system 96 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + data->simulationInfo->linearSystemData[0].x[0] = data->simulationInfo->realParameter[400]; + retValue = solve_linear_system(data, threadData, 0); + + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,96}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving linear system 96 failed at time=%.15g.\nFor more information please use -lv LOG_LS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[400] = data->simulationInfo->linearSystemData[0].x[0]; + TRACE_POP +} + + + +/* + equation index: 97 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = Heater1.xguess[2] * Heater1.K_guess[2] / (1.0 + (-1.0 + Heater1.K_guess[2]) * Heater1.xvapg) + */ +void Flowsheet_eqFunction_97(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,97}; + modelica_real tmp31; + tmp31 = 1.0 + (-1.0 + data->simulationInfo->realParameter[412]) * (data->simulationInfo->realParameter[441]); + if (tmp31 == 0) {throwStreamPrint(threadData, "Division by zero %s", "Heater1.K_guess[2] / (1.0 + (-1.0 + Heater1.K_guess[2]) * Heater1.xvapg)");} + data->simulationInfo->realParameter[445] = (data->simulationInfo->realParameter[437]) * ((data->simulationInfo->realParameter[412]) / tmp31); + TRACE_POP +} +/* + equation index: 98 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = Heater1.xguess[2] + */ +void Flowsheet_eqFunction_98(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,98}; + data->simulationInfo->realParameter[445] = data->simulationInfo->realParameter[437]; + TRACE_POP +} +/* + equation index: 99 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_99(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,99}; + data->simulationInfo->realParameter[445] = 0.0; + TRACE_POP +} +/* + equation index: 100 + type: IFEQUATION + + equation index: 97 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = Heater1.xguess[2] * Heater1.K_guess[2] / (1.0 + (-1.0 + Heater1.K_guess[2]) * Heater1.xvapg)equation index: 98 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = Heater1.xguess[2] + equation index: 99 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_100(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,100}; + modelica_boolean tmp29; + tmp29 = Greater(data->simulationInfo->realParameter[238],0.0); + if((tmp29 && (data->simulationInfo->realParameter[238] != 1.0))) + { + Flowsheet_eqFunction_97(data, threadData); + } + else if((data->simulationInfo->realParameter[238] == 1.0)) + { + Flowsheet_eqFunction_98(data, threadData); + }else + { + Flowsheet_eqFunction_99(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 101 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = Heater1.ymol[2] / Heater1.K_guess[2] + */ +void Flowsheet_eqFunction_101(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,101}; + modelica_real tmp35; + tmp35 = data->simulationInfo->realParameter[412]; + if (tmp35 == 0) {throwStreamPrint(threadData, "Division by zero %s", "Heater1.ymol[2] / Heater1.K_guess[2]");} + data->simulationInfo->realParameter[440] = (data->simulationInfo->realParameter[445]) / tmp35; + TRACE_POP +} +/* + equation index: 102 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = Heater1.xguess[2] + */ +void Flowsheet_eqFunction_102(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,102}; + data->simulationInfo->realParameter[440] = data->simulationInfo->realParameter[437]; + TRACE_POP +} +/* + equation index: 103 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_103(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,103}; + data->simulationInfo->realParameter[440] = 0.0; + TRACE_POP +} +/* + equation index: 104 + type: IFEQUATION + + equation index: 101 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = Heater1.ymol[2] / Heater1.K_guess[2]equation index: 102 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = Heater1.xguess[2] + equation index: 103 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_104(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,104}; + modelica_boolean tmp33; + modelica_boolean tmp34; + tmp33 = Greater(data->simulationInfo->realParameter[238],0.0); + tmp34 = Less(data->simulationInfo->realParameter[238],1.0); + if((tmp33 && tmp34)) + { + Flowsheet_eqFunction_101(data, threadData); + } + else if((data->simulationInfo->realParameter[238] == 0.0)) + { + Flowsheet_eqFunction_102(data, threadData); + }else + { + Flowsheet_eqFunction_103(data, threadData); + } + TRACE_POP +} +/* + equation index: 105 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_105(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,105}; + data->simulationInfo->realParameter[440] = 0.0; + TRACE_POP +} + +/* + equation index: 106 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_106(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,106}; + data->simulationInfo->realParameter[445] = 0.0; + TRACE_POP +} +/* + equation index: 107 + type: IFEQUATION + + equation index: 100 + type: IFEQUATION + + equation index: 97 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = Heater1.xguess[2] * Heater1.K_guess[2] / (1.0 + (-1.0 + Heater1.K_guess[2]) * Heater1.xvapg)equation index: 98 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = Heater1.xguess[2] + equation index: 99 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = 0.0equation index: 104 + type: IFEQUATION + + equation index: 101 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = Heater1.ymol[2] / Heater1.K_guess[2]equation index: 102 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = Heater1.xguess[2] + equation index: 103 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = 0.0 + equation index: 105 + type: SIMPLE_ASSIGN + Heater1._xmol[2] = 0.0equation index: 106 + type: SIMPLE_ASSIGN + Heater1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_107(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,107}; + if((data->simulationInfo->realParameter[437] != 0.0)) + { + Flowsheet_eqFunction_100(data, threadData); + + Flowsheet_eqFunction_104(data, threadData); + }else + { + Flowsheet_eqFunction_105(data, threadData); + Flowsheet_eqFunction_106(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 108 + type: SIMPLE_ASSIGN + Heater1._yg[2] = 0.0 + */ +void Flowsheet_eqFunction_108(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,108}; + data->simulationInfo->realParameter[443] = 0.0; + TRACE_POP +} +/* + equation index: 109 + type: SIMPLE_ASSIGN + Heater1._yg[2] = 1.0 + */ +void Flowsheet_eqFunction_109(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,109}; + data->simulationInfo->realParameter[443] = 1.0; + TRACE_POP +} +/* + equation index: 110 + type: SIMPLE_ASSIGN + Heater1._yg[2] = Heater1.ymol[2] + */ +void Flowsheet_eqFunction_110(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,110}; + data->simulationInfo->realParameter[443] = data->simulationInfo->realParameter[445]; + TRACE_POP +} +/* + equation index: 111 + type: IFEQUATION + + equation index: 108 + type: SIMPLE_ASSIGN + Heater1._yg[2] = 0.0equation index: 109 + type: SIMPLE_ASSIGN + Heater1._yg[2] = 1.0 + equation index: 110 + type: SIMPLE_ASSIGN + Heater1._yg[2] = Heater1.ymol[2] + */ +void Flowsheet_eqFunction_111(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,111}; + modelica_boolean tmp37; + modelica_boolean tmp38; + tmp37 = Less(data->simulationInfo->realParameter[445],0.0); + tmp38 = Greater(data->simulationInfo->realParameter[445],1.0); + if(tmp37) + { + Flowsheet_eqFunction_108(data, threadData); + } + else if(tmp38) + { + Flowsheet_eqFunction_109(data, threadData); + }else + { + Flowsheet_eqFunction_110(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 112 + type: SIMPLE_ASSIGN + Heater1._xg[2] = 0.0 + */ +void Flowsheet_eqFunction_112(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,112}; + data->simulationInfo->realParameter[435] = 0.0; + TRACE_POP +} +/* + equation index: 113 + type: SIMPLE_ASSIGN + Heater1._xg[2] = 1.0 + */ +void Flowsheet_eqFunction_113(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,113}; + data->simulationInfo->realParameter[435] = 1.0; + TRACE_POP +} +/* + equation index: 114 + type: SIMPLE_ASSIGN + Heater1._xg[2] = Heater1.xmol[2] + */ +void Flowsheet_eqFunction_114(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,114}; + data->simulationInfo->realParameter[435] = data->simulationInfo->realParameter[440]; + TRACE_POP +} +/* + equation index: 115 + type: IFEQUATION + + equation index: 112 + type: SIMPLE_ASSIGN + Heater1._xg[2] = 0.0equation index: 113 + type: SIMPLE_ASSIGN + Heater1._xg[2] = 1.0 + equation index: 114 + type: SIMPLE_ASSIGN + Heater1._xg[2] = Heater1.xmol[2] + */ +void Flowsheet_eqFunction_115(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,115}; + modelica_boolean tmp39; + modelica_boolean tmp40; + tmp39 = Less(data->simulationInfo->realParameter[440],0.0); + tmp40 = Greater(data->simulationInfo->realParameter[435],1.0); + if(tmp39) + { + Flowsheet_eqFunction_112(data, threadData); + } + else if(tmp40) + { + Flowsheet_eqFunction_113(data, threadData); + }else + { + Flowsheet_eqFunction_114(data, threadData); + } + TRACE_POP +} + +/* + equation index: 116 + type: SIMPLE_ASSIGN + $START._Heater1._xvapout = Heater1.xvapg + */ +void Flowsheet_eqFunction_116(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,116}; + data->modelData->realVarsData[9].attribute /* Heater1._xvapout variable */.start = data->simulationInfo->realParameter[441]; + data->localData[0]->realVars[9] /* Heater1._xvapout variable */ = data->modelData->realVarsData[9].attribute /* Heater1._xvapout variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[9].info /* Heater1._xvapout */.name, (modelica_real) data->localData[0]->realVars[9] /* Heater1._xvapout variable */); + TRACE_POP +} + +/* + equation index: 117 + type: SIMPLE_ASSIGN + $START._Heater1._xvapin = Heater1.xvapg + */ +void Flowsheet_eqFunction_117(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,117}; + data->modelData->realVarsData[8].attribute /* Heater1._xvapin variable */.start = data->simulationInfo->realParameter[441]; + data->localData[0]->realVars[8] /* Heater1._xvapin variable */ = data->modelData->realVarsData[8].attribute /* Heater1._xvapin variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[8].info /* Heater1._xvapin */.name, (modelica_real) data->localData[0]->realVars[8] /* Heater1._xvapin variable */); + TRACE_POP +} + +/* + equation index: 118 + type: SIMPLE_ASSIGN + Heater1._Hliqg = Heater1.xguess[1] * Heater1.Hcomplg[1] + Heater1.xguess[2] * Heater1.Hcomplg[2] + */ +void Flowsheet_eqFunction_118(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,118}; + data->simulationInfo->realParameter[407] = (data->simulationInfo->realParameter[436]) * (data->simulationInfo->realParameter[403]) + (data->simulationInfo->realParameter[437]) * (data->simulationInfo->realParameter[404]); + TRACE_POP +} + +/* + equation index: 119 + type: SIMPLE_ASSIGN + Heater1._Hvapg = Heater1.xguess[1] * Heater1.Hcompvg[1] + Heater1.xguess[2] * Heater1.Hcompvg[2] + */ +void Flowsheet_eqFunction_119(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,119}; + data->simulationInfo->realParameter[410] = (data->simulationInfo->realParameter[436]) * (data->simulationInfo->realParameter[405]) + (data->simulationInfo->realParameter[437]) * (data->simulationInfo->realParameter[406]); + TRACE_POP +} + +/* + equation index: 120 + type: SIMPLE_ASSIGN + Heater1._Htotg = Heater1.Hliqg + Heater1.Hvapg + */ +void Flowsheet_eqFunction_120(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,120}; + data->simulationInfo->realParameter[409] = data->simulationInfo->realParameter[407] + data->simulationInfo->realParameter[410]; + TRACE_POP +} + +/* + equation index: 121 + type: SIMPLE_ASSIGN + Heater1._Hmixg = Heater1.Htotg + */ +void Flowsheet_eqFunction_121(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,121}; + data->simulationInfo->realParameter[408] = data->simulationInfo->realParameter[409]; + TRACE_POP +} + +/* + equation index: 122 + type: SIMPLE_ASSIGN + Heater1._Hcompg[1] = Heater1.xguess[1] * Heater1.Htotg + */ +void Flowsheet_eqFunction_122(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,122}; + data->simulationInfo->realParameter[401] = (data->simulationInfo->realParameter[436]) * (data->simulationInfo->realParameter[409]); + TRACE_POP +} + +/* + equation index: 123 + type: SIMPLE_ASSIGN + Heater1._Hcompg[2] = Heater1.xguess[2] * Heater1.Htotg + */ +void Flowsheet_eqFunction_123(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,123}; + data->simulationInfo->realParameter[402] = (data->simulationInfo->realParameter[437]) * (data->simulationInfo->realParameter[409]); + TRACE_POP +} + +/* + equation index: 124 + type: SIMPLE_ASSIGN + MaterialStream2._xguess[2] = 0.5 + */ +void Flowsheet_eqFunction_124(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,124}; + data->simulationInfo->realParameter[851] = 0.5; + TRACE_POP +} + +/* + equation index: 125 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xm_pc[1,2] = MaterialStream2.xguess[2] + */ +void Flowsheet_eqFunction_125(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,125}; + data->modelData->realVarsData[180].attribute /* MaterialStream2._xm_pc[1,2] variable */.start = data->simulationInfo->realParameter[851]; + data->localData[0]->realVars[180] /* MaterialStream2._xm_pc[1,2] variable */ = data->modelData->realVarsData[180].attribute /* MaterialStream2._xm_pc[1,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[180].info /* MaterialStream2._xm_pc[1,2] */.name, (modelica_real) data->localData[0]->realVars[180] /* MaterialStream2._xm_pc[1,2] variable */); + TRACE_POP +} + +/* + equation index: 126 + type: SIMPLE_ASSIGN + $START._MaterialStream2._x_pc[1,2] = MaterialStream2.xguess[2] + */ +void Flowsheet_eqFunction_126(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,126}; + data->modelData->realVarsData[173].attribute /* MaterialStream2._x_pc[1,2] variable */.start = data->simulationInfo->realParameter[851]; + data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */ = data->modelData->realVarsData[173].attribute /* MaterialStream2._x_pc[1,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[173].info /* MaterialStream2._x_pc[1,2] */.name, (modelica_real) data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */); + TRACE_POP +} + +/* + equation index: 127 + type: SIMPLE_ASSIGN + MaterialStream2._xguess[1] = 0.5 + */ +void Flowsheet_eqFunction_127(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,127}; + data->simulationInfo->realParameter[850] = 0.5; + TRACE_POP +} + +void Flowsheet_eqFunction_128(DATA*,threadData_t*); +void Flowsheet_eqFunction_129(DATA*,threadData_t*); +void Flowsheet_eqFunction_130(DATA*,threadData_t*); +/* + equation index: 131 + indexNonlinear: 2 + type: NONLINEAR + + vars: {MaterialStream2._Tdg} + eqns: {128, 129, 130} + */ +void Flowsheet_eqFunction_131(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,131}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 131 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[2].nlsxOld[0] = data->simulationInfo->realParameter[845]; + retValue = solve_nonlinear_system(data, threadData, 2); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,131}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 131 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[845] = data->simulationInfo->nonlinearSystemData[2].nlsx[0]; + TRACE_POP +} + +void Flowsheet_eqFunction_132(DATA*,threadData_t*); +void Flowsheet_eqFunction_133(DATA*,threadData_t*); +void Flowsheet_eqFunction_134(DATA*,threadData_t*); +/* + equation index: 135 + indexNonlinear: 3 + type: NONLINEAR + + vars: {MaterialStream2._Tbg} + eqns: {132, 133, 134} + */ +void Flowsheet_eqFunction_135(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,135}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 135 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[3].nlsxOld[0] = data->simulationInfo->realParameter[842]; + retValue = solve_nonlinear_system(data, threadData, 3); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,135}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 135 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[842] = data->simulationInfo->nonlinearSystemData[3].nlsx[0]; + TRACE_POP +} + +/* + equation index: 136 + type: SIMPLE_ASSIGN + MaterialStream2._Temp = 0.5 * (MaterialStream2.Tbg + MaterialStream2.Tdg) + */ +void Flowsheet_eqFunction_136(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,136}; + data->simulationInfo->realParameter[846] = (0.5) * (data->simulationInfo->realParameter[842] + data->simulationInfo->realParameter[845]); + TRACE_POP +} + +/* + equation index: 137 + type: SIMPLE_ASSIGN + MaterialStream2._Psatt[1] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream2.C[1].VP[1], MaterialStream2.C[1].VP[2], MaterialStream2.C[1].VP[3], MaterialStream2.C[1].VP[4], MaterialStream2.C[1].VP[5], MaterialStream2.C[1].VP[6]}, MaterialStream2.Temp) + */ +void Flowsheet_eqFunction_137(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,137}; + real_array tmp0; + array_alloc_scalar_real_array(&tmp0, 6, (modelica_real)data->simulationInfo->realParameter[763], (modelica_real)data->simulationInfo->realParameter[764], (modelica_real)data->simulationInfo->realParameter[765], (modelica_real)data->simulationInfo->realParameter[766], (modelica_real)data->simulationInfo->realParameter[767], (modelica_real)data->simulationInfo->realParameter[768]); + data->simulationInfo->realParameter[835] = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp0, data->simulationInfo->realParameter[846]); + TRACE_POP +} + +/* + equation index: 138 + type: SIMPLE_ASSIGN + MaterialStream2._K_guess[1] = DIVISION(MaterialStream2.Psatt[1], MaterialStream2.Pg) + */ +void Flowsheet_eqFunction_138(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,138}; + data->simulationInfo->realParameter[826] = DIVISION_SIM(data->simulationInfo->realParameter[835],data->simulationInfo->realParameter[828],"MaterialStream2.Pg",equationIndexes); + TRACE_POP +} + +/* + equation index: 139 + type: SIMPLE_ASSIGN + MaterialStream2._Psatt[2] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream2.C[2].VP[1], MaterialStream2.C[2].VP[2], MaterialStream2.C[2].VP[3], MaterialStream2.C[2].VP[4], MaterialStream2.C[2].VP[5], MaterialStream2.C[2].VP[6]}, MaterialStream2.Temp) + */ +void Flowsheet_eqFunction_139(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,139}; + real_array tmp1; + array_alloc_scalar_real_array(&tmp1, 6, (modelica_real)data->simulationInfo->realParameter[769], (modelica_real)data->simulationInfo->realParameter[770], (modelica_real)data->simulationInfo->realParameter[771], (modelica_real)data->simulationInfo->realParameter[772], (modelica_real)data->simulationInfo->realParameter[773], (modelica_real)data->simulationInfo->realParameter[774]); + data->simulationInfo->realParameter[836] = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp1, data->simulationInfo->realParameter[846]); + TRACE_POP +} + +/* + equation index: 140 + type: SIMPLE_ASSIGN + MaterialStream2._K_guess[2] = DIVISION(MaterialStream2.Psatt[2], MaterialStream2.Pg) + */ +void Flowsheet_eqFunction_140(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,140}; + data->simulationInfo->realParameter[827] = DIVISION_SIM(data->simulationInfo->realParameter[836],data->simulationInfo->realParameter[828],"MaterialStream2.Pg",equationIndexes); + TRACE_POP +} + +/* + equation index: 141 + type: SIMPLE_ASSIGN + MaterialStream2._Pxc[2] = DIVISION(MaterialStream2.xguess[2], MaterialStream2.Psatt[2]) + */ +void Flowsheet_eqFunction_141(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,141}; + data->simulationInfo->realParameter[839] = DIVISION_SIM(data->simulationInfo->realParameter[851],data->simulationInfo->realParameter[836],"MaterialStream2.Psatt[2]",equationIndexes); + TRACE_POP +} + +/* + equation index: 142 + type: SIMPLE_ASSIGN + MaterialStream2._Pxm[2] = MaterialStream2.xguess[2] * MaterialStream2.Psatt[2] + */ +void Flowsheet_eqFunction_142(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,142}; + data->simulationInfo->realParameter[841] = (data->simulationInfo->realParameter[851]) * (data->simulationInfo->realParameter[836]); + TRACE_POP +} + +/* + equation index: 143 + type: SIMPLE_ASSIGN + MaterialStream2._Tg = MaterialStream2.Temp + */ +void Flowsheet_eqFunction_143(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,143}; + data->simulationInfo->realParameter[847] = data->simulationInfo->realParameter[846]; + TRACE_POP +} + +/* + equation index: 144 + type: SIMPLE_ASSIGN + MaterialStream2._Hcomplg[1] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream2.C[1].SH, {MaterialStream2.C[1].VapCp[1], MaterialStream2.C[1].VapCp[2], MaterialStream2.C[1].VapCp[3], MaterialStream2.C[1].VapCp[4], MaterialStream2.C[1].VapCp[5], MaterialStream2.C[1].VapCp[6]}, {MaterialStream2.C[1].HOV[1], MaterialStream2.C[1].HOV[2], MaterialStream2.C[1].HOV[3], MaterialStream2.C[1].HOV[4], MaterialStream2.C[1].HOV[5], MaterialStream2.C[1].HOV[6]}, MaterialStream2.C[1].Tc, MaterialStream2.Temp) + */ +void Flowsheet_eqFunction_144(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,144}; + real_array tmp2; + real_array tmp3; + array_alloc_scalar_real_array(&tmp2, 6, (modelica_real)data->simulationInfo->realParameter[775], (modelica_real)data->simulationInfo->realParameter[776], (modelica_real)data->simulationInfo->realParameter[777], (modelica_real)data->simulationInfo->realParameter[778], (modelica_real)data->simulationInfo->realParameter[779], (modelica_real)data->simulationInfo->realParameter[780]); + array_alloc_scalar_real_array(&tmp3, 6, (modelica_real)data->simulationInfo->realParameter[675], (modelica_real)data->simulationInfo->realParameter[676], (modelica_real)data->simulationInfo->realParameter[677], (modelica_real)data->simulationInfo->realParameter[678], (modelica_real)data->simulationInfo->realParameter[679], (modelica_real)data->simulationInfo->realParameter[680]); + data->simulationInfo->realParameter[818] = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[745], tmp2, tmp3, data->simulationInfo->realParameter[755], data->simulationInfo->realParameter[846]); + TRACE_POP +} + +/* + equation index: 145 + type: SIMPLE_ASSIGN + MaterialStream2._Hcompvg[1] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream2.C[1].SH, {MaterialStream2.C[1].VapCp[1], MaterialStream2.C[1].VapCp[2], MaterialStream2.C[1].VapCp[3], MaterialStream2.C[1].VapCp[4], MaterialStream2.C[1].VapCp[5], MaterialStream2.C[1].VapCp[6]}, {MaterialStream2.C[1].HOV[1], MaterialStream2.C[1].HOV[2], MaterialStream2.C[1].HOV[3], MaterialStream2.C[1].HOV[4], MaterialStream2.C[1].HOV[5], MaterialStream2.C[1].HOV[6]}, MaterialStream2.C[1].Tc, MaterialStream2.Temp) + */ +void Flowsheet_eqFunction_145(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,145}; + real_array tmp4; + real_array tmp5; + array_alloc_scalar_real_array(&tmp4, 6, (modelica_real)data->simulationInfo->realParameter[775], (modelica_real)data->simulationInfo->realParameter[776], (modelica_real)data->simulationInfo->realParameter[777], (modelica_real)data->simulationInfo->realParameter[778], (modelica_real)data->simulationInfo->realParameter[779], (modelica_real)data->simulationInfo->realParameter[780]); + array_alloc_scalar_real_array(&tmp5, 6, (modelica_real)data->simulationInfo->realParameter[675], (modelica_real)data->simulationInfo->realParameter[676], (modelica_real)data->simulationInfo->realParameter[677], (modelica_real)data->simulationInfo->realParameter[678], (modelica_real)data->simulationInfo->realParameter[679], (modelica_real)data->simulationInfo->realParameter[680]); + data->simulationInfo->realParameter[820] = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[745], tmp4, tmp5, data->simulationInfo->realParameter[755], data->simulationInfo->realParameter[846]); + TRACE_POP +} + +/* + equation index: 146 + type: SIMPLE_ASSIGN + MaterialStream2._Hcomplg[2] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream2.C[2].SH, {MaterialStream2.C[2].VapCp[1], MaterialStream2.C[2].VapCp[2], MaterialStream2.C[2].VapCp[3], MaterialStream2.C[2].VapCp[4], MaterialStream2.C[2].VapCp[5], MaterialStream2.C[2].VapCp[6]}, {MaterialStream2.C[2].HOV[1], MaterialStream2.C[2].HOV[2], MaterialStream2.C[2].HOV[3], MaterialStream2.C[2].HOV[4], MaterialStream2.C[2].HOV[5], MaterialStream2.C[2].HOV[6]}, MaterialStream2.C[2].Tc, MaterialStream2.Temp) + */ +void Flowsheet_eqFunction_146(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,146}; + real_array tmp6; + real_array tmp7; + array_alloc_scalar_real_array(&tmp6, 6, (modelica_real)data->simulationInfo->realParameter[781], (modelica_real)data->simulationInfo->realParameter[782], (modelica_real)data->simulationInfo->realParameter[783], (modelica_real)data->simulationInfo->realParameter[784], (modelica_real)data->simulationInfo->realParameter[785], (modelica_real)data->simulationInfo->realParameter[786]); + array_alloc_scalar_real_array(&tmp7, 6, (modelica_real)data->simulationInfo->realParameter[681], (modelica_real)data->simulationInfo->realParameter[682], (modelica_real)data->simulationInfo->realParameter[683], (modelica_real)data->simulationInfo->realParameter[684], (modelica_real)data->simulationInfo->realParameter[685], (modelica_real)data->simulationInfo->realParameter[686]); + data->simulationInfo->realParameter[819] = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[746], tmp6, tmp7, data->simulationInfo->realParameter[756], data->simulationInfo->realParameter[846]); + TRACE_POP +} + +/* + equation index: 147 + type: SIMPLE_ASSIGN + MaterialStream2._Hcompvg[2] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream2.C[2].SH, {MaterialStream2.C[2].VapCp[1], MaterialStream2.C[2].VapCp[2], MaterialStream2.C[2].VapCp[3], MaterialStream2.C[2].VapCp[4], MaterialStream2.C[2].VapCp[5], MaterialStream2.C[2].VapCp[6]}, {MaterialStream2.C[2].HOV[1], MaterialStream2.C[2].HOV[2], MaterialStream2.C[2].HOV[3], MaterialStream2.C[2].HOV[4], MaterialStream2.C[2].HOV[5], MaterialStream2.C[2].HOV[6]}, MaterialStream2.C[2].Tc, MaterialStream2.Temp) + */ +void Flowsheet_eqFunction_147(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,147}; + real_array tmp8; + real_array tmp9; + array_alloc_scalar_real_array(&tmp8, 6, (modelica_real)data->simulationInfo->realParameter[781], (modelica_real)data->simulationInfo->realParameter[782], (modelica_real)data->simulationInfo->realParameter[783], (modelica_real)data->simulationInfo->realParameter[784], (modelica_real)data->simulationInfo->realParameter[785], (modelica_real)data->simulationInfo->realParameter[786]); + array_alloc_scalar_real_array(&tmp9, 6, (modelica_real)data->simulationInfo->realParameter[681], (modelica_real)data->simulationInfo->realParameter[682], (modelica_real)data->simulationInfo->realParameter[683], (modelica_real)data->simulationInfo->realParameter[684], (modelica_real)data->simulationInfo->realParameter[685], (modelica_real)data->simulationInfo->realParameter[686]); + data->simulationInfo->realParameter[821] = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[746], tmp8, tmp9, data->simulationInfo->realParameter[756], data->simulationInfo->realParameter[846]); + TRACE_POP +} + +/* + equation index: 148 + type: SIMPLE_ASSIGN + MaterialStream2._Pxc[1] = DIVISION(MaterialStream2.xguess[1], MaterialStream2.Psatt[1]) + */ +void Flowsheet_eqFunction_148(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,148}; + data->simulationInfo->realParameter[838] = DIVISION_SIM(data->simulationInfo->realParameter[850],data->simulationInfo->realParameter[835],"MaterialStream2.Psatt[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 149 + type: SIMPLE_ASSIGN + MaterialStream2._Px = MaterialStream2.Pxc[1] + MaterialStream2.Pxc[2] + */ +void Flowsheet_eqFunction_149(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,149}; + data->simulationInfo->realParameter[837] = data->simulationInfo->realParameter[838] + data->simulationInfo->realParameter[839]; + TRACE_POP +} + +/* + equation index: 150 + type: SIMPLE_ASSIGN + MaterialStream2._Pmin = DIVISION(1.0, MaterialStream2.Px) + */ +void Flowsheet_eqFunction_150(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,150}; + data->simulationInfo->realParameter[830] = DIVISION_SIM(1.0,data->simulationInfo->realParameter[837],"MaterialStream2.Px",equationIndexes); + TRACE_POP +} + +/* + equation index: 151 + type: SIMPLE_ASSIGN + $START._MaterialStream2._Pbubl = MaterialStream2.Pmin + */ +void Flowsheet_eqFunction_151(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,151}; + data->modelData->realVarsData[146].attribute /* MaterialStream2._Pbubl variable */.start = data->simulationInfo->realParameter[830]; + data->localData[0]->realVars[146] /* MaterialStream2._Pbubl variable */ = data->modelData->realVarsData[146].attribute /* MaterialStream2._Pbubl variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[146].info /* MaterialStream2._Pbubl */.name, (modelica_real) data->localData[0]->realVars[146] /* MaterialStream2._Pbubl variable */); + TRACE_POP +} + +/* + equation index: 152 + type: SIMPLE_ASSIGN + MaterialStream2._Pxm[1] = MaterialStream2.xguess[1] * MaterialStream2.Psatt[1] + */ +void Flowsheet_eqFunction_152(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,152}; + data->simulationInfo->realParameter[840] = (data->simulationInfo->realParameter[850]) * (data->simulationInfo->realParameter[835]); + TRACE_POP +} + +/* + equation index: 153 + type: SIMPLE_ASSIGN + MaterialStream2._Pmax = MaterialStream2.Pxm[1] + MaterialStream2.Pxm[2] + */ +void Flowsheet_eqFunction_153(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,153}; + data->simulationInfo->realParameter[829] = data->simulationInfo->realParameter[840] + data->simulationInfo->realParameter[841]; + TRACE_POP +} + + +/* + equation index: 154 + type: SIMPLE_ASSIGN + MaterialStream2._xvapg = 0.0 + */ +void Flowsheet_eqFunction_154(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,154}; + data->simulationInfo->realParameter[855] = 0.0; + TRACE_POP +} +/* + equation index: 155 + type: SIMPLE_ASSIGN + MaterialStream2._xvapg = (MaterialStream2.Pg - MaterialStream2.Pmin) / (MaterialStream2.Pmax - MaterialStream2.Pmin) + */ +void Flowsheet_eqFunction_155(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,155}; + modelica_real tmp12; + tmp12 = data->simulationInfo->realParameter[829] - data->simulationInfo->realParameter[830]; + if (tmp12 == 0) {throwStreamPrint(threadData, "Division by zero %s", "(MaterialStream2.Pg - MaterialStream2.Pmin) / (MaterialStream2.Pmax - MaterialStream2.Pmin)");} + data->simulationInfo->realParameter[855] = (data->simulationInfo->realParameter[828] - data->simulationInfo->realParameter[830]) / tmp12; + TRACE_POP +} +/* + equation index: 156 + type: SIMPLE_ASSIGN + MaterialStream2._xvapg = 1.0 + */ +void Flowsheet_eqFunction_156(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,156}; + data->simulationInfo->realParameter[855] = 1.0; + TRACE_POP +} +/* + equation index: 157 + type: IFEQUATION + + equation index: 154 + type: SIMPLE_ASSIGN + MaterialStream2._xvapg = 0.0equation index: 155 + type: SIMPLE_ASSIGN + MaterialStream2._xvapg = (MaterialStream2.Pg - MaterialStream2.Pmin) / (MaterialStream2.Pmax - MaterialStream2.Pmin) + equation index: 156 + type: SIMPLE_ASSIGN + MaterialStream2._xvapg = 1.0 + */ +void Flowsheet_eqFunction_157(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,157}; + modelica_boolean tmp10; + modelica_boolean tmp11; + tmp10 = GreaterEq(data->simulationInfo->realParameter[828],data->simulationInfo->realParameter[829]); + tmp11 = GreaterEq(data->simulationInfo->realParameter[828],data->simulationInfo->realParameter[830]); + if(tmp10) + { + Flowsheet_eqFunction_154(data, threadData); + } + else if(tmp11) + { + Flowsheet_eqFunction_155(data, threadData); + }else + { + Flowsheet_eqFunction_156(data, threadData); + } + TRACE_POP +} + +/* + equation index: 158 + type: SIMPLE_ASSIGN + MaterialStream2._xliqg = 1.0 - MaterialStream2.xvapg + */ +void Flowsheet_eqFunction_158(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,158}; + data->simulationInfo->realParameter[852] = 1.0 - data->simulationInfo->realParameter[855]; + TRACE_POP +} + +/* + equation index: 159 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xmliq = MaterialStream2.xliqg + */ +void Flowsheet_eqFunction_159(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,159}; + data->modelData->realVarsData[185].attribute /* MaterialStream2._xmliq variable */.start = data->simulationInfo->realParameter[852]; + data->localData[0]->realVars[185] /* MaterialStream2._xmliq variable */ = data->modelData->realVarsData[185].attribute /* MaterialStream2._xmliq variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[185].info /* MaterialStream2._xmliq */.name, (modelica_real) data->localData[0]->realVars[185] /* MaterialStream2._xmliq variable */); + TRACE_POP +} + +/* + equation index: 160 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xliq = MaterialStream2.xliqg + */ +void Flowsheet_eqFunction_160(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,160}; + data->modelData->realVarsData[178].attribute /* MaterialStream2._xliq variable */.start = data->simulationInfo->realParameter[852]; + data->localData[0]->realVars[178] /* MaterialStream2._xliq variable */ = data->modelData->realVarsData[178].attribute /* MaterialStream2._xliq variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[178].info /* MaterialStream2._xliq */.name, (modelica_real) data->localData[0]->realVars[178] /* MaterialStream2._xliq variable */); + TRACE_POP +} + + +/* + equation index: 161 + type: SIMPLE_ASSIGN + MaterialStream2._Beta = 1.0 + */ +void Flowsheet_eqFunction_161(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,161}; + data->simulationInfo->realParameter[654] = 1.0; + TRACE_POP +} +/* + equation index: 162 + type: SIMPLE_ASSIGN + MaterialStream2._Beta = 0.0 + */ +void Flowsheet_eqFunction_162(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,162}; + data->simulationInfo->realParameter[654] = 0.0; + TRACE_POP +} +/* + equation index: 163 + type: SIMPLE_ASSIGN + MaterialStream2._Beta = MaterialStream2.xvapg + */ +void Flowsheet_eqFunction_163(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,163}; + data->simulationInfo->realParameter[654] = data->simulationInfo->realParameter[855]; + TRACE_POP +} +/* + equation index: 164 + type: IFEQUATION + + equation index: 161 + type: SIMPLE_ASSIGN + MaterialStream2._Beta = 1.0equation index: 162 + type: SIMPLE_ASSIGN + MaterialStream2._Beta = 0.0 + equation index: 163 + type: SIMPLE_ASSIGN + MaterialStream2._Beta = MaterialStream2.xvapg + */ +void Flowsheet_eqFunction_164(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,164}; + modelica_boolean tmp13; + modelica_boolean tmp14; + tmp13 = Greater(data->simulationInfo->realParameter[855],1.0); + tmp14 = Less(data->simulationInfo->realParameter[855],0.0); + if(tmp13) + { + Flowsheet_eqFunction_161(data, threadData); + } + else if(tmp14) + { + Flowsheet_eqFunction_162(data, threadData); + }else + { + Flowsheet_eqFunction_163(data, threadData); + } + TRACE_POP +} + +/* + equation index: 165 + type: SIMPLE_ASSIGN + MaterialStream2._Alpha = 1.0 - MaterialStream2.Beta + */ +void Flowsheet_eqFunction_165(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,165}; + data->simulationInfo->realParameter[653] = 1.0 - data->simulationInfo->realParameter[654]; + TRACE_POP +} + + + +/* + equation index: 166 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = MaterialStream2.xguess[1] * MaterialStream2.K_guess[1] / (1.0 + (-1.0 + MaterialStream2.K_guess[1]) * MaterialStream2.xvapg) + */ +void Flowsheet_eqFunction_166(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,166}; + modelica_real tmp18; + tmp18 = 1.0 + (-1.0 + data->simulationInfo->realParameter[826]) * (data->simulationInfo->realParameter[855]); + if (tmp18 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.K_guess[1] / (1.0 + (-1.0 + MaterialStream2.K_guess[1]) * MaterialStream2.xvapg)");} + data->simulationInfo->realParameter[858] = (data->simulationInfo->realParameter[850]) * ((data->simulationInfo->realParameter[826]) / tmp18); + TRACE_POP +} +/* + equation index: 167 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = MaterialStream2.xguess[1] + */ +void Flowsheet_eqFunction_167(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,167}; + data->simulationInfo->realParameter[858] = data->simulationInfo->realParameter[850]; + TRACE_POP +} +/* + equation index: 168 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_168(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,168}; + data->simulationInfo->realParameter[858] = 0.0; + TRACE_POP +} +/* + equation index: 169 + type: IFEQUATION + + equation index: 166 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = MaterialStream2.xguess[1] * MaterialStream2.K_guess[1] / (1.0 + (-1.0 + MaterialStream2.K_guess[1]) * MaterialStream2.xvapg)equation index: 167 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = MaterialStream2.xguess[1] + equation index: 168 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_169(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,169}; + modelica_boolean tmp16; + tmp16 = Greater(data->simulationInfo->realParameter[654],0.0); + if((tmp16 && (data->simulationInfo->realParameter[654] != 1.0))) + { + Flowsheet_eqFunction_166(data, threadData); + } + else if((data->simulationInfo->realParameter[654] == 1.0)) + { + Flowsheet_eqFunction_167(data, threadData); + }else + { + Flowsheet_eqFunction_168(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 170 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = MaterialStream2.ymol[1] / MaterialStream2.K_guess[1] + */ +void Flowsheet_eqFunction_170(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,170}; + modelica_real tmp22; + tmp22 = data->simulationInfo->realParameter[826]; + if (tmp22 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.ymol[1] / MaterialStream2.K_guess[1]");} + data->simulationInfo->realParameter[853] = (data->simulationInfo->realParameter[858]) / tmp22; + TRACE_POP +} +/* + equation index: 171 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = MaterialStream2.xguess[1] + */ +void Flowsheet_eqFunction_171(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,171}; + data->simulationInfo->realParameter[853] = data->simulationInfo->realParameter[850]; + TRACE_POP +} +/* + equation index: 172 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_172(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,172}; + data->simulationInfo->realParameter[853] = 0.0; + TRACE_POP +} +/* + equation index: 173 + type: IFEQUATION + + equation index: 170 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = MaterialStream2.ymol[1] / MaterialStream2.K_guess[1]equation index: 171 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = MaterialStream2.xguess[1] + equation index: 172 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_173(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,173}; + modelica_boolean tmp20; + modelica_boolean tmp21; + tmp20 = Greater(data->simulationInfo->realParameter[654],0.0); + tmp21 = Less(data->simulationInfo->realParameter[654],1.0); + if((tmp20 && tmp21)) + { + Flowsheet_eqFunction_170(data, threadData); + } + else if((data->simulationInfo->realParameter[654] == 0.0)) + { + Flowsheet_eqFunction_171(data, threadData); + }else + { + Flowsheet_eqFunction_172(data, threadData); + } + TRACE_POP +} +/* + equation index: 174 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_174(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,174}; + data->simulationInfo->realParameter[853] = 0.0; + TRACE_POP +} + +/* + equation index: 175 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_175(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,175}; + data->simulationInfo->realParameter[858] = 0.0; + TRACE_POP +} +/* + equation index: 176 + type: IFEQUATION + + equation index: 169 + type: IFEQUATION + + equation index: 166 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = MaterialStream2.xguess[1] * MaterialStream2.K_guess[1] / (1.0 + (-1.0 + MaterialStream2.K_guess[1]) * MaterialStream2.xvapg)equation index: 167 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = MaterialStream2.xguess[1] + equation index: 168 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = 0.0equation index: 173 + type: IFEQUATION + + equation index: 170 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = MaterialStream2.ymol[1] / MaterialStream2.K_guess[1]equation index: 171 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = MaterialStream2.xguess[1] + equation index: 172 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = 0.0 + equation index: 174 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[1] = 0.0equation index: 175 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_176(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,176}; + if((data->simulationInfo->realParameter[850] != 0.0)) + { + Flowsheet_eqFunction_169(data, threadData); + + Flowsheet_eqFunction_173(data, threadData); + }else + { + Flowsheet_eqFunction_174(data, threadData); + Flowsheet_eqFunction_175(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 177 + type: SIMPLE_ASSIGN + MaterialStream2._yg[1] = 0.0 + */ +void Flowsheet_eqFunction_177(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,177}; + data->simulationInfo->realParameter[856] = 0.0; + TRACE_POP +} +/* + equation index: 178 + type: SIMPLE_ASSIGN + MaterialStream2._yg[1] = 1.0 + */ +void Flowsheet_eqFunction_178(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,178}; + data->simulationInfo->realParameter[856] = 1.0; + TRACE_POP +} +/* + equation index: 179 + type: SIMPLE_ASSIGN + MaterialStream2._yg[1] = MaterialStream2.ymol[1] + */ +void Flowsheet_eqFunction_179(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,179}; + data->simulationInfo->realParameter[856] = data->simulationInfo->realParameter[858]; + TRACE_POP +} +/* + equation index: 180 + type: IFEQUATION + + equation index: 177 + type: SIMPLE_ASSIGN + MaterialStream2._yg[1] = 0.0equation index: 178 + type: SIMPLE_ASSIGN + MaterialStream2._yg[1] = 1.0 + equation index: 179 + type: SIMPLE_ASSIGN + MaterialStream2._yg[1] = MaterialStream2.ymol[1] + */ +void Flowsheet_eqFunction_180(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,180}; + modelica_boolean tmp24; + modelica_boolean tmp25; + tmp24 = Less(data->simulationInfo->realParameter[858],0.0); + tmp25 = Greater(data->simulationInfo->realParameter[858],1.0); + if(tmp24) + { + Flowsheet_eqFunction_177(data, threadData); + } + else if(tmp25) + { + Flowsheet_eqFunction_178(data, threadData); + }else + { + Flowsheet_eqFunction_179(data, threadData); + } + TRACE_POP +} + +/* + equation index: 181 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xm_pc[3,1] = MaterialStream2.yg[1] + */ +void Flowsheet_eqFunction_181(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,181}; + data->modelData->realVarsData[183].attribute /* MaterialStream2._xm_pc[3,1] variable */.start = data->simulationInfo->realParameter[856]; + data->localData[0]->realVars[183] /* MaterialStream2._xm_pc[3,1] variable */ = data->modelData->realVarsData[183].attribute /* MaterialStream2._xm_pc[3,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[183].info /* MaterialStream2._xm_pc[3,1] */.name, (modelica_real) data->localData[0]->realVars[183] /* MaterialStream2._xm_pc[3,1] variable */); + TRACE_POP +} + +/* + equation index: 182 + type: SIMPLE_ASSIGN + $START._MaterialStream2._x_pc[3,1] = MaterialStream2.yg[1] + */ +void Flowsheet_eqFunction_182(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,182}; + data->modelData->realVarsData[176].attribute /* MaterialStream2._x_pc[3,1] variable */.start = data->simulationInfo->realParameter[856]; + data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */ = data->modelData->realVarsData[176].attribute /* MaterialStream2._x_pc[3,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[176].info /* MaterialStream2._x_pc[3,1] */.name, (modelica_real) data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */); + TRACE_POP +} + + +/* + equation index: 183 + type: SIMPLE_ASSIGN + MaterialStream2._xg[1] = 0.0 + */ +void Flowsheet_eqFunction_183(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,183}; + data->simulationInfo->realParameter[848] = 0.0; + TRACE_POP +} +/* + equation index: 184 + type: SIMPLE_ASSIGN + MaterialStream2._xg[1] = 1.0 + */ +void Flowsheet_eqFunction_184(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,184}; + data->simulationInfo->realParameter[848] = 1.0; + TRACE_POP +} +/* + equation index: 185 + type: SIMPLE_ASSIGN + MaterialStream2._xg[1] = MaterialStream2.xmol[1] + */ +void Flowsheet_eqFunction_185(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,185}; + data->simulationInfo->realParameter[848] = data->simulationInfo->realParameter[853]; + TRACE_POP +} +/* + equation index: 186 + type: IFEQUATION + + equation index: 183 + type: SIMPLE_ASSIGN + MaterialStream2._xg[1] = 0.0equation index: 184 + type: SIMPLE_ASSIGN + MaterialStream2._xg[1] = 1.0 + equation index: 185 + type: SIMPLE_ASSIGN + MaterialStream2._xg[1] = MaterialStream2.xmol[1] + */ +void Flowsheet_eqFunction_186(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,186}; + modelica_boolean tmp26; + modelica_boolean tmp27; + tmp26 = Less(data->simulationInfo->realParameter[853],0.0); + tmp27 = Greater(data->simulationInfo->realParameter[848],1.0); + if(tmp26) + { + Flowsheet_eqFunction_183(data, threadData); + } + else if(tmp27) + { + Flowsheet_eqFunction_184(data, threadData); + }else + { + Flowsheet_eqFunction_185(data, threadData); + } + TRACE_POP +} + +/* + equation index: 190 + type: LINEAR + + <var>MaterialStream2._Fvapg</var> + <row> + + </row> + <matrix> + </matrix> + */ +void Flowsheet_eqFunction_190(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,190}; + /* Linear equation system */ + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving linear system 190 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + data->simulationInfo->linearSystemData[1].x[0] = data->simulationInfo->realParameter[815]; + retValue = solve_linear_system(data, threadData, 1); + + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,190}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving linear system 190 failed at time=%.15g.\nFor more information please use -lv LOG_LS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[815] = data->simulationInfo->linearSystemData[1].x[0]; + TRACE_POP +} + +/* + equation index: 191 + type: SIMPLE_ASSIGN + $START._MaterialStream2._F_p[2] = MaterialStream2.Fliqg + */ +void Flowsheet_eqFunction_191(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,191}; + data->modelData->realVarsData[112].attribute /* MaterialStream2._F_p[2] variable */.start = data->simulationInfo->realParameter[814]; + data->localData[0]->realVars[112] /* MaterialStream2._F_p[2] variable */ = data->modelData->realVarsData[112].attribute /* MaterialStream2._F_p[2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[112].info /* MaterialStream2._F_p[2] */.name, (modelica_real) data->localData[0]->realVars[112] /* MaterialStream2._F_p[2] variable */); + TRACE_POP +} + +/* + equation index: 192 + type: SIMPLE_ASSIGN + $START._MaterialStream2._F_p[3] = MaterialStream2.Fvapg + */ +void Flowsheet_eqFunction_192(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,192}; + data->modelData->realVarsData[113].attribute /* MaterialStream2._F_p[3] variable */.start = data->simulationInfo->realParameter[815]; + data->localData[0]->realVars[113] /* MaterialStream2._F_p[3] variable */ = data->modelData->realVarsData[113].attribute /* MaterialStream2._F_p[3] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[113].info /* MaterialStream2._F_p[3] */.name, (modelica_real) data->localData[0]->realVars[113] /* MaterialStream2._F_p[3] variable */); + TRACE_POP +} + +/* + equation index: 193 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xm_pc[2,1] = MaterialStream2.xg[1] + */ +void Flowsheet_eqFunction_193(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,193}; + data->modelData->realVarsData[181].attribute /* MaterialStream2._xm_pc[2,1] variable */.start = data->simulationInfo->realParameter[848]; + data->localData[0]->realVars[181] /* MaterialStream2._xm_pc[2,1] variable */ = data->modelData->realVarsData[181].attribute /* MaterialStream2._xm_pc[2,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[181].info /* MaterialStream2._xm_pc[2,1] */.name, (modelica_real) data->localData[0]->realVars[181] /* MaterialStream2._xm_pc[2,1] variable */); + TRACE_POP +} + +/* + equation index: 194 + type: SIMPLE_ASSIGN + $START._MaterialStream2._x_pc[2,1] = MaterialStream2.xg[1] + */ +void Flowsheet_eqFunction_194(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,194}; + data->modelData->realVarsData[174].attribute /* MaterialStream2._x_pc[2,1] variable */.start = data->simulationInfo->realParameter[848]; + data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */ = data->modelData->realVarsData[174].attribute /* MaterialStream2._x_pc[2,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[174].info /* MaterialStream2._x_pc[2,1] */.name, (modelica_real) data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */); + TRACE_POP +} + + + +/* + equation index: 195 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = MaterialStream2.xguess[2] * MaterialStream2.K_guess[2] / (1.0 + (-1.0 + MaterialStream2.K_guess[2]) * MaterialStream2.xvapg) + */ +void Flowsheet_eqFunction_195(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,195}; + modelica_real tmp31; + tmp31 = 1.0 + (-1.0 + data->simulationInfo->realParameter[827]) * (data->simulationInfo->realParameter[855]); + if (tmp31 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.K_guess[2] / (1.0 + (-1.0 + MaterialStream2.K_guess[2]) * MaterialStream2.xvapg)");} + data->simulationInfo->realParameter[859] = (data->simulationInfo->realParameter[851]) * ((data->simulationInfo->realParameter[827]) / tmp31); + TRACE_POP +} +/* + equation index: 196 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = MaterialStream2.xguess[2] + */ +void Flowsheet_eqFunction_196(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,196}; + data->simulationInfo->realParameter[859] = data->simulationInfo->realParameter[851]; + TRACE_POP +} +/* + equation index: 197 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_197(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,197}; + data->simulationInfo->realParameter[859] = 0.0; + TRACE_POP +} +/* + equation index: 198 + type: IFEQUATION + + equation index: 195 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = MaterialStream2.xguess[2] * MaterialStream2.K_guess[2] / (1.0 + (-1.0 + MaterialStream2.K_guess[2]) * MaterialStream2.xvapg)equation index: 196 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = MaterialStream2.xguess[2] + equation index: 197 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_198(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,198}; + modelica_boolean tmp29; + tmp29 = Greater(data->simulationInfo->realParameter[654],0.0); + if((tmp29 && (data->simulationInfo->realParameter[654] != 1.0))) + { + Flowsheet_eqFunction_195(data, threadData); + } + else if((data->simulationInfo->realParameter[654] == 1.0)) + { + Flowsheet_eqFunction_196(data, threadData); + }else + { + Flowsheet_eqFunction_197(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 199 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = MaterialStream2.ymol[2] / MaterialStream2.K_guess[2] + */ +void Flowsheet_eqFunction_199(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,199}; + modelica_real tmp35; + tmp35 = data->simulationInfo->realParameter[827]; + if (tmp35 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.ymol[2] / MaterialStream2.K_guess[2]");} + data->simulationInfo->realParameter[854] = (data->simulationInfo->realParameter[859]) / tmp35; + TRACE_POP +} +/* + equation index: 200 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = MaterialStream2.xguess[2] + */ +void Flowsheet_eqFunction_200(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,200}; + data->simulationInfo->realParameter[854] = data->simulationInfo->realParameter[851]; + TRACE_POP +} +/* + equation index: 201 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_201(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,201}; + data->simulationInfo->realParameter[854] = 0.0; + TRACE_POP +} +/* + equation index: 202 + type: IFEQUATION + + equation index: 199 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = MaterialStream2.ymol[2] / MaterialStream2.K_guess[2]equation index: 200 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = MaterialStream2.xguess[2] + equation index: 201 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_202(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,202}; + modelica_boolean tmp33; + modelica_boolean tmp34; + tmp33 = Greater(data->simulationInfo->realParameter[654],0.0); + tmp34 = Less(data->simulationInfo->realParameter[654],1.0); + if((tmp33 && tmp34)) + { + Flowsheet_eqFunction_199(data, threadData); + } + else if((data->simulationInfo->realParameter[654] == 0.0)) + { + Flowsheet_eqFunction_200(data, threadData); + }else + { + Flowsheet_eqFunction_201(data, threadData); + } + TRACE_POP +} +/* + equation index: 203 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_203(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,203}; + data->simulationInfo->realParameter[854] = 0.0; + TRACE_POP +} + +/* + equation index: 204 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_204(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,204}; + data->simulationInfo->realParameter[859] = 0.0; + TRACE_POP +} +/* + equation index: 205 + type: IFEQUATION + + equation index: 198 + type: IFEQUATION + + equation index: 195 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = MaterialStream2.xguess[2] * MaterialStream2.K_guess[2] / (1.0 + (-1.0 + MaterialStream2.K_guess[2]) * MaterialStream2.xvapg)equation index: 196 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = MaterialStream2.xguess[2] + equation index: 197 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = 0.0equation index: 202 + type: IFEQUATION + + equation index: 199 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = MaterialStream2.ymol[2] / MaterialStream2.K_guess[2]equation index: 200 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = MaterialStream2.xguess[2] + equation index: 201 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = 0.0 + equation index: 203 + type: SIMPLE_ASSIGN + MaterialStream2._xmol[2] = 0.0equation index: 204 + type: SIMPLE_ASSIGN + MaterialStream2._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_205(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,205}; + if((data->simulationInfo->realParameter[851] != 0.0)) + { + Flowsheet_eqFunction_198(data, threadData); + + Flowsheet_eqFunction_202(data, threadData); + }else + { + Flowsheet_eqFunction_203(data, threadData); + Flowsheet_eqFunction_204(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 206 + type: SIMPLE_ASSIGN + MaterialStream2._xg[2] = 0.0 + */ +void Flowsheet_eqFunction_206(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,206}; + data->simulationInfo->realParameter[849] = 0.0; + TRACE_POP +} +/* + equation index: 207 + type: SIMPLE_ASSIGN + MaterialStream2._xg[2] = 1.0 + */ +void Flowsheet_eqFunction_207(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,207}; + data->simulationInfo->realParameter[849] = 1.0; + TRACE_POP +} +/* + equation index: 208 + type: SIMPLE_ASSIGN + MaterialStream2._xg[2] = MaterialStream2.xmol[2] + */ +void Flowsheet_eqFunction_208(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,208}; + data->simulationInfo->realParameter[849] = data->simulationInfo->realParameter[854]; + TRACE_POP +} +/* + equation index: 209 + type: IFEQUATION + + equation index: 206 + type: SIMPLE_ASSIGN + MaterialStream2._xg[2] = 0.0equation index: 207 + type: SIMPLE_ASSIGN + MaterialStream2._xg[2] = 1.0 + equation index: 208 + type: SIMPLE_ASSIGN + MaterialStream2._xg[2] = MaterialStream2.xmol[2] + */ +void Flowsheet_eqFunction_209(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,209}; + modelica_boolean tmp37; + modelica_boolean tmp38; + tmp37 = Less(data->simulationInfo->realParameter[854],0.0); + tmp38 = Greater(data->simulationInfo->realParameter[849],1.0); + if(tmp37) + { + Flowsheet_eqFunction_206(data, threadData); + } + else if(tmp38) + { + Flowsheet_eqFunction_207(data, threadData); + }else + { + Flowsheet_eqFunction_208(data, threadData); + } + TRACE_POP +} + +/* + equation index: 210 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xm_pc[2,2] = MaterialStream2.xg[2] + */ +void Flowsheet_eqFunction_210(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,210}; + data->modelData->realVarsData[182].attribute /* MaterialStream2._xm_pc[2,2] variable */.start = data->simulationInfo->realParameter[849]; + data->localData[0]->realVars[182] /* MaterialStream2._xm_pc[2,2] variable */ = data->modelData->realVarsData[182].attribute /* MaterialStream2._xm_pc[2,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[182].info /* MaterialStream2._xm_pc[2,2] */.name, (modelica_real) data->localData[0]->realVars[182] /* MaterialStream2._xm_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 211 + type: SIMPLE_ASSIGN + $START._MaterialStream2._x_pc[2,2] = MaterialStream2.xg[2] + */ +void Flowsheet_eqFunction_211(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,211}; + data->modelData->realVarsData[175].attribute /* MaterialStream2._x_pc[2,2] variable */.start = data->simulationInfo->realParameter[849]; + data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */ = data->modelData->realVarsData[175].attribute /* MaterialStream2._x_pc[2,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[175].info /* MaterialStream2._x_pc[2,2] */.name, (modelica_real) data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */); + TRACE_POP +} + + +/* + equation index: 212 + type: SIMPLE_ASSIGN + MaterialStream2._yg[2] = 0.0 + */ +void Flowsheet_eqFunction_212(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,212}; + data->simulationInfo->realParameter[857] = 0.0; + TRACE_POP +} +/* + equation index: 213 + type: SIMPLE_ASSIGN + MaterialStream2._yg[2] = 1.0 + */ +void Flowsheet_eqFunction_213(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,213}; + data->simulationInfo->realParameter[857] = 1.0; + TRACE_POP +} +/* + equation index: 214 + type: SIMPLE_ASSIGN + MaterialStream2._yg[2] = MaterialStream2.ymol[2] + */ +void Flowsheet_eqFunction_214(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,214}; + data->simulationInfo->realParameter[857] = data->simulationInfo->realParameter[859]; + TRACE_POP +} +/* + equation index: 215 + type: IFEQUATION + + equation index: 212 + type: SIMPLE_ASSIGN + MaterialStream2._yg[2] = 0.0equation index: 213 + type: SIMPLE_ASSIGN + MaterialStream2._yg[2] = 1.0 + equation index: 214 + type: SIMPLE_ASSIGN + MaterialStream2._yg[2] = MaterialStream2.ymol[2] + */ +void Flowsheet_eqFunction_215(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,215}; + modelica_boolean tmp39; + modelica_boolean tmp40; + tmp39 = Less(data->simulationInfo->realParameter[859],0.0); + tmp40 = Greater(data->simulationInfo->realParameter[859],1.0); + if(tmp39) + { + Flowsheet_eqFunction_212(data, threadData); + } + else if(tmp40) + { + Flowsheet_eqFunction_213(data, threadData); + }else + { + Flowsheet_eqFunction_214(data, threadData); + } + TRACE_POP +} + +/* + equation index: 216 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xm_pc[3,2] = MaterialStream2.yg[2] + */ +void Flowsheet_eqFunction_216(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,216}; + data->modelData->realVarsData[184].attribute /* MaterialStream2._xm_pc[3,2] variable */.start = data->simulationInfo->realParameter[857]; + data->localData[0]->realVars[184] /* MaterialStream2._xm_pc[3,2] variable */ = data->modelData->realVarsData[184].attribute /* MaterialStream2._xm_pc[3,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[184].info /* MaterialStream2._xm_pc[3,2] */.name, (modelica_real) data->localData[0]->realVars[184] /* MaterialStream2._xm_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 217 + type: SIMPLE_ASSIGN + $START._MaterialStream2._x_pc[3,2] = MaterialStream2.yg[2] + */ +void Flowsheet_eqFunction_217(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,217}; + data->modelData->realVarsData[177].attribute /* MaterialStream2._x_pc[3,2] variable */.start = data->simulationInfo->realParameter[857]; + data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */ = data->modelData->realVarsData[177].attribute /* MaterialStream2._x_pc[3,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[177].info /* MaterialStream2._x_pc[3,2] */.name, (modelica_real) data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 218 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xmvap = MaterialStream2.xvapg + */ +void Flowsheet_eqFunction_218(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,218}; + data->modelData->realVarsData[186].attribute /* MaterialStream2._xmvap variable */.start = data->simulationInfo->realParameter[855]; + data->localData[0]->realVars[186] /* MaterialStream2._xmvap variable */ = data->modelData->realVarsData[186].attribute /* MaterialStream2._xmvap variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[186].info /* MaterialStream2._xmvap */.name, (modelica_real) data->localData[0]->realVars[186] /* MaterialStream2._xmvap variable */); + TRACE_POP +} + +/* + equation index: 219 + type: SIMPLE_ASSIGN + $START._MaterialStream2._Pdew = MaterialStream2.Pmax + */ +void Flowsheet_eqFunction_219(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,219}; + data->modelData->realVarsData[147].attribute /* MaterialStream2._Pdew variable */.start = data->simulationInfo->realParameter[829]; + data->localData[0]->realVars[147] /* MaterialStream2._Pdew variable */ = data->modelData->realVarsData[147].attribute /* MaterialStream2._Pdew variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[147].info /* MaterialStream2._Pdew */.name, (modelica_real) data->localData[0]->realVars[147] /* MaterialStream2._Pdew variable */); + TRACE_POP +} + +/* + equation index: 220 + type: SIMPLE_ASSIGN + MaterialStream2._Hliqg = MaterialStream2.xguess[1] * MaterialStream2.Hcomplg[1] + MaterialStream2.xguess[2] * MaterialStream2.Hcomplg[2] + */ +void Flowsheet_eqFunction_220(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,220}; + data->simulationInfo->realParameter[822] = (data->simulationInfo->realParameter[850]) * (data->simulationInfo->realParameter[818]) + (data->simulationInfo->realParameter[851]) * (data->simulationInfo->realParameter[819]); + TRACE_POP +} + +/* + equation index: 221 + type: SIMPLE_ASSIGN + $START._MaterialStream2._H_p[2] = MaterialStream2.Hliqg + */ +void Flowsheet_eqFunction_221(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,221}; + data->modelData->realVarsData[130].attribute /* MaterialStream2._H_p[2] variable */.start = data->simulationInfo->realParameter[822]; + data->localData[0]->realVars[130] /* MaterialStream2._H_p[2] variable */ = data->modelData->realVarsData[130].attribute /* MaterialStream2._H_p[2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[130].info /* MaterialStream2._H_p[2] */.name, (modelica_real) data->localData[0]->realVars[130] /* MaterialStream2._H_p[2] variable */); + TRACE_POP +} + +/* + equation index: 222 + type: SIMPLE_ASSIGN + $START._MaterialStream2._Cp_p[2] = MaterialStream2.Hliqg + */ +void Flowsheet_eqFunction_222(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,222}; + data->modelData->realVarsData[101].attribute /* MaterialStream2._Cp_p[2] variable */.start = data->simulationInfo->realParameter[822]; + data->localData[0]->realVars[101] /* MaterialStream2._Cp_p[2] variable */ = data->modelData->realVarsData[101].attribute /* MaterialStream2._Cp_p[2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[101].info /* MaterialStream2._Cp_p[2] */.name, (modelica_real) data->localData[0]->realVars[101] /* MaterialStream2._Cp_p[2] variable */); + TRACE_POP +} + +/* + equation index: 223 + type: SIMPLE_ASSIGN + MaterialStream2._Hvapg = MaterialStream2.xguess[1] * MaterialStream2.Hcompvg[1] + MaterialStream2.xguess[2] * MaterialStream2.Hcompvg[2] + */ +void Flowsheet_eqFunction_223(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,223}; + data->simulationInfo->realParameter[825] = (data->simulationInfo->realParameter[850]) * (data->simulationInfo->realParameter[820]) + (data->simulationInfo->realParameter[851]) * (data->simulationInfo->realParameter[821]); + TRACE_POP +} + +/* + equation index: 224 + type: SIMPLE_ASSIGN + MaterialStream2._Htotg = MaterialStream2.Hliqg + MaterialStream2.Hvapg + */ +void Flowsheet_eqFunction_224(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,224}; + data->simulationInfo->realParameter[824] = data->simulationInfo->realParameter[822] + data->simulationInfo->realParameter[825]; + TRACE_POP +} + +/* + equation index: 225 + type: SIMPLE_ASSIGN + MaterialStream2._Hmixg = MaterialStream2.Htotg + */ +void Flowsheet_eqFunction_225(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,225}; + data->simulationInfo->realParameter[823] = data->simulationInfo->realParameter[824]; + TRACE_POP +} + +/* + equation index: 226 + type: SIMPLE_ASSIGN + $START._MaterialStream2._H_p[1] = MaterialStream2.Hmixg + */ +void Flowsheet_eqFunction_226(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,226}; + data->modelData->realVarsData[129].attribute /* MaterialStream2._H_p[1] variable */.start = data->simulationInfo->realParameter[823]; + data->localData[0]->realVars[129] /* MaterialStream2._H_p[1] variable */ = data->modelData->realVarsData[129].attribute /* MaterialStream2._H_p[1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[129].info /* MaterialStream2._H_p[1] */.name, (modelica_real) data->localData[0]->realVars[129] /* MaterialStream2._H_p[1] variable */); + TRACE_POP +} + +/* + equation index: 227 + type: SIMPLE_ASSIGN + $START._MaterialStream2._Cp_p[1] = MaterialStream2.Hmixg + */ +void Flowsheet_eqFunction_227(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,227}; + data->modelData->realVarsData[100].attribute /* MaterialStream2._Cp_p[1] variable */.start = data->simulationInfo->realParameter[823]; + data->localData[0]->realVars[100] /* MaterialStream2._Cp_p[1] variable */ = data->modelData->realVarsData[100].attribute /* MaterialStream2._Cp_p[1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[100].info /* MaterialStream2._Cp_p[1] */.name, (modelica_real) data->localData[0]->realVars[100] /* MaterialStream2._Cp_p[1] variable */); + TRACE_POP +} + +/* + equation index: 228 + type: SIMPLE_ASSIGN + MaterialStream2._Hcompg[1] = MaterialStream2.xguess[1] * MaterialStream2.Htotg + */ +void Flowsheet_eqFunction_228(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,228}; + data->simulationInfo->realParameter[816] = (data->simulationInfo->realParameter[850]) * (data->simulationInfo->realParameter[824]); + TRACE_POP +} + +/* + equation index: 229 + type: SIMPLE_ASSIGN + MaterialStream2._Hcompg[2] = MaterialStream2.xguess[2] * MaterialStream2.Htotg + */ +void Flowsheet_eqFunction_229(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,229}; + data->simulationInfo->realParameter[817] = (data->simulationInfo->realParameter[851]) * (data->simulationInfo->realParameter[824]); + TRACE_POP +} + +/* + equation index: 230 + type: SIMPLE_ASSIGN + $START._MaterialStream2._H_p[3] = MaterialStream2.Hvapg + */ +void Flowsheet_eqFunction_230(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,230}; + data->modelData->realVarsData[131].attribute /* MaterialStream2._H_p[3] variable */.start = data->simulationInfo->realParameter[825]; + data->localData[0]->realVars[131] /* MaterialStream2._H_p[3] variable */ = data->modelData->realVarsData[131].attribute /* MaterialStream2._H_p[3] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[131].info /* MaterialStream2._H_p[3] */.name, (modelica_real) data->localData[0]->realVars[131] /* MaterialStream2._H_p[3] variable */); + TRACE_POP +} + +/* + equation index: 231 + type: SIMPLE_ASSIGN + $START._MaterialStream2._Cp_p[3] = MaterialStream2.Hvapg + */ +void Flowsheet_eqFunction_231(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,231}; + data->modelData->realVarsData[102].attribute /* MaterialStream2._Cp_p[3] variable */.start = data->simulationInfo->realParameter[825]; + data->localData[0]->realVars[102] /* MaterialStream2._Cp_p[3] variable */ = data->modelData->realVarsData[102].attribute /* MaterialStream2._Cp_p[3] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[102].info /* MaterialStream2._Cp_p[3] */.name, (modelica_real) data->localData[0]->realVars[102] /* MaterialStream2._Cp_p[3] variable */); + TRACE_POP +} + +/* + equation index: 232 + type: SIMPLE_ASSIGN + $START._MaterialStream2._xm_pc[1,1] = MaterialStream2.xguess[1] + */ +void Flowsheet_eqFunction_232(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,232}; + data->modelData->realVarsData[179].attribute /* MaterialStream2._xm_pc[1,1] variable */.start = data->simulationInfo->realParameter[850]; + data->localData[0]->realVars[179] /* MaterialStream2._xm_pc[1,1] variable */ = data->modelData->realVarsData[179].attribute /* MaterialStream2._xm_pc[1,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[179].info /* MaterialStream2._xm_pc[1,1] */.name, (modelica_real) data->localData[0]->realVars[179] /* MaterialStream2._xm_pc[1,1] variable */); + TRACE_POP +} + +/* + equation index: 233 + type: SIMPLE_ASSIGN + $START._MaterialStream2._x_pc[1,1] = MaterialStream2.xguess[1] + */ +void Flowsheet_eqFunction_233(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,233}; + data->modelData->realVarsData[172].attribute /* MaterialStream2._x_pc[1,1] variable */.start = data->simulationInfo->realParameter[850]; + data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */ = data->modelData->realVarsData[172].attribute /* MaterialStream2._x_pc[1,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[172].info /* MaterialStream2._x_pc[1,1] */.name, (modelica_real) data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */); + TRACE_POP +} + +/* + equation index: 234 + type: SIMPLE_ASSIGN + MaterialStream1._xguess[2] = 0.5 + */ +void Flowsheet_eqFunction_234(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,234}; + data->simulationInfo->realParameter[644] = 0.5; + TRACE_POP +} + +/* + equation index: 235 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xm_pc[1,2] = MaterialStream1.xguess[2] + */ +void Flowsheet_eqFunction_235(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,235}; + data->modelData->realVarsData[93].attribute /* MaterialStream1._xm_pc[1,2] variable */.start = data->simulationInfo->realParameter[644]; + data->localData[0]->realVars[93] /* MaterialStream1._xm_pc[1,2] variable */ = data->modelData->realVarsData[93].attribute /* MaterialStream1._xm_pc[1,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[93].info /* MaterialStream1._xm_pc[1,2] */.name, (modelica_real) data->localData[0]->realVars[93] /* MaterialStream1._xm_pc[1,2] variable */); + TRACE_POP +} + +/* + equation index: 236 + type: SIMPLE_ASSIGN + MaterialStream1._xguess[1] = 0.5 + */ +void Flowsheet_eqFunction_236(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,236}; + data->simulationInfo->realParameter[643] = 0.5; + TRACE_POP +} + +void Flowsheet_eqFunction_237(DATA*,threadData_t*); +void Flowsheet_eqFunction_238(DATA*,threadData_t*); +void Flowsheet_eqFunction_239(DATA*,threadData_t*); +/* + equation index: 240 + indexNonlinear: 4 + type: NONLINEAR + + vars: {MaterialStream1._Tdg} + eqns: {237, 238, 239} + */ +void Flowsheet_eqFunction_240(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,240}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 240 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[4].nlsxOld[0] = data->simulationInfo->realParameter[638]; + retValue = solve_nonlinear_system(data, threadData, 4); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,240}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 240 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[638] = data->simulationInfo->nonlinearSystemData[4].nlsx[0]; + TRACE_POP +} + +void Flowsheet_eqFunction_241(DATA*,threadData_t*); +void Flowsheet_eqFunction_242(DATA*,threadData_t*); +void Flowsheet_eqFunction_243(DATA*,threadData_t*); +/* + equation index: 244 + indexNonlinear: 5 + type: NONLINEAR + + vars: {MaterialStream1._Tbg} + eqns: {241, 242, 243} + */ +void Flowsheet_eqFunction_244(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,244}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 244 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[5].nlsxOld[0] = data->simulationInfo->realParameter[635]; + retValue = solve_nonlinear_system(data, threadData, 5); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,244}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 244 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[635] = data->simulationInfo->nonlinearSystemData[5].nlsx[0]; + TRACE_POP +} + +/* + equation index: 245 + type: SIMPLE_ASSIGN + MaterialStream1._Temp = 0.5 * (MaterialStream1.Tbg + MaterialStream1.Tdg) + */ +void Flowsheet_eqFunction_245(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,245}; + data->simulationInfo->realParameter[639] = (0.5) * (data->simulationInfo->realParameter[635] + data->simulationInfo->realParameter[638]); + TRACE_POP +} + +/* + equation index: 246 + type: SIMPLE_ASSIGN + MaterialStream1._Psatt[1] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream1.C[1].VP[1], MaterialStream1.C[1].VP[2], MaterialStream1.C[1].VP[3], MaterialStream1.C[1].VP[4], MaterialStream1.C[1].VP[5], MaterialStream1.C[1].VP[6]}, MaterialStream1.Temp) + */ +void Flowsheet_eqFunction_246(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,246}; + real_array tmp0; + array_alloc_scalar_real_array(&tmp0, 6, (modelica_real)data->simulationInfo->realParameter[556], (modelica_real)data->simulationInfo->realParameter[557], (modelica_real)data->simulationInfo->realParameter[558], (modelica_real)data->simulationInfo->realParameter[559], (modelica_real)data->simulationInfo->realParameter[560], (modelica_real)data->simulationInfo->realParameter[561]); + data->simulationInfo->realParameter[628] = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp0, data->simulationInfo->realParameter[639]); + TRACE_POP +} + +/* + equation index: 247 + type: SIMPLE_ASSIGN + MaterialStream1._K_guess[1] = DIVISION(MaterialStream1.Psatt[1], MaterialStream1.Pg) + */ +void Flowsheet_eqFunction_247(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,247}; + data->simulationInfo->realParameter[619] = DIVISION_SIM(data->simulationInfo->realParameter[628],data->simulationInfo->realParameter[621],"MaterialStream1.Pg",equationIndexes); + TRACE_POP +} + +/* + equation index: 248 + type: SIMPLE_ASSIGN + MaterialStream1._Psatt[2] = Simulator.Files.ThermodynamicFunctions.Psat({MaterialStream1.C[2].VP[1], MaterialStream1.C[2].VP[2], MaterialStream1.C[2].VP[3], MaterialStream1.C[2].VP[4], MaterialStream1.C[2].VP[5], MaterialStream1.C[2].VP[6]}, MaterialStream1.Temp) + */ +void Flowsheet_eqFunction_248(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,248}; + real_array tmp1; + array_alloc_scalar_real_array(&tmp1, 6, (modelica_real)data->simulationInfo->realParameter[562], (modelica_real)data->simulationInfo->realParameter[563], (modelica_real)data->simulationInfo->realParameter[564], (modelica_real)data->simulationInfo->realParameter[565], (modelica_real)data->simulationInfo->realParameter[566], (modelica_real)data->simulationInfo->realParameter[567]); + data->simulationInfo->realParameter[629] = omc_Simulator_Files_ThermodynamicFunctions_Psat(threadData, tmp1, data->simulationInfo->realParameter[639]); + TRACE_POP +} + +/* + equation index: 249 + type: SIMPLE_ASSIGN + MaterialStream1._K_guess[2] = DIVISION(MaterialStream1.Psatt[2], MaterialStream1.Pg) + */ +void Flowsheet_eqFunction_249(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,249}; + data->simulationInfo->realParameter[620] = DIVISION_SIM(data->simulationInfo->realParameter[629],data->simulationInfo->realParameter[621],"MaterialStream1.Pg",equationIndexes); + TRACE_POP +} + +/* + equation index: 250 + type: SIMPLE_ASSIGN + MaterialStream1._Pxc[2] = DIVISION(MaterialStream1.xguess[2], MaterialStream1.Psatt[2]) + */ +void Flowsheet_eqFunction_250(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,250}; + data->simulationInfo->realParameter[632] = DIVISION_SIM(data->simulationInfo->realParameter[644],data->simulationInfo->realParameter[629],"MaterialStream1.Psatt[2]",equationIndexes); + TRACE_POP +} + +/* + equation index: 251 + type: SIMPLE_ASSIGN + MaterialStream1._Pxm[2] = MaterialStream1.xguess[2] * MaterialStream1.Psatt[2] + */ +void Flowsheet_eqFunction_251(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,251}; + data->simulationInfo->realParameter[634] = (data->simulationInfo->realParameter[644]) * (data->simulationInfo->realParameter[629]); + TRACE_POP +} + +/* + equation index: 252 + type: SIMPLE_ASSIGN + MaterialStream1._Tg = MaterialStream1.Temp + */ +void Flowsheet_eqFunction_252(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,252}; + data->simulationInfo->realParameter[640] = data->simulationInfo->realParameter[639]; + TRACE_POP +} + +/* + equation index: 253 + type: SIMPLE_ASSIGN + MaterialStream1._Hcomplg[1] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream1.C[1].SH, {MaterialStream1.C[1].VapCp[1], MaterialStream1.C[1].VapCp[2], MaterialStream1.C[1].VapCp[3], MaterialStream1.C[1].VapCp[4], MaterialStream1.C[1].VapCp[5], MaterialStream1.C[1].VapCp[6]}, {MaterialStream1.C[1].HOV[1], MaterialStream1.C[1].HOV[2], MaterialStream1.C[1].HOV[3], MaterialStream1.C[1].HOV[4], MaterialStream1.C[1].HOV[5], MaterialStream1.C[1].HOV[6]}, MaterialStream1.C[1].Tc, MaterialStream1.Temp) + */ +void Flowsheet_eqFunction_253(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,253}; + real_array tmp2; + real_array tmp3; + array_alloc_scalar_real_array(&tmp2, 6, (modelica_real)data->simulationInfo->realParameter[568], (modelica_real)data->simulationInfo->realParameter[569], (modelica_real)data->simulationInfo->realParameter[570], (modelica_real)data->simulationInfo->realParameter[571], (modelica_real)data->simulationInfo->realParameter[572], (modelica_real)data->simulationInfo->realParameter[573]); + array_alloc_scalar_real_array(&tmp3, 6, (modelica_real)data->simulationInfo->realParameter[468], (modelica_real)data->simulationInfo->realParameter[469], (modelica_real)data->simulationInfo->realParameter[470], (modelica_real)data->simulationInfo->realParameter[471], (modelica_real)data->simulationInfo->realParameter[472], (modelica_real)data->simulationInfo->realParameter[473]); + data->simulationInfo->realParameter[611] = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[538], tmp2, tmp3, data->simulationInfo->realParameter[548], data->simulationInfo->realParameter[639]); + TRACE_POP +} + +/* + equation index: 254 + type: SIMPLE_ASSIGN + MaterialStream1._Hcompvg[1] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream1.C[1].SH, {MaterialStream1.C[1].VapCp[1], MaterialStream1.C[1].VapCp[2], MaterialStream1.C[1].VapCp[3], MaterialStream1.C[1].VapCp[4], MaterialStream1.C[1].VapCp[5], MaterialStream1.C[1].VapCp[6]}, {MaterialStream1.C[1].HOV[1], MaterialStream1.C[1].HOV[2], MaterialStream1.C[1].HOV[3], MaterialStream1.C[1].HOV[4], MaterialStream1.C[1].HOV[5], MaterialStream1.C[1].HOV[6]}, MaterialStream1.C[1].Tc, MaterialStream1.Temp) + */ +void Flowsheet_eqFunction_254(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,254}; + real_array tmp4; + real_array tmp5; + array_alloc_scalar_real_array(&tmp4, 6, (modelica_real)data->simulationInfo->realParameter[568], (modelica_real)data->simulationInfo->realParameter[569], (modelica_real)data->simulationInfo->realParameter[570], (modelica_real)data->simulationInfo->realParameter[571], (modelica_real)data->simulationInfo->realParameter[572], (modelica_real)data->simulationInfo->realParameter[573]); + array_alloc_scalar_real_array(&tmp5, 6, (modelica_real)data->simulationInfo->realParameter[468], (modelica_real)data->simulationInfo->realParameter[469], (modelica_real)data->simulationInfo->realParameter[470], (modelica_real)data->simulationInfo->realParameter[471], (modelica_real)data->simulationInfo->realParameter[472], (modelica_real)data->simulationInfo->realParameter[473]); + data->simulationInfo->realParameter[613] = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[538], tmp4, tmp5, data->simulationInfo->realParameter[548], data->simulationInfo->realParameter[639]); + TRACE_POP +} + +/* + equation index: 255 + type: SIMPLE_ASSIGN + MaterialStream1._Hcomplg[2] = Simulator.Files.ThermodynamicFunctions.HLiqId(MaterialStream1.C[2].SH, {MaterialStream1.C[2].VapCp[1], MaterialStream1.C[2].VapCp[2], MaterialStream1.C[2].VapCp[3], MaterialStream1.C[2].VapCp[4], MaterialStream1.C[2].VapCp[5], MaterialStream1.C[2].VapCp[6]}, {MaterialStream1.C[2].HOV[1], MaterialStream1.C[2].HOV[2], MaterialStream1.C[2].HOV[3], MaterialStream1.C[2].HOV[4], MaterialStream1.C[2].HOV[5], MaterialStream1.C[2].HOV[6]}, MaterialStream1.C[2].Tc, MaterialStream1.Temp) + */ +void Flowsheet_eqFunction_255(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,255}; + real_array tmp6; + real_array tmp7; + array_alloc_scalar_real_array(&tmp6, 6, (modelica_real)data->simulationInfo->realParameter[574], (modelica_real)data->simulationInfo->realParameter[575], (modelica_real)data->simulationInfo->realParameter[576], (modelica_real)data->simulationInfo->realParameter[577], (modelica_real)data->simulationInfo->realParameter[578], (modelica_real)data->simulationInfo->realParameter[579]); + array_alloc_scalar_real_array(&tmp7, 6, (modelica_real)data->simulationInfo->realParameter[474], (modelica_real)data->simulationInfo->realParameter[475], (modelica_real)data->simulationInfo->realParameter[476], (modelica_real)data->simulationInfo->realParameter[477], (modelica_real)data->simulationInfo->realParameter[478], (modelica_real)data->simulationInfo->realParameter[479]); + data->simulationInfo->realParameter[612] = omc_Simulator_Files_ThermodynamicFunctions_HLiqId(threadData, data->simulationInfo->realParameter[539], tmp6, tmp7, data->simulationInfo->realParameter[549], data->simulationInfo->realParameter[639]); + TRACE_POP +} + +/* + equation index: 256 + type: SIMPLE_ASSIGN + MaterialStream1._Hcompvg[2] = Simulator.Files.ThermodynamicFunctions.HVapId(MaterialStream1.C[2].SH, {MaterialStream1.C[2].VapCp[1], MaterialStream1.C[2].VapCp[2], MaterialStream1.C[2].VapCp[3], MaterialStream1.C[2].VapCp[4], MaterialStream1.C[2].VapCp[5], MaterialStream1.C[2].VapCp[6]}, {MaterialStream1.C[2].HOV[1], MaterialStream1.C[2].HOV[2], MaterialStream1.C[2].HOV[3], MaterialStream1.C[2].HOV[4], MaterialStream1.C[2].HOV[5], MaterialStream1.C[2].HOV[6]}, MaterialStream1.C[2].Tc, MaterialStream1.Temp) + */ +void Flowsheet_eqFunction_256(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,256}; + real_array tmp8; + real_array tmp9; + array_alloc_scalar_real_array(&tmp8, 6, (modelica_real)data->simulationInfo->realParameter[574], (modelica_real)data->simulationInfo->realParameter[575], (modelica_real)data->simulationInfo->realParameter[576], (modelica_real)data->simulationInfo->realParameter[577], (modelica_real)data->simulationInfo->realParameter[578], (modelica_real)data->simulationInfo->realParameter[579]); + array_alloc_scalar_real_array(&tmp9, 6, (modelica_real)data->simulationInfo->realParameter[474], (modelica_real)data->simulationInfo->realParameter[475], (modelica_real)data->simulationInfo->realParameter[476], (modelica_real)data->simulationInfo->realParameter[477], (modelica_real)data->simulationInfo->realParameter[478], (modelica_real)data->simulationInfo->realParameter[479]); + data->simulationInfo->realParameter[614] = omc_Simulator_Files_ThermodynamicFunctions_HVapId(threadData, data->simulationInfo->realParameter[539], tmp8, tmp9, data->simulationInfo->realParameter[549], data->simulationInfo->realParameter[639]); + TRACE_POP +} + +/* + equation index: 257 + type: SIMPLE_ASSIGN + MaterialStream1._Pxc[1] = DIVISION(MaterialStream1.xguess[1], MaterialStream1.Psatt[1]) + */ +void Flowsheet_eqFunction_257(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,257}; + data->simulationInfo->realParameter[631] = DIVISION_SIM(data->simulationInfo->realParameter[643],data->simulationInfo->realParameter[628],"MaterialStream1.Psatt[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 258 + type: SIMPLE_ASSIGN + MaterialStream1._Px = MaterialStream1.Pxc[1] + MaterialStream1.Pxc[2] + */ +void Flowsheet_eqFunction_258(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,258}; + data->simulationInfo->realParameter[630] = data->simulationInfo->realParameter[631] + data->simulationInfo->realParameter[632]; + TRACE_POP +} + +/* + equation index: 259 + type: SIMPLE_ASSIGN + MaterialStream1._Pmin = DIVISION(1.0, MaterialStream1.Px) + */ +void Flowsheet_eqFunction_259(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,259}; + data->simulationInfo->realParameter[623] = DIVISION_SIM(1.0,data->simulationInfo->realParameter[630],"MaterialStream1.Px",equationIndexes); + TRACE_POP +} + +/* + equation index: 260 + type: SIMPLE_ASSIGN + MaterialStream1._Pxm[1] = MaterialStream1.xguess[1] * MaterialStream1.Psatt[1] + */ +void Flowsheet_eqFunction_260(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,260}; + data->simulationInfo->realParameter[633] = (data->simulationInfo->realParameter[643]) * (data->simulationInfo->realParameter[628]); + TRACE_POP +} + +/* + equation index: 261 + type: SIMPLE_ASSIGN + MaterialStream1._Pmax = MaterialStream1.Pxm[1] + MaterialStream1.Pxm[2] + */ +void Flowsheet_eqFunction_261(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,261}; + data->simulationInfo->realParameter[622] = data->simulationInfo->realParameter[633] + data->simulationInfo->realParameter[634]; + TRACE_POP +} + + +/* + equation index: 262 + type: SIMPLE_ASSIGN + MaterialStream1._xvapg = 0.0 + */ +void Flowsheet_eqFunction_262(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,262}; + data->simulationInfo->realParameter[648] = 0.0; + TRACE_POP +} +/* + equation index: 263 + type: SIMPLE_ASSIGN + MaterialStream1._xvapg = (MaterialStream1.Pg - MaterialStream1.Pmin) / (MaterialStream1.Pmax - MaterialStream1.Pmin) + */ +void Flowsheet_eqFunction_263(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,263}; + modelica_real tmp12; + tmp12 = data->simulationInfo->realParameter[622] - data->simulationInfo->realParameter[623]; + if (tmp12 == 0) {throwStreamPrint(threadData, "Division by zero %s", "(MaterialStream1.Pg - MaterialStream1.Pmin) / (MaterialStream1.Pmax - MaterialStream1.Pmin)");} + data->simulationInfo->realParameter[648] = (data->simulationInfo->realParameter[621] - data->simulationInfo->realParameter[623]) / tmp12; + TRACE_POP +} +/* + equation index: 264 + type: SIMPLE_ASSIGN + MaterialStream1._xvapg = 1.0 + */ +void Flowsheet_eqFunction_264(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,264}; + data->simulationInfo->realParameter[648] = 1.0; + TRACE_POP +} +/* + equation index: 265 + type: IFEQUATION + + equation index: 262 + type: SIMPLE_ASSIGN + MaterialStream1._xvapg = 0.0equation index: 263 + type: SIMPLE_ASSIGN + MaterialStream1._xvapg = (MaterialStream1.Pg - MaterialStream1.Pmin) / (MaterialStream1.Pmax - MaterialStream1.Pmin) + equation index: 264 + type: SIMPLE_ASSIGN + MaterialStream1._xvapg = 1.0 + */ +void Flowsheet_eqFunction_265(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,265}; + modelica_boolean tmp10; + modelica_boolean tmp11; + tmp10 = GreaterEq(data->simulationInfo->realParameter[621],data->simulationInfo->realParameter[622]); + tmp11 = GreaterEq(data->simulationInfo->realParameter[621],data->simulationInfo->realParameter[623]); + if(tmp10) + { + Flowsheet_eqFunction_262(data, threadData); + } + else if(tmp11) + { + Flowsheet_eqFunction_263(data, threadData); + }else + { + Flowsheet_eqFunction_264(data, threadData); + } + TRACE_POP +} + +/* + equation index: 266 + type: SIMPLE_ASSIGN + MaterialStream1._xliqg = 1.0 - MaterialStream1.xvapg + */ +void Flowsheet_eqFunction_266(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,266}; + data->simulationInfo->realParameter[645] = 1.0 - data->simulationInfo->realParameter[648]; + TRACE_POP +} + +/* + equation index: 267 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xmliq = MaterialStream1.xliqg + */ +void Flowsheet_eqFunction_267(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,267}; + data->modelData->realVarsData[98].attribute /* MaterialStream1._xmliq variable */.start = data->simulationInfo->realParameter[645]; + data->localData[0]->realVars[98] /* MaterialStream1._xmliq variable */ = data->modelData->realVarsData[98].attribute /* MaterialStream1._xmliq variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[98].info /* MaterialStream1._xmliq */.name, (modelica_real) data->localData[0]->realVars[98] /* MaterialStream1._xmliq variable */); + TRACE_POP +} + +/* + equation index: 268 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xliq = MaterialStream1.xliqg + */ +void Flowsheet_eqFunction_268(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,268}; + data->modelData->realVarsData[91].attribute /* MaterialStream1._xliq variable */.start = data->simulationInfo->realParameter[645]; + data->localData[0]->realVars[91] /* MaterialStream1._xliq variable */ = data->modelData->realVarsData[91].attribute /* MaterialStream1._xliq variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[91].info /* MaterialStream1._xliq */.name, (modelica_real) data->localData[0]->realVars[91] /* MaterialStream1._xliq variable */); + TRACE_POP +} + + +/* + equation index: 269 + type: SIMPLE_ASSIGN + MaterialStream1._Beta = 1.0 + */ +void Flowsheet_eqFunction_269(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,269}; + data->simulationInfo->realParameter[447] = 1.0; + TRACE_POP +} +/* + equation index: 270 + type: SIMPLE_ASSIGN + MaterialStream1._Beta = 0.0 + */ +void Flowsheet_eqFunction_270(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,270}; + data->simulationInfo->realParameter[447] = 0.0; + TRACE_POP +} +/* + equation index: 271 + type: SIMPLE_ASSIGN + MaterialStream1._Beta = MaterialStream1.xvapg + */ +void Flowsheet_eqFunction_271(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,271}; + data->simulationInfo->realParameter[447] = data->simulationInfo->realParameter[648]; + TRACE_POP +} +/* + equation index: 272 + type: IFEQUATION + + equation index: 269 + type: SIMPLE_ASSIGN + MaterialStream1._Beta = 1.0equation index: 270 + type: SIMPLE_ASSIGN + MaterialStream1._Beta = 0.0 + equation index: 271 + type: SIMPLE_ASSIGN + MaterialStream1._Beta = MaterialStream1.xvapg + */ +void Flowsheet_eqFunction_272(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,272}; + modelica_boolean tmp13; + modelica_boolean tmp14; + tmp13 = Greater(data->simulationInfo->realParameter[648],1.0); + tmp14 = Less(data->simulationInfo->realParameter[648],0.0); + if(tmp13) + { + Flowsheet_eqFunction_269(data, threadData); + } + else if(tmp14) + { + Flowsheet_eqFunction_270(data, threadData); + }else + { + Flowsheet_eqFunction_271(data, threadData); + } + TRACE_POP +} + +/* + equation index: 273 + type: SIMPLE_ASSIGN + MaterialStream1._Alpha = 1.0 - MaterialStream1.Beta + */ +void Flowsheet_eqFunction_273(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,273}; + data->simulationInfo->realParameter[446] = 1.0 - data->simulationInfo->realParameter[447]; + TRACE_POP +} + + + +/* + equation index: 274 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = MaterialStream1.xguess[1] * MaterialStream1.K_guess[1] / (1.0 + (-1.0 + MaterialStream1.K_guess[1]) * MaterialStream1.xvapg) + */ +void Flowsheet_eqFunction_274(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,274}; + modelica_real tmp18; + tmp18 = 1.0 + (-1.0 + data->simulationInfo->realParameter[619]) * (data->simulationInfo->realParameter[648]); + if (tmp18 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.K_guess[1] / (1.0 + (-1.0 + MaterialStream1.K_guess[1]) * MaterialStream1.xvapg)");} + data->simulationInfo->realParameter[651] = (data->simulationInfo->realParameter[643]) * ((data->simulationInfo->realParameter[619]) / tmp18); + TRACE_POP +} +/* + equation index: 275 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = MaterialStream1.xguess[1] + */ +void Flowsheet_eqFunction_275(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,275}; + data->simulationInfo->realParameter[651] = data->simulationInfo->realParameter[643]; + TRACE_POP +} +/* + equation index: 276 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_276(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,276}; + data->simulationInfo->realParameter[651] = 0.0; + TRACE_POP +} +/* + equation index: 277 + type: IFEQUATION + + equation index: 274 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = MaterialStream1.xguess[1] * MaterialStream1.K_guess[1] / (1.0 + (-1.0 + MaterialStream1.K_guess[1]) * MaterialStream1.xvapg)equation index: 275 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = MaterialStream1.xguess[1] + equation index: 276 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_277(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,277}; + modelica_boolean tmp16; + tmp16 = Greater(data->simulationInfo->realParameter[447],0.0); + if((tmp16 && (data->simulationInfo->realParameter[447] != 1.0))) + { + Flowsheet_eqFunction_274(data, threadData); + } + else if((data->simulationInfo->realParameter[447] == 1.0)) + { + Flowsheet_eqFunction_275(data, threadData); + }else + { + Flowsheet_eqFunction_276(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 278 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = MaterialStream1.ymol[1] / MaterialStream1.K_guess[1] + */ +void Flowsheet_eqFunction_278(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,278}; + modelica_real tmp22; + tmp22 = data->simulationInfo->realParameter[619]; + if (tmp22 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.ymol[1] / MaterialStream1.K_guess[1]");} + data->simulationInfo->realParameter[646] = (data->simulationInfo->realParameter[651]) / tmp22; + TRACE_POP +} +/* + equation index: 279 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = MaterialStream1.xguess[1] + */ +void Flowsheet_eqFunction_279(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,279}; + data->simulationInfo->realParameter[646] = data->simulationInfo->realParameter[643]; + TRACE_POP +} +/* + equation index: 280 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_280(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,280}; + data->simulationInfo->realParameter[646] = 0.0; + TRACE_POP +} +/* + equation index: 281 + type: IFEQUATION + + equation index: 278 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = MaterialStream1.ymol[1] / MaterialStream1.K_guess[1]equation index: 279 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = MaterialStream1.xguess[1] + equation index: 280 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_281(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,281}; + modelica_boolean tmp20; + modelica_boolean tmp21; + tmp20 = Greater(data->simulationInfo->realParameter[447],0.0); + tmp21 = Less(data->simulationInfo->realParameter[447],1.0); + if((tmp20 && tmp21)) + { + Flowsheet_eqFunction_278(data, threadData); + } + else if((data->simulationInfo->realParameter[447] == 0.0)) + { + Flowsheet_eqFunction_279(data, threadData); + }else + { + Flowsheet_eqFunction_280(data, threadData); + } + TRACE_POP +} +/* + equation index: 282 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = 0.0 + */ +void Flowsheet_eqFunction_282(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,282}; + data->simulationInfo->realParameter[646] = 0.0; + TRACE_POP +} + +/* + equation index: 283 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_283(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,283}; + data->simulationInfo->realParameter[651] = 0.0; + TRACE_POP +} +/* + equation index: 284 + type: IFEQUATION + + equation index: 277 + type: IFEQUATION + + equation index: 274 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = MaterialStream1.xguess[1] * MaterialStream1.K_guess[1] / (1.0 + (-1.0 + MaterialStream1.K_guess[1]) * MaterialStream1.xvapg)equation index: 275 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = MaterialStream1.xguess[1] + equation index: 276 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = 0.0equation index: 281 + type: IFEQUATION + + equation index: 278 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = MaterialStream1.ymol[1] / MaterialStream1.K_guess[1]equation index: 279 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = MaterialStream1.xguess[1] + equation index: 280 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = 0.0 + equation index: 282 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[1] = 0.0equation index: 283 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[1] = 0.0 + */ +void Flowsheet_eqFunction_284(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,284}; + if((data->simulationInfo->realParameter[643] != 0.0)) + { + Flowsheet_eqFunction_277(data, threadData); + + Flowsheet_eqFunction_281(data, threadData); + }else + { + Flowsheet_eqFunction_282(data, threadData); + Flowsheet_eqFunction_283(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 285 + type: SIMPLE_ASSIGN + MaterialStream1._yg[1] = 0.0 + */ +void Flowsheet_eqFunction_285(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,285}; + data->simulationInfo->realParameter[649] = 0.0; + TRACE_POP +} +/* + equation index: 286 + type: SIMPLE_ASSIGN + MaterialStream1._yg[1] = 1.0 + */ +void Flowsheet_eqFunction_286(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,286}; + data->simulationInfo->realParameter[649] = 1.0; + TRACE_POP +} +/* + equation index: 287 + type: SIMPLE_ASSIGN + MaterialStream1._yg[1] = MaterialStream1.ymol[1] + */ +void Flowsheet_eqFunction_287(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,287}; + data->simulationInfo->realParameter[649] = data->simulationInfo->realParameter[651]; + TRACE_POP +} +/* + equation index: 288 + type: IFEQUATION + + equation index: 285 + type: SIMPLE_ASSIGN + MaterialStream1._yg[1] = 0.0equation index: 286 + type: SIMPLE_ASSIGN + MaterialStream1._yg[1] = 1.0 + equation index: 287 + type: SIMPLE_ASSIGN + MaterialStream1._yg[1] = MaterialStream1.ymol[1] + */ +void Flowsheet_eqFunction_288(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,288}; + modelica_boolean tmp24; + modelica_boolean tmp25; + tmp24 = Less(data->simulationInfo->realParameter[651],0.0); + tmp25 = Greater(data->simulationInfo->realParameter[651],1.0); + if(tmp24) + { + Flowsheet_eqFunction_285(data, threadData); + } + else if(tmp25) + { + Flowsheet_eqFunction_286(data, threadData); + }else + { + Flowsheet_eqFunction_287(data, threadData); + } + TRACE_POP +} + +/* + equation index: 289 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xm_pc[3,1] = MaterialStream1.yg[1] + */ +void Flowsheet_eqFunction_289(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,289}; + data->modelData->realVarsData[96].attribute /* MaterialStream1._xm_pc[3,1] variable */.start = data->simulationInfo->realParameter[649]; + data->localData[0]->realVars[96] /* MaterialStream1._xm_pc[3,1] variable */ = data->modelData->realVarsData[96].attribute /* MaterialStream1._xm_pc[3,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[96].info /* MaterialStream1._xm_pc[3,1] */.name, (modelica_real) data->localData[0]->realVars[96] /* MaterialStream1._xm_pc[3,1] variable */); + TRACE_POP +} + +/* + equation index: 290 + type: SIMPLE_ASSIGN + $START._MaterialStream1._x_pc[3,1] = MaterialStream1.yg[1] + */ +void Flowsheet_eqFunction_290(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,290}; + data->modelData->realVarsData[89].attribute /* MaterialStream1._x_pc[3,1] variable */.start = data->simulationInfo->realParameter[649]; + data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */ = data->modelData->realVarsData[89].attribute /* MaterialStream1._x_pc[3,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[89].info /* MaterialStream1._x_pc[3,1] */.name, (modelica_real) data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */); + TRACE_POP +} + + +/* + equation index: 291 + type: SIMPLE_ASSIGN + MaterialStream1._xg[1] = 0.0 + */ +void Flowsheet_eqFunction_291(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,291}; + data->simulationInfo->realParameter[641] = 0.0; + TRACE_POP +} +/* + equation index: 292 + type: SIMPLE_ASSIGN + MaterialStream1._xg[1] = 1.0 + */ +void Flowsheet_eqFunction_292(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,292}; + data->simulationInfo->realParameter[641] = 1.0; + TRACE_POP +} +/* + equation index: 293 + type: SIMPLE_ASSIGN + MaterialStream1._xg[1] = MaterialStream1.xmol[1] + */ +void Flowsheet_eqFunction_293(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,293}; + data->simulationInfo->realParameter[641] = data->simulationInfo->realParameter[646]; + TRACE_POP +} +/* + equation index: 294 + type: IFEQUATION + + equation index: 291 + type: SIMPLE_ASSIGN + MaterialStream1._xg[1] = 0.0equation index: 292 + type: SIMPLE_ASSIGN + MaterialStream1._xg[1] = 1.0 + equation index: 293 + type: SIMPLE_ASSIGN + MaterialStream1._xg[1] = MaterialStream1.xmol[1] + */ +void Flowsheet_eqFunction_294(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,294}; + modelica_boolean tmp26; + modelica_boolean tmp27; + tmp26 = Less(data->simulationInfo->realParameter[646],0.0); + tmp27 = Greater(data->simulationInfo->realParameter[641],1.0); + if(tmp26) + { + Flowsheet_eqFunction_291(data, threadData); + } + else if(tmp27) + { + Flowsheet_eqFunction_292(data, threadData); + }else + { + Flowsheet_eqFunction_293(data, threadData); + } + TRACE_POP +} + +/* + equation index: 298 + type: LINEAR + + <var>MaterialStream1._Fvapg</var> + <row> + + </row> + <matrix> + </matrix> + */ +void Flowsheet_eqFunction_298(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,298}; + /* Linear equation system */ + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving linear system 298 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + data->simulationInfo->linearSystemData[2].x[0] = data->simulationInfo->realParameter[608]; + retValue = solve_linear_system(data, threadData, 2); + + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,298}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving linear system 298 failed at time=%.15g.\nFor more information please use -lv LOG_LS.", data->localData[0]->timeValue); + } + /* write solution */ + data->simulationInfo->realParameter[608] = data->simulationInfo->linearSystemData[2].x[0]; + TRACE_POP +} + +/* + equation index: 299 + type: SIMPLE_ASSIGN + $START._MaterialStream1._F_p[2] = MaterialStream1.Fliqg + */ +void Flowsheet_eqFunction_299(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,299}; + data->modelData->realVarsData[23].attribute /* MaterialStream1._F_p[2] variable */.start = data->simulationInfo->realParameter[607]; + data->localData[0]->realVars[23] /* MaterialStream1._F_p[2] variable */ = data->modelData->realVarsData[23].attribute /* MaterialStream1._F_p[2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[23].info /* MaterialStream1._F_p[2] */.name, (modelica_real) data->localData[0]->realVars[23] /* MaterialStream1._F_p[2] variable */); + TRACE_POP +} + +/* + equation index: 300 + type: SIMPLE_ASSIGN + $START._MaterialStream1._F_p[3] = MaterialStream1.Fvapg + */ +void Flowsheet_eqFunction_300(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,300}; + data->modelData->realVarsData[24].attribute /* MaterialStream1._F_p[3] variable */.start = data->simulationInfo->realParameter[608]; + data->localData[0]->realVars[24] /* MaterialStream1._F_p[3] variable */ = data->modelData->realVarsData[24].attribute /* MaterialStream1._F_p[3] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[24].info /* MaterialStream1._F_p[3] */.name, (modelica_real) data->localData[0]->realVars[24] /* MaterialStream1._F_p[3] variable */); + TRACE_POP +} + +/* + equation index: 301 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xm_pc[2,1] = MaterialStream1.xg[1] + */ +void Flowsheet_eqFunction_301(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,301}; + data->modelData->realVarsData[94].attribute /* MaterialStream1._xm_pc[2,1] variable */.start = data->simulationInfo->realParameter[641]; + data->localData[0]->realVars[94] /* MaterialStream1._xm_pc[2,1] variable */ = data->modelData->realVarsData[94].attribute /* MaterialStream1._xm_pc[2,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[94].info /* MaterialStream1._xm_pc[2,1] */.name, (modelica_real) data->localData[0]->realVars[94] /* MaterialStream1._xm_pc[2,1] variable */); + TRACE_POP +} + +/* + equation index: 302 + type: SIMPLE_ASSIGN + $START._MaterialStream1._x_pc[2,1] = MaterialStream1.xg[1] + */ +void Flowsheet_eqFunction_302(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,302}; + data->modelData->realVarsData[87].attribute /* MaterialStream1._x_pc[2,1] variable */.start = data->simulationInfo->realParameter[641]; + data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */ = data->modelData->realVarsData[87].attribute /* MaterialStream1._x_pc[2,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[87].info /* MaterialStream1._x_pc[2,1] */.name, (modelica_real) data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */); + TRACE_POP +} + + + +/* + equation index: 303 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = MaterialStream1.xguess[2] * MaterialStream1.K_guess[2] / (1.0 + (-1.0 + MaterialStream1.K_guess[2]) * MaterialStream1.xvapg) + */ +void Flowsheet_eqFunction_303(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,303}; + modelica_real tmp31; + tmp31 = 1.0 + (-1.0 + data->simulationInfo->realParameter[620]) * (data->simulationInfo->realParameter[648]); + if (tmp31 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.K_guess[2] / (1.0 + (-1.0 + MaterialStream1.K_guess[2]) * MaterialStream1.xvapg)");} + data->simulationInfo->realParameter[652] = (data->simulationInfo->realParameter[644]) * ((data->simulationInfo->realParameter[620]) / tmp31); + TRACE_POP +} +/* + equation index: 304 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = MaterialStream1.xguess[2] + */ +void Flowsheet_eqFunction_304(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,304}; + data->simulationInfo->realParameter[652] = data->simulationInfo->realParameter[644]; + TRACE_POP +} +/* + equation index: 305 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_305(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,305}; + data->simulationInfo->realParameter[652] = 0.0; + TRACE_POP +} +/* + equation index: 306 + type: IFEQUATION + + equation index: 303 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = MaterialStream1.xguess[2] * MaterialStream1.K_guess[2] / (1.0 + (-1.0 + MaterialStream1.K_guess[2]) * MaterialStream1.xvapg)equation index: 304 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = MaterialStream1.xguess[2] + equation index: 305 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_306(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,306}; + modelica_boolean tmp29; + tmp29 = Greater(data->simulationInfo->realParameter[447],0.0); + if((tmp29 && (data->simulationInfo->realParameter[447] != 1.0))) + { + Flowsheet_eqFunction_303(data, threadData); + } + else if((data->simulationInfo->realParameter[447] == 1.0)) + { + Flowsheet_eqFunction_304(data, threadData); + }else + { + Flowsheet_eqFunction_305(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 307 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = MaterialStream1.ymol[2] / MaterialStream1.K_guess[2] + */ +void Flowsheet_eqFunction_307(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,307}; + modelica_real tmp35; + tmp35 = data->simulationInfo->realParameter[620]; + if (tmp35 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.ymol[2] / MaterialStream1.K_guess[2]");} + data->simulationInfo->realParameter[647] = (data->simulationInfo->realParameter[652]) / tmp35; + TRACE_POP +} +/* + equation index: 308 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = MaterialStream1.xguess[2] + */ +void Flowsheet_eqFunction_308(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,308}; + data->simulationInfo->realParameter[647] = data->simulationInfo->realParameter[644]; + TRACE_POP +} +/* + equation index: 309 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_309(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,309}; + data->simulationInfo->realParameter[647] = 0.0; + TRACE_POP +} +/* + equation index: 310 + type: IFEQUATION + + equation index: 307 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = MaterialStream1.ymol[2] / MaterialStream1.K_guess[2]equation index: 308 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = MaterialStream1.xguess[2] + equation index: 309 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_310(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,310}; + modelica_boolean tmp33; + modelica_boolean tmp34; + tmp33 = Greater(data->simulationInfo->realParameter[447],0.0); + tmp34 = Less(data->simulationInfo->realParameter[447],1.0); + if((tmp33 && tmp34)) + { + Flowsheet_eqFunction_307(data, threadData); + } + else if((data->simulationInfo->realParameter[447] == 0.0)) + { + Flowsheet_eqFunction_308(data, threadData); + }else + { + Flowsheet_eqFunction_309(data, threadData); + } + TRACE_POP +} +/* + equation index: 311 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = 0.0 + */ +void Flowsheet_eqFunction_311(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,311}; + data->simulationInfo->realParameter[647] = 0.0; + TRACE_POP +} + +/* + equation index: 312 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_312(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,312}; + data->simulationInfo->realParameter[652] = 0.0; + TRACE_POP +} +/* + equation index: 313 + type: IFEQUATION + + equation index: 306 + type: IFEQUATION + + equation index: 303 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = MaterialStream1.xguess[2] * MaterialStream1.K_guess[2] / (1.0 + (-1.0 + MaterialStream1.K_guess[2]) * MaterialStream1.xvapg)equation index: 304 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = MaterialStream1.xguess[2] + equation index: 305 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = 0.0equation index: 310 + type: IFEQUATION + + equation index: 307 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = MaterialStream1.ymol[2] / MaterialStream1.K_guess[2]equation index: 308 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = MaterialStream1.xguess[2] + equation index: 309 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = 0.0 + equation index: 311 + type: SIMPLE_ASSIGN + MaterialStream1._xmol[2] = 0.0equation index: 312 + type: SIMPLE_ASSIGN + MaterialStream1._ymol[2] = 0.0 + */ +void Flowsheet_eqFunction_313(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,313}; + if((data->simulationInfo->realParameter[644] != 0.0)) + { + Flowsheet_eqFunction_306(data, threadData); + + Flowsheet_eqFunction_310(data, threadData); + }else + { + Flowsheet_eqFunction_311(data, threadData); + Flowsheet_eqFunction_312(data, threadData); + } + TRACE_POP +} + + +/* + equation index: 314 + type: SIMPLE_ASSIGN + MaterialStream1._yg[2] = 0.0 + */ +void Flowsheet_eqFunction_314(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,314}; + data->simulationInfo->realParameter[650] = 0.0; + TRACE_POP +} +/* + equation index: 315 + type: SIMPLE_ASSIGN + MaterialStream1._yg[2] = 1.0 + */ +void Flowsheet_eqFunction_315(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,315}; + data->simulationInfo->realParameter[650] = 1.0; + TRACE_POP +} +/* + equation index: 316 + type: SIMPLE_ASSIGN + MaterialStream1._yg[2] = MaterialStream1.ymol[2] + */ +void Flowsheet_eqFunction_316(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,316}; + data->simulationInfo->realParameter[650] = data->simulationInfo->realParameter[652]; + TRACE_POP +} +/* + equation index: 317 + type: IFEQUATION + + equation index: 314 + type: SIMPLE_ASSIGN + MaterialStream1._yg[2] = 0.0equation index: 315 + type: SIMPLE_ASSIGN + MaterialStream1._yg[2] = 1.0 + equation index: 316 + type: SIMPLE_ASSIGN + MaterialStream1._yg[2] = MaterialStream1.ymol[2] + */ +void Flowsheet_eqFunction_317(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,317}; + modelica_boolean tmp37; + modelica_boolean tmp38; + tmp37 = Less(data->simulationInfo->realParameter[652],0.0); + tmp38 = Greater(data->simulationInfo->realParameter[652],1.0); + if(tmp37) + { + Flowsheet_eqFunction_314(data, threadData); + } + else if(tmp38) + { + Flowsheet_eqFunction_315(data, threadData); + }else + { + Flowsheet_eqFunction_316(data, threadData); + } + TRACE_POP +} + +/* + equation index: 318 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xm_pc[3,2] = MaterialStream1.yg[2] + */ +void Flowsheet_eqFunction_318(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,318}; + data->modelData->realVarsData[97].attribute /* MaterialStream1._xm_pc[3,2] variable */.start = data->simulationInfo->realParameter[650]; + data->localData[0]->realVars[97] /* MaterialStream1._xm_pc[3,2] variable */ = data->modelData->realVarsData[97].attribute /* MaterialStream1._xm_pc[3,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[97].info /* MaterialStream1._xm_pc[3,2] */.name, (modelica_real) data->localData[0]->realVars[97] /* MaterialStream1._xm_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 319 + type: SIMPLE_ASSIGN + $START._MaterialStream1._x_pc[3,2] = MaterialStream1.yg[2] + */ +void Flowsheet_eqFunction_319(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,319}; + data->modelData->realVarsData[90].attribute /* MaterialStream1._x_pc[3,2] variable */.start = data->simulationInfo->realParameter[650]; + data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */ = data->modelData->realVarsData[90].attribute /* MaterialStream1._x_pc[3,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[90].info /* MaterialStream1._x_pc[3,2] */.name, (modelica_real) data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */); + TRACE_POP +} + + +/* + equation index: 320 + type: SIMPLE_ASSIGN + MaterialStream1._xg[2] = 0.0 + */ +void Flowsheet_eqFunction_320(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,320}; + data->simulationInfo->realParameter[642] = 0.0; + TRACE_POP +} +/* + equation index: 321 + type: SIMPLE_ASSIGN + MaterialStream1._xg[2] = 1.0 + */ +void Flowsheet_eqFunction_321(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,321}; + data->simulationInfo->realParameter[642] = 1.0; + TRACE_POP +} +/* + equation index: 322 + type: SIMPLE_ASSIGN + MaterialStream1._xg[2] = MaterialStream1.xmol[2] + */ +void Flowsheet_eqFunction_322(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,322}; + data->simulationInfo->realParameter[642] = data->simulationInfo->realParameter[647]; + TRACE_POP +} +/* + equation index: 323 + type: IFEQUATION + + equation index: 320 + type: SIMPLE_ASSIGN + MaterialStream1._xg[2] = 0.0equation index: 321 + type: SIMPLE_ASSIGN + MaterialStream1._xg[2] = 1.0 + equation index: 322 + type: SIMPLE_ASSIGN + MaterialStream1._xg[2] = MaterialStream1.xmol[2] + */ +void Flowsheet_eqFunction_323(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,323}; + modelica_boolean tmp39; + modelica_boolean tmp40; + tmp39 = Less(data->simulationInfo->realParameter[647],0.0); + tmp40 = Greater(data->simulationInfo->realParameter[642],1.0); + if(tmp39) + { + Flowsheet_eqFunction_320(data, threadData); + } + else if(tmp40) + { + Flowsheet_eqFunction_321(data, threadData); + }else + { + Flowsheet_eqFunction_322(data, threadData); + } + TRACE_POP +} + +/* + equation index: 324 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xm_pc[2,2] = MaterialStream1.xg[2] + */ +void Flowsheet_eqFunction_324(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,324}; + data->modelData->realVarsData[95].attribute /* MaterialStream1._xm_pc[2,2] variable */.start = data->simulationInfo->realParameter[642]; + data->localData[0]->realVars[95] /* MaterialStream1._xm_pc[2,2] variable */ = data->modelData->realVarsData[95].attribute /* MaterialStream1._xm_pc[2,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[95].info /* MaterialStream1._xm_pc[2,2] */.name, (modelica_real) data->localData[0]->realVars[95] /* MaterialStream1._xm_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 325 + type: SIMPLE_ASSIGN + $START._MaterialStream1._x_pc[2,2] = MaterialStream1.xg[2] + */ +void Flowsheet_eqFunction_325(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,325}; + data->modelData->realVarsData[88].attribute /* MaterialStream1._x_pc[2,2] variable */.start = data->simulationInfo->realParameter[642]; + data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */ = data->modelData->realVarsData[88].attribute /* MaterialStream1._x_pc[2,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[88].info /* MaterialStream1._x_pc[2,2] */.name, (modelica_real) data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 326 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xmvap = MaterialStream1.xvapg + */ +void Flowsheet_eqFunction_326(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,326}; + data->modelData->realVarsData[99].attribute /* MaterialStream1._xmvap variable */.start = data->simulationInfo->realParameter[648]; + data->localData[0]->realVars[99] /* MaterialStream1._xmvap variable */ = data->modelData->realVarsData[99].attribute /* MaterialStream1._xmvap variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[99].info /* MaterialStream1._xmvap */.name, (modelica_real) data->localData[0]->realVars[99] /* MaterialStream1._xmvap variable */); + TRACE_POP +} + +/* + equation index: 327 + type: SIMPLE_ASSIGN + MaterialStream1._Hliqg = MaterialStream1.xguess[1] * MaterialStream1.Hcomplg[1] + MaterialStream1.xguess[2] * MaterialStream1.Hcomplg[2] + */ +void Flowsheet_eqFunction_327(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,327}; + data->simulationInfo->realParameter[615] = (data->simulationInfo->realParameter[643]) * (data->simulationInfo->realParameter[611]) + (data->simulationInfo->realParameter[644]) * (data->simulationInfo->realParameter[612]); + TRACE_POP +} + +/* + equation index: 328 + type: SIMPLE_ASSIGN + $START._MaterialStream1._H_p[2] = MaterialStream1.Hliqg + */ +void Flowsheet_eqFunction_328(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,328}; + data->modelData->realVarsData[41].attribute /* MaterialStream1._H_p[2] variable */.start = data->simulationInfo->realParameter[615]; + data->localData[0]->realVars[41] /* MaterialStream1._H_p[2] variable */ = data->modelData->realVarsData[41].attribute /* MaterialStream1._H_p[2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[41].info /* MaterialStream1._H_p[2] */.name, (modelica_real) data->localData[0]->realVars[41] /* MaterialStream1._H_p[2] variable */); + TRACE_POP +} + +/* + equation index: 329 + type: SIMPLE_ASSIGN + $START._MaterialStream1._Cp_p[2] = MaterialStream1.Hliqg + */ +void Flowsheet_eqFunction_329(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,329}; + data->modelData->realVarsData[11].attribute /* MaterialStream1._Cp_p[2] variable */.start = data->simulationInfo->realParameter[615]; + data->localData[0]->realVars[11] /* MaterialStream1._Cp_p[2] variable */ = data->modelData->realVarsData[11].attribute /* MaterialStream1._Cp_p[2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[11].info /* MaterialStream1._Cp_p[2] */.name, (modelica_real) data->localData[0]->realVars[11] /* MaterialStream1._Cp_p[2] variable */); + TRACE_POP +} + +/* + equation index: 330 + type: SIMPLE_ASSIGN + MaterialStream1._Hvapg = MaterialStream1.xguess[1] * MaterialStream1.Hcompvg[1] + MaterialStream1.xguess[2] * MaterialStream1.Hcompvg[2] + */ +void Flowsheet_eqFunction_330(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,330}; + data->simulationInfo->realParameter[618] = (data->simulationInfo->realParameter[643]) * (data->simulationInfo->realParameter[613]) + (data->simulationInfo->realParameter[644]) * (data->simulationInfo->realParameter[614]); + TRACE_POP +} + +/* + equation index: 331 + type: SIMPLE_ASSIGN + MaterialStream1._Htotg = MaterialStream1.Hliqg + MaterialStream1.Hvapg + */ +void Flowsheet_eqFunction_331(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,331}; + data->simulationInfo->realParameter[617] = data->simulationInfo->realParameter[615] + data->simulationInfo->realParameter[618]; + TRACE_POP +} + +/* + equation index: 332 + type: SIMPLE_ASSIGN + MaterialStream1._Hmixg = MaterialStream1.Htotg + */ +void Flowsheet_eqFunction_332(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,332}; + data->simulationInfo->realParameter[616] = data->simulationInfo->realParameter[617]; + TRACE_POP +} + +/* + equation index: 333 + type: SIMPLE_ASSIGN + $START._MaterialStream1._H_p[1] = MaterialStream1.Hmixg + */ +void Flowsheet_eqFunction_333(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,333}; + data->modelData->realVarsData[40].attribute /* MaterialStream1._H_p[1] variable */.start = data->simulationInfo->realParameter[616]; + data->localData[0]->realVars[40] /* MaterialStream1._H_p[1] variable */ = data->modelData->realVarsData[40].attribute /* MaterialStream1._H_p[1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[40].info /* MaterialStream1._H_p[1] */.name, (modelica_real) data->localData[0]->realVars[40] /* MaterialStream1._H_p[1] variable */); + TRACE_POP +} + +/* + equation index: 334 + type: SIMPLE_ASSIGN + $START._MaterialStream1._Cp_p[1] = MaterialStream1.Hmixg + */ +void Flowsheet_eqFunction_334(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,334}; + data->modelData->realVarsData[10].attribute /* MaterialStream1._Cp_p[1] variable */.start = data->simulationInfo->realParameter[616]; + data->localData[0]->realVars[10] /* MaterialStream1._Cp_p[1] variable */ = data->modelData->realVarsData[10].attribute /* MaterialStream1._Cp_p[1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[10].info /* MaterialStream1._Cp_p[1] */.name, (modelica_real) data->localData[0]->realVars[10] /* MaterialStream1._Cp_p[1] variable */); + TRACE_POP +} + +/* + equation index: 335 + type: SIMPLE_ASSIGN + MaterialStream1._Hcompg[1] = MaterialStream1.xguess[1] * MaterialStream1.Htotg + */ +void Flowsheet_eqFunction_335(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,335}; + data->simulationInfo->realParameter[609] = (data->simulationInfo->realParameter[643]) * (data->simulationInfo->realParameter[617]); + TRACE_POP +} + +/* + equation index: 336 + type: SIMPLE_ASSIGN + MaterialStream1._Hcompg[2] = MaterialStream1.xguess[2] * MaterialStream1.Htotg + */ +void Flowsheet_eqFunction_336(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,336}; + data->simulationInfo->realParameter[610] = (data->simulationInfo->realParameter[644]) * (data->simulationInfo->realParameter[617]); + TRACE_POP +} + +/* + equation index: 337 + type: SIMPLE_ASSIGN + $START._MaterialStream1._H_p[3] = MaterialStream1.Hvapg + */ +void Flowsheet_eqFunction_337(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,337}; + data->modelData->realVarsData[42].attribute /* MaterialStream1._H_p[3] variable */.start = data->simulationInfo->realParameter[618]; + data->localData[0]->realVars[42] /* MaterialStream1._H_p[3] variable */ = data->modelData->realVarsData[42].attribute /* MaterialStream1._H_p[3] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[42].info /* MaterialStream1._H_p[3] */.name, (modelica_real) data->localData[0]->realVars[42] /* MaterialStream1._H_p[3] variable */); + TRACE_POP +} + +/* + equation index: 338 + type: SIMPLE_ASSIGN + $START._MaterialStream1._Cp_p[3] = MaterialStream1.Hvapg + */ +void Flowsheet_eqFunction_338(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,338}; + data->modelData->realVarsData[12].attribute /* MaterialStream1._Cp_p[3] variable */.start = data->simulationInfo->realParameter[618]; + data->localData[0]->realVars[12] /* MaterialStream1._Cp_p[3] variable */ = data->modelData->realVarsData[12].attribute /* MaterialStream1._Cp_p[3] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[12].info /* MaterialStream1._Cp_p[3] */.name, (modelica_real) data->localData[0]->realVars[12] /* MaterialStream1._Cp_p[3] variable */); + TRACE_POP +} + +/* + equation index: 339 + type: SIMPLE_ASSIGN + $START._MaterialStream1._xm_pc[1,1] = MaterialStream1.xguess[1] + */ +void Flowsheet_eqFunction_339(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,339}; + data->modelData->realVarsData[92].attribute /* MaterialStream1._xm_pc[1,1] variable */.start = data->simulationInfo->realParameter[643]; + data->localData[0]->realVars[92] /* MaterialStream1._xm_pc[1,1] variable */ = data->modelData->realVarsData[92].attribute /* MaterialStream1._xm_pc[1,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[92].info /* MaterialStream1._xm_pc[1,1] */.name, (modelica_real) data->localData[0]->realVars[92] /* MaterialStream1._xm_pc[1,1] variable */); + TRACE_POP +} + +/* + equation index: 340 + type: SIMPLE_ASSIGN + $START._MaterialStream1._Pdew = MaterialStream1.Pmax + */ +void Flowsheet_eqFunction_340(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,340}; + data->modelData->realVarsData[59].attribute /* MaterialStream1._Pdew variable */.start = data->simulationInfo->realParameter[622]; + data->localData[0]->realVars[59] /* MaterialStream1._Pdew variable */ = data->modelData->realVarsData[59].attribute /* MaterialStream1._Pdew variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[59].info /* MaterialStream1._Pdew */.name, (modelica_real) data->localData[0]->realVars[59] /* MaterialStream1._Pdew variable */); + TRACE_POP +} + +/* + equation index: 341 + type: SIMPLE_ASSIGN + $START._MaterialStream1._Pbubl = MaterialStream1.Pmin + */ +void Flowsheet_eqFunction_341(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,341}; + data->modelData->realVarsData[58].attribute /* MaterialStream1._Pbubl variable */.start = data->simulationInfo->realParameter[623]; + data->localData[0]->realVars[58] /* MaterialStream1._Pbubl variable */ = data->modelData->realVarsData[58].attribute /* MaterialStream1._Pbubl variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[58].info /* MaterialStream1._Pbubl */.name, (modelica_real) data->localData[0]->realVars[58] /* MaterialStream1._Pbubl variable */); + TRACE_POP +} + +/* + equation index: 342 + type: SIMPLE_ASSIGN + $START._MaterialStream1._T = MaterialStream1.Tg + */ +void Flowsheet_eqFunction_342(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,342}; + data->modelData->realVarsData[74].attribute /* MaterialStream1._T variable */.start = data->simulationInfo->realParameter[640]; + data->localData[0]->realVars[74] /* MaterialStream1._T variable */ = data->modelData->realVarsData[74].attribute /* MaterialStream1._T variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[74].info /* MaterialStream1._T */.name, (modelica_real) data->localData[0]->realVars[74] /* MaterialStream1._T variable */); + TRACE_POP +} + +/* + equation index: 343 + type: SIMPLE_ASSIGN + MaterialStream1._T = 350.0 + */ +void Flowsheet_eqFunction_343(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,343}; + data->localData[0]->realVars[74] /* MaterialStream1._T variable */ = 350.0; + TRACE_POP +} + +/* + equation index: 344 + type: SIMPLE_ASSIGN + $START._Heater1._Tout = Heater1.Tg + */ +void Flowsheet_eqFunction_344(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,344}; + data->modelData->realVarsData[7].attribute /* Heater1._Tout variable */.start = data->simulationInfo->realParameter[433]; + data->localData[0]->realVars[7] /* Heater1._Tout variable */ = data->modelData->realVarsData[7].attribute /* Heater1._Tout variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[7].info /* Heater1._Tout */.name, (modelica_real) data->localData[0]->realVars[7] /* Heater1._Tout variable */); + TRACE_POP +} + +/* + equation index: 345 + type: SIMPLE_ASSIGN + Heater1._Tout = 380.0 + */ +void Flowsheet_eqFunction_345(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,345}; + data->localData[0]->realVars[7] /* Heater1._Tout variable */ = 380.0; + TRACE_POP +} + +/* + equation index: 346 + type: SIMPLE_ASSIGN + $START._MaterialStream1._x_pc[1,1] = MaterialStream1.xguess[1] + */ +void Flowsheet_eqFunction_346(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,346}; + data->modelData->realVarsData[85].attribute /* MaterialStream1._x_pc[1,1] variable */.start = data->simulationInfo->realParameter[643]; + data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */ = data->modelData->realVarsData[85].attribute /* MaterialStream1._x_pc[1,1] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[85].info /* MaterialStream1._x_pc[1,1] */.name, (modelica_real) data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */); + TRACE_POP +} + +/* + equation index: 347 + type: SIMPLE_ASSIGN + MaterialStream1._x_pc[1,1] = 0.5 + */ +void Flowsheet_eqFunction_347(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,347}; + data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */ = 0.5; + TRACE_POP +} + +/* + equation index: 348 + type: SIMPLE_ASSIGN + MaterialStream2._x_pc[1,1] = MaterialStream1.x_pc[1,1] + */ +void Flowsheet_eqFunction_348(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,348}; + data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */ = data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */; + TRACE_POP +} + +/* + equation index: 349 + type: SIMPLE_ASSIGN + MaterialStream2._F_pc[1,1] = 100.0 * MaterialStream2.x_pc[1,1] + */ +void Flowsheet_eqFunction_349(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,349}; + data->localData[0]->realVars[114] /* MaterialStream2._F_pc[1,1] variable */ = (100.0) * (data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */); + TRACE_POP +} + +/* + equation index: 350 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_pc[1,1] = MaterialStream2.F_pc[1,1] * MaterialStream2.C[1].MW + */ +void Flowsheet_eqFunction_350(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,350}; + data->localData[0]->realVars[123] /* MaterialStream2._Fm_pc[1,1] variable */ = (data->localData[0]->realVars[114] /* MaterialStream2._F_pc[1,1] variable */) * (data->simulationInfo->realParameter[739]); + TRACE_POP +} + +/* + equation index: 351 + type: SIMPLE_ASSIGN + MaterialStream1._F_pc[1,1] = 100.0 * MaterialStream1.x_pc[1,1] + */ +void Flowsheet_eqFunction_351(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,351}; + data->localData[0]->realVars[25] /* MaterialStream1._F_pc[1,1] variable */ = (100.0) * (data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */); + TRACE_POP +} + +/* + equation index: 352 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_pc[1,1] = MaterialStream1.F_pc[1,1] * MaterialStream1.C[1].MW + */ +void Flowsheet_eqFunction_352(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,352}; + data->localData[0]->realVars[34] /* MaterialStream1._Fm_pc[1,1] variable */ = (data->localData[0]->realVars[25] /* MaterialStream1._F_pc[1,1] variable */) * (data->simulationInfo->realParameter[532]); + TRACE_POP +} + +/* + equation index: 353 + type: SIMPLE_ASSIGN + $START._MaterialStream1._x_pc[1,2] = MaterialStream1.xguess[2] + */ +void Flowsheet_eqFunction_353(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,353}; + data->modelData->realVarsData[86].attribute /* MaterialStream1._x_pc[1,2] variable */.start = data->simulationInfo->realParameter[644]; + data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */ = data->modelData->realVarsData[86].attribute /* MaterialStream1._x_pc[1,2] variable */.start; + infoStreamPrint(LOG_INIT, 0, "updated start value: %s(start=%g)", data->modelData->realVarsData[86].info /* MaterialStream1._x_pc[1,2] */.name, (modelica_real) data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */); + TRACE_POP +} + +/* + equation index: 354 + type: SIMPLE_ASSIGN + MaterialStream1._x_pc[1,2] = 0.5 + */ +void Flowsheet_eqFunction_354(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,354}; + data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */ = 0.5; + TRACE_POP +} + +/* + equation index: 355 + type: SIMPLE_ASSIGN + MaterialStream2._x_pc[1,2] = MaterialStream1.x_pc[1,2] + */ +void Flowsheet_eqFunction_355(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,355}; + data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */ = data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */; + TRACE_POP +} + +/* + equation index: 356 + type: SIMPLE_ASSIGN + MaterialStream2._F_pc[1,2] = 100.0 * MaterialStream2.x_pc[1,2] + */ +void Flowsheet_eqFunction_356(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,356}; + data->localData[0]->realVars[115] /* MaterialStream2._F_pc[1,2] variable */ = (100.0) * (data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */); + TRACE_POP +} + +/* + equation index: 357 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_pc[1,2] = MaterialStream2.F_pc[1,2] * MaterialStream2.C[2].MW + */ +void Flowsheet_eqFunction_357(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,357}; + data->localData[0]->realVars[124] /* MaterialStream2._Fm_pc[1,2] variable */ = (data->localData[0]->realVars[115] /* MaterialStream2._F_pc[1,2] variable */) * (data->simulationInfo->realParameter[740]); + TRACE_POP +} + +/* + equation index: 358 + type: SIMPLE_ASSIGN + MaterialStream2._Pbubl = MaterialStream2.x_pc[1,1] * exp(MaterialStream2.C[1].VP[2] + MaterialStream2.C[1].VP[3] / 380.0 + MaterialStream2.C[1].VP[4] * 5.940171252720432 + MaterialStream2.C[1].VP[5] * 380.0 ^ MaterialStream2.C[1].VP[6]) + MaterialStream2.x_pc[1,2] * exp(MaterialStream2.C[2].VP[2] + MaterialStream2.C[2].VP[3] / 380.0 + MaterialStream2.C[2].VP[4] * 5.940171252720432 + MaterialStream2.C[2].VP[5] * 380.0 ^ MaterialStream2.C[2].VP[6]) + */ +void Flowsheet_eqFunction_358(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,358}; + modelica_real tmp41; + modelica_real tmp42; + modelica_real tmp43; + modelica_real tmp44; + modelica_real tmp45; + modelica_real tmp46; + modelica_real tmp47; + modelica_real tmp48; + modelica_real tmp49; + modelica_real tmp50; + modelica_real tmp51; + modelica_real tmp52; + modelica_real tmp53; + modelica_real tmp54; + modelica_real tmp55; + modelica_real tmp56; + tmp41 = 380.0; + if (tmp41 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.C[1].VP[3] / 380.0");} + tmp42 = 380.0; + tmp43 = data->simulationInfo->realParameter[768]; + if(tmp42 < 0.0 && tmp43 != 0.0) + { + tmp45 = modf(tmp43, &tmp46); + + if(tmp45 > 0.5) + { + tmp45 -= 1.0; + tmp46 += 1.0; + } + else if(tmp45 < -0.5) + { + tmp45 += 1.0; + tmp46 -= 1.0; + } + + if(fabs(tmp45) < 1e-10) + tmp44 = pow(tmp42, tmp46); + else + { + tmp48 = modf(1.0/tmp43, &tmp47); + if(tmp48 > 0.5) + { + tmp48 -= 1.0; + tmp47 += 1.0; + } + else if(tmp48 < -0.5) + { + tmp48 += 1.0; + tmp47 -= 1.0; + } + if(fabs(tmp48) < 1e-10 && ((unsigned long)tmp47 & 1)) + { + tmp44 = -pow(-tmp42, tmp45)*pow(tmp42, tmp46); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp42, tmp43); + } + } + } + else + { + tmp44 = pow(tmp42, tmp43); + } + if(isnan(tmp44) || isinf(tmp44)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp42, tmp43); + }tmp49 = 380.0; + if (tmp49 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.C[2].VP[3] / 380.0");} + tmp50 = 380.0; + tmp51 = data->simulationInfo->realParameter[774]; + if(tmp50 < 0.0 && tmp51 != 0.0) + { + tmp53 = modf(tmp51, &tmp54); + + if(tmp53 > 0.5) + { + tmp53 -= 1.0; + tmp54 += 1.0; + } + else if(tmp53 < -0.5) + { + tmp53 += 1.0; + tmp54 -= 1.0; + } + + if(fabs(tmp53) < 1e-10) + tmp52 = pow(tmp50, tmp54); + else + { + tmp56 = modf(1.0/tmp51, &tmp55); + if(tmp56 > 0.5) + { + tmp56 -= 1.0; + tmp55 += 1.0; + } + else if(tmp56 < -0.5) + { + tmp56 += 1.0; + tmp55 -= 1.0; + } + if(fabs(tmp56) < 1e-10 && ((unsigned long)tmp55 & 1)) + { + tmp52 = -pow(-tmp50, tmp53)*pow(tmp50, tmp54); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp50, tmp51); + } + } + } + else + { + tmp52 = pow(tmp50, tmp51); + } + if(isnan(tmp52) || isinf(tmp52)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp50, tmp51); + } + data->localData[0]->realVars[146] /* MaterialStream2._Pbubl variable */ = (data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */) * (exp(data->simulationInfo->realParameter[764] + (data->simulationInfo->realParameter[765]) / tmp41 + (data->simulationInfo->realParameter[766]) * (5.940171252720432) + (data->simulationInfo->realParameter[767]) * (tmp44))) + (data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */) * (exp(data->simulationInfo->realParameter[770] + (data->simulationInfo->realParameter[771]) / tmp49 + (data->simulationInfo->realParameter[772]) * (5.940171252720432) + (data->simulationInfo->realParameter[773]) * (tmp52))); + TRACE_POP +} + +/* + equation index: 359 + type: SIMPLE_ASSIGN + MaterialStream2._Pdew = DIVISION(1.0, MaterialStream2.x_pc[1,1] * exp((-MaterialStream2.C[1].VP[2]) - MaterialStream2.C[1].VP[3] / 380.0 - MaterialStream2.C[1].VP[4] * 5.940171252720432 - MaterialStream2.C[1].VP[5] * 380.0 ^ MaterialStream2.C[1].VP[6]) + MaterialStream2.x_pc[1,2] * exp((-MaterialStream2.C[2].VP[2]) - MaterialStream2.C[2].VP[3] / 380.0 - MaterialStream2.C[2].VP[4] * 5.940171252720432 - MaterialStream2.C[2].VP[5] * 380.0 ^ MaterialStream2.C[2].VP[6])) + */ +void Flowsheet_eqFunction_359(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,359}; + modelica_real tmp57; + modelica_real tmp58; + modelica_real tmp59; + modelica_real tmp60; + modelica_real tmp61; + modelica_real tmp62; + modelica_real tmp63; + modelica_real tmp64; + modelica_real tmp65; + modelica_real tmp66; + modelica_real tmp67; + modelica_real tmp68; + modelica_real tmp69; + modelica_real tmp70; + modelica_real tmp71; + modelica_real tmp72; + tmp57 = 380.0; + if (tmp57 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.C[1].VP[3] / 380.0");} + tmp58 = 380.0; + tmp59 = data->simulationInfo->realParameter[768]; + if(tmp58 < 0.0 && tmp59 != 0.0) + { + tmp61 = modf(tmp59, &tmp62); + + if(tmp61 > 0.5) + { + tmp61 -= 1.0; + tmp62 += 1.0; + } + else if(tmp61 < -0.5) + { + tmp61 += 1.0; + tmp62 -= 1.0; + } + + if(fabs(tmp61) < 1e-10) + tmp60 = pow(tmp58, tmp62); + else + { + tmp64 = modf(1.0/tmp59, &tmp63); + if(tmp64 > 0.5) + { + tmp64 -= 1.0; + tmp63 += 1.0; + } + else if(tmp64 < -0.5) + { + tmp64 += 1.0; + tmp63 -= 1.0; + } + if(fabs(tmp64) < 1e-10 && ((unsigned long)tmp63 & 1)) + { + tmp60 = -pow(-tmp58, tmp61)*pow(tmp58, tmp62); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp58, tmp59); + } + } + } + else + { + tmp60 = pow(tmp58, tmp59); + } + if(isnan(tmp60) || isinf(tmp60)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp58, tmp59); + }tmp65 = 380.0; + if (tmp65 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream2.C[2].VP[3] / 380.0");} + tmp66 = 380.0; + tmp67 = data->simulationInfo->realParameter[774]; + if(tmp66 < 0.0 && tmp67 != 0.0) + { + tmp69 = modf(tmp67, &tmp70); + + if(tmp69 > 0.5) + { + tmp69 -= 1.0; + tmp70 += 1.0; + } + else if(tmp69 < -0.5) + { + tmp69 += 1.0; + tmp70 -= 1.0; + } + + if(fabs(tmp69) < 1e-10) + tmp68 = pow(tmp66, tmp70); + else + { + tmp72 = modf(1.0/tmp67, &tmp71); + if(tmp72 > 0.5) + { + tmp72 -= 1.0; + tmp71 += 1.0; + } + else if(tmp72 < -0.5) + { + tmp72 += 1.0; + tmp71 -= 1.0; + } + if(fabs(tmp72) < 1e-10 && ((unsigned long)tmp71 & 1)) + { + tmp68 = -pow(-tmp66, tmp69)*pow(tmp66, tmp70); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp66, tmp67); + } + } + } + else + { + tmp68 = pow(tmp66, tmp67); + } + if(isnan(tmp68) || isinf(tmp68)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp66, tmp67); + } + data->localData[0]->realVars[147] /* MaterialStream2._Pdew variable */ = DIVISION_SIM(1.0,(data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */) * (exp((-data->simulationInfo->realParameter[764]) - ((data->simulationInfo->realParameter[765]) / tmp57) - ((data->simulationInfo->realParameter[766]) * (5.940171252720432)) - ((data->simulationInfo->realParameter[767]) * (tmp60)))) + (data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */) * (exp((-data->simulationInfo->realParameter[770]) - ((data->simulationInfo->realParameter[771]) / tmp65) - ((data->simulationInfo->realParameter[772]) * (5.940171252720432)) - ((data->simulationInfo->realParameter[773]) * (tmp68)))),"MaterialStream2.x_pc[1,1] * exp((-MaterialStream2.C[1].VP[2]) - MaterialStream2.C[1].VP[3] / 380.0 - MaterialStream2.C[1].VP[4] * 5.940171252720432 - MaterialStream2.C[1].VP[5] * 380.0 ^ MaterialStream2.C[1].VP[6]) + MaterialStream2.x_pc[1,2] * exp((-MaterialStream2.C[2].VP[2]) - MaterialStream2.C[2].VP[3] / 380.0 - MaterialStream2.C[2].VP[4] * 5.940171252720432 - MaterialStream2.C[2].VP[5] * 380.0 ^ MaterialStream2.C[2].VP[6])",equationIndexes); + TRACE_POP +} + +void Flowsheet_eqFunction_360(DATA*,threadData_t*); +void Flowsheet_eqFunction_361(DATA*,threadData_t*); +void Flowsheet_eqFunction_362(DATA*,threadData_t*); +void Flowsheet_eqFunction_367(DATA*,threadData_t*); +void Flowsheet_eqFunction_366(DATA*,threadData_t*); +void Flowsheet_eqFunction_365(DATA*,threadData_t*); +void Flowsheet_eqFunction_364(DATA*,threadData_t*); +void Flowsheet_eqFunction_363(DATA*,threadData_t*); +/* + equation index: 376 + indexNonlinear: 6 + type: NONLINEAR + + vars: {MaterialStream2._xliq, MaterialStream2._x_pc[2,2], MaterialStream2._x_pc[2,1], MaterialStream2._x_pc[3,1], MaterialStream2._x_pc[3,2]} + eqns: {360, 361, 362, 367, 366, 365, 364, 363} + */ +void Flowsheet_eqFunction_376(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,376}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 376 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[6].nlsxOld[0] = data->localData[0]->realVars[178] /* MaterialStream2._xliq variable */; + data->simulationInfo->nonlinearSystemData[6].nlsxOld[1] = data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */; + data->simulationInfo->nonlinearSystemData[6].nlsxOld[2] = data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */; + data->simulationInfo->nonlinearSystemData[6].nlsxOld[3] = data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */; + data->simulationInfo->nonlinearSystemData[6].nlsxOld[4] = data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */; + retValue = solve_nonlinear_system(data, threadData, 6); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,376}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 376 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->localData[0]->realVars[178] /* MaterialStream2._xliq variable */ = data->simulationInfo->nonlinearSystemData[6].nlsx[0]; + data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */ = data->simulationInfo->nonlinearSystemData[6].nlsx[1]; + data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */ = data->simulationInfo->nonlinearSystemData[6].nlsx[2]; + data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */ = data->simulationInfo->nonlinearSystemData[6].nlsx[3]; + data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */ = data->simulationInfo->nonlinearSystemData[6].nlsx[4]; + TRACE_POP +} + +/* + equation index: 377 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_p[2] = MaterialStream2.x_pc[2,1] * MaterialStream2.Cp_pc[2,1] + MaterialStream2.x_pc[2,2] * MaterialStream2.Cp_pc[2,2] + */ +void Flowsheet_eqFunction_377(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,377}; + data->localData[0]->realVars[101] /* MaterialStream2._Cp_p[2] variable */ = (data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */) * (data->localData[0]->realVars[105] /* MaterialStream2._Cp_pc[2,1] variable */) + (data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */) * (data->localData[0]->realVars[106] /* MaterialStream2._Cp_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 378 + type: SIMPLE_ASSIGN + MaterialStream2._H_p[2] = MaterialStream2.x_pc[2,1] * MaterialStream2.H_pc[2,1] + MaterialStream2.x_pc[2,2] * MaterialStream2.H_pc[2,2] + */ +void Flowsheet_eqFunction_378(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,378}; + data->localData[0]->realVars[130] /* MaterialStream2._H_p[2] variable */ = (data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */) * (data->localData[0]->realVars[134] /* MaterialStream2._H_pc[2,1] variable */) + (data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */) * (data->localData[0]->realVars[135] /* MaterialStream2._H_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 379 + type: ALGORITHM + + (MaterialStream2.S_pc[2,1], MaterialStream2.S_pc[3,1]) := Simulator.Files.ThermodynamicFunctions.SId({MaterialStream2.C[1].VapCp[1], MaterialStream2.C[1].VapCp[2], MaterialStream2.C[1].VapCp[3], MaterialStream2.C[1].VapCp[4], MaterialStream2.C[1].VapCp[5], MaterialStream2.C[1].VapCp[6]}, {MaterialStream2.C[1].HOV[1], MaterialStream2.C[1].HOV[2], MaterialStream2.C[1].HOV[3], MaterialStream2.C[1].HOV[4], MaterialStream2.C[1].HOV[5], MaterialStream2.C[1].HOV[6]}, MaterialStream2.C[1].Tb, MaterialStream2.C[1].Tc, 380.0, Heater1.Pout, MaterialStream2.x_pc[2,1], MaterialStream2.x_pc[3,1]); + */ +void Flowsheet_eqFunction_379(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,379}; + real_array tmp0; + real_array tmp1; + array_alloc_scalar_real_array(&tmp0, 6, (modelica_real)data->simulationInfo->realParameter[775], (modelica_real)data->simulationInfo->realParameter[776], (modelica_real)data->simulationInfo->realParameter[777], (modelica_real)data->simulationInfo->realParameter[778], (modelica_real)data->simulationInfo->realParameter[779], (modelica_real)data->simulationInfo->realParameter[780]); + array_alloc_scalar_real_array(&tmp1, 6, (modelica_real)data->simulationInfo->realParameter[675], (modelica_real)data->simulationInfo->realParameter[676], (modelica_real)data->simulationInfo->realParameter[677], (modelica_real)data->simulationInfo->realParameter[678], (modelica_real)data->simulationInfo->realParameter[679], (modelica_real)data->simulationInfo->realParameter[680]); + data->localData[0]->realVars[155] /* MaterialStream2._S_pc[2,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_SId(threadData, tmp0, tmp1, data->simulationInfo->realParameter[753], data->simulationInfo->realParameter[755], 380.0, data->localData[0]->realVars[4] /* Heater1._Pout variable */, data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */, data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */ ,&data->localData[0]->realVars[157] /* MaterialStream2._S_pc[3,1] variable */); + TRACE_POP +} + +/* + equation index: 380 + type: ALGORITHM + + (MaterialStream2.S_pc[2,2], MaterialStream2.S_pc[3,2]) := Simulator.Files.ThermodynamicFunctions.SId({MaterialStream2.C[2].VapCp[1], MaterialStream2.C[2].VapCp[2], MaterialStream2.C[2].VapCp[3], MaterialStream2.C[2].VapCp[4], MaterialStream2.C[2].VapCp[5], MaterialStream2.C[2].VapCp[6]}, {MaterialStream2.C[2].HOV[1], MaterialStream2.C[2].HOV[2], MaterialStream2.C[2].HOV[3], MaterialStream2.C[2].HOV[4], MaterialStream2.C[2].HOV[5], MaterialStream2.C[2].HOV[6]}, MaterialStream2.C[2].Tb, MaterialStream2.C[2].Tc, 380.0, Heater1.Pout, MaterialStream2.x_pc[2,2], MaterialStream2.x_pc[3,2]); + */ +void Flowsheet_eqFunction_380(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,380}; + real_array tmp2; + real_array tmp3; + array_alloc_scalar_real_array(&tmp2, 6, (modelica_real)data->simulationInfo->realParameter[781], (modelica_real)data->simulationInfo->realParameter[782], (modelica_real)data->simulationInfo->realParameter[783], (modelica_real)data->simulationInfo->realParameter[784], (modelica_real)data->simulationInfo->realParameter[785], (modelica_real)data->simulationInfo->realParameter[786]); + array_alloc_scalar_real_array(&tmp3, 6, (modelica_real)data->simulationInfo->realParameter[681], (modelica_real)data->simulationInfo->realParameter[682], (modelica_real)data->simulationInfo->realParameter[683], (modelica_real)data->simulationInfo->realParameter[684], (modelica_real)data->simulationInfo->realParameter[685], (modelica_real)data->simulationInfo->realParameter[686]); + data->localData[0]->realVars[156] /* MaterialStream2._S_pc[2,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_SId(threadData, tmp2, tmp3, data->simulationInfo->realParameter[754], data->simulationInfo->realParameter[756], 380.0, data->localData[0]->realVars[4] /* Heater1._Pout variable */, data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */, data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */ ,&data->localData[0]->realVars[158] /* MaterialStream2._S_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 381 + type: SIMPLE_ASSIGN + MaterialStream2._S_p[2] = MaterialStream2.x_pc[2,1] * MaterialStream2.S_pc[2,1] + MaterialStream2.x_pc[2,2] * MaterialStream2.S_pc[2,2] + */ +void Flowsheet_eqFunction_381(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,381}; + data->localData[0]->realVars[151] /* MaterialStream2._S_p[2] variable */ = (data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */) * (data->localData[0]->realVars[155] /* MaterialStream2._S_pc[2,1] variable */) + (data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */) * (data->localData[0]->realVars[156] /* MaterialStream2._S_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 382 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_p[3] = MaterialStream2.x_pc[3,1] * MaterialStream2.Cp_pc[3,1] + MaterialStream2.x_pc[3,2] * MaterialStream2.Cp_pc[3,2] + */ +void Flowsheet_eqFunction_382(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,382}; + data->localData[0]->realVars[102] /* MaterialStream2._Cp_p[3] variable */ = (data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */) * (data->localData[0]->realVars[107] /* MaterialStream2._Cp_pc[3,1] variable */) + (data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */) * (data->localData[0]->realVars[108] /* MaterialStream2._Cp_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 383 + type: SIMPLE_ASSIGN + MaterialStream2._H_p[3] = MaterialStream2.x_pc[3,1] * MaterialStream2.H_pc[3,1] + MaterialStream2.x_pc[3,2] * MaterialStream2.H_pc[3,2] + */ +void Flowsheet_eqFunction_383(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,383}; + data->localData[0]->realVars[131] /* MaterialStream2._H_p[3] variable */ = (data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */) * (data->localData[0]->realVars[136] /* MaterialStream2._H_pc[3,1] variable */) + (data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */) * (data->localData[0]->realVars[137] /* MaterialStream2._H_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 384 + type: SIMPLE_ASSIGN + MaterialStream2._S_p[3] = MaterialStream2.x_pc[3,1] * MaterialStream2.S_pc[3,1] + MaterialStream2.x_pc[3,2] * MaterialStream2.S_pc[3,2] + */ +void Flowsheet_eqFunction_384(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,384}; + data->localData[0]->realVars[152] /* MaterialStream2._S_p[3] variable */ = (data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */) * (data->localData[0]->realVars[157] /* MaterialStream2._S_pc[3,1] variable */) + (data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */) * (data->localData[0]->realVars[158] /* MaterialStream2._S_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 385 + type: SIMPLE_ASSIGN + MaterialStream2._F_pc[2,1] = MaterialStream2.x_pc[2,1] * MaterialStream2.F_p[2] + */ +void Flowsheet_eqFunction_385(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,385}; + data->localData[0]->realVars[116] /* MaterialStream2._F_pc[2,1] variable */ = (data->localData[0]->realVars[174] /* MaterialStream2._x_pc[2,1] variable */) * (data->localData[0]->realVars[112] /* MaterialStream2._F_p[2] variable */); + TRACE_POP +} + +/* + equation index: 386 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_pc[2,1] = MaterialStream2.F_pc[2,1] * MaterialStream2.C[1].MW + */ +void Flowsheet_eqFunction_386(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,386}; + data->localData[0]->realVars[125] /* MaterialStream2._Fm_pc[2,1] variable */ = (data->localData[0]->realVars[116] /* MaterialStream2._F_pc[2,1] variable */) * (data->simulationInfo->realParameter[739]); + TRACE_POP +} + +/* + equation index: 387 + type: SIMPLE_ASSIGN + MaterialStream2._F_pc[2,2] = MaterialStream2.x_pc[2,2] * MaterialStream2.F_p[2] + */ +void Flowsheet_eqFunction_387(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,387}; + data->localData[0]->realVars[117] /* MaterialStream2._F_pc[2,2] variable */ = (data->localData[0]->realVars[175] /* MaterialStream2._x_pc[2,2] variable */) * (data->localData[0]->realVars[112] /* MaterialStream2._F_p[2] variable */); + TRACE_POP +} + +/* + equation index: 388 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_pc[2,2] = MaterialStream2.F_pc[2,2] * MaterialStream2.C[2].MW + */ +void Flowsheet_eqFunction_388(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,388}; + data->localData[0]->realVars[126] /* MaterialStream2._Fm_pc[2,2] variable */ = (data->localData[0]->realVars[117] /* MaterialStream2._F_pc[2,2] variable */) * (data->simulationInfo->realParameter[740]); + TRACE_POP +} + +/* + equation index: 389 + type: SIMPLE_ASSIGN + MaterialStream2._F_pc[3,1] = MaterialStream2.x_pc[3,1] * MaterialStream2.F_p[3] + */ +void Flowsheet_eqFunction_389(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,389}; + data->localData[0]->realVars[118] /* MaterialStream2._F_pc[3,1] variable */ = (data->localData[0]->realVars[176] /* MaterialStream2._x_pc[3,1] variable */) * (data->localData[0]->realVars[113] /* MaterialStream2._F_p[3] variable */); + TRACE_POP +} + +/* + equation index: 390 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_pc[3,1] = MaterialStream2.F_pc[3,1] * MaterialStream2.C[1].MW + */ +void Flowsheet_eqFunction_390(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,390}; + data->localData[0]->realVars[127] /* MaterialStream2._Fm_pc[3,1] variable */ = (data->localData[0]->realVars[118] /* MaterialStream2._F_pc[3,1] variable */) * (data->simulationInfo->realParameter[739]); + TRACE_POP +} + +/* + equation index: 391 + type: SIMPLE_ASSIGN + MaterialStream2._F_pc[3,2] = MaterialStream2.x_pc[3,2] * MaterialStream2.F_p[3] + */ +void Flowsheet_eqFunction_391(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,391}; + data->localData[0]->realVars[119] /* MaterialStream2._F_pc[3,2] variable */ = (data->localData[0]->realVars[177] /* MaterialStream2._x_pc[3,2] variable */) * (data->localData[0]->realVars[113] /* MaterialStream2._F_p[3] variable */); + TRACE_POP +} + +/* + equation index: 392 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_pc[3,2] = MaterialStream2.F_pc[3,2] * MaterialStream2.C[2].MW + */ +void Flowsheet_eqFunction_392(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,392}; + data->localData[0]->realVars[128] /* MaterialStream2._Fm_pc[3,2] variable */ = (data->localData[0]->realVars[119] /* MaterialStream2._F_pc[3,2] variable */) * (data->simulationInfo->realParameter[740]); + TRACE_POP +} + +/* + equation index: 393 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_p[1] = MaterialStream2.xliq * MaterialStream2.Cp_p[2] + Heater1.xvapout * MaterialStream2.Cp_p[3] + */ +void Flowsheet_eqFunction_393(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,393}; + data->localData[0]->realVars[100] /* MaterialStream2._Cp_p[1] variable */ = (data->localData[0]->realVars[178] /* MaterialStream2._xliq variable */) * (data->localData[0]->realVars[101] /* MaterialStream2._Cp_p[2] variable */) + (data->localData[0]->realVars[9] /* Heater1._xvapout variable */) * (data->localData[0]->realVars[102] /* MaterialStream2._Cp_p[3] variable */); + TRACE_POP +} + +/* + equation index: 394 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_pc[1,1] = MaterialStream2.x_pc[1,1] * MaterialStream2.Cp_p[1] + */ +void Flowsheet_eqFunction_394(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,394}; + data->localData[0]->realVars[103] /* MaterialStream2._Cp_pc[1,1] variable */ = (data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */) * (data->localData[0]->realVars[100] /* MaterialStream2._Cp_p[1] variable */); + TRACE_POP +} + +/* + equation index: 395 + type: SIMPLE_ASSIGN + MaterialStream2._Cp_pc[1,2] = MaterialStream2.x_pc[1,2] * MaterialStream2.Cp_p[1] + */ +void Flowsheet_eqFunction_395(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,395}; + data->localData[0]->realVars[104] /* MaterialStream2._Cp_pc[1,2] variable */ = (data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */) * (data->localData[0]->realVars[100] /* MaterialStream2._Cp_p[1] variable */); + TRACE_POP +} + +/* + equation index: 396 + type: SIMPLE_ASSIGN + MaterialStream2._H_p[1] = MaterialStream2.xliq * MaterialStream2.H_p[2] + Heater1.xvapout * MaterialStream2.H_p[3] + */ +void Flowsheet_eqFunction_396(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,396}; + data->localData[0]->realVars[129] /* MaterialStream2._H_p[1] variable */ = (data->localData[0]->realVars[178] /* MaterialStream2._xliq variable */) * (data->localData[0]->realVars[130] /* MaterialStream2._H_p[2] variable */) + (data->localData[0]->realVars[9] /* Heater1._xvapout variable */) * (data->localData[0]->realVars[131] /* MaterialStream2._H_p[3] variable */); + TRACE_POP +} + +/* + equation index: 397 + type: SIMPLE_ASSIGN + MaterialStream2._H_pc[1,1] = MaterialStream2.x_pc[1,1] * MaterialStream2.H_p[1] + */ +void Flowsheet_eqFunction_397(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,397}; + data->localData[0]->realVars[132] /* MaterialStream2._H_pc[1,1] variable */ = (data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */) * (data->localData[0]->realVars[129] /* MaterialStream2._H_p[1] variable */); + TRACE_POP +} + +/* + equation index: 398 + type: SIMPLE_ASSIGN + MaterialStream2._H_pc[1,2] = MaterialStream2.x_pc[1,2] * MaterialStream2.H_p[1] + */ +void Flowsheet_eqFunction_398(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,398}; + data->localData[0]->realVars[133] /* MaterialStream2._H_pc[1,2] variable */ = (data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */) * (data->localData[0]->realVars[129] /* MaterialStream2._H_p[1] variable */); + TRACE_POP +} + +/* + equation index: 399 + type: SIMPLE_ASSIGN + MaterialStream2._S_p[1] = MaterialStream2.xliq * MaterialStream2.S_p[2] + Heater1.xvapout * MaterialStream2.S_p[3] + */ +void Flowsheet_eqFunction_399(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,399}; + data->localData[0]->realVars[150] /* MaterialStream2._S_p[1] variable */ = (data->localData[0]->realVars[178] /* MaterialStream2._xliq variable */) * (data->localData[0]->realVars[151] /* MaterialStream2._S_p[2] variable */) + (data->localData[0]->realVars[9] /* Heater1._xvapout variable */) * (data->localData[0]->realVars[152] /* MaterialStream2._S_p[3] variable */); + TRACE_POP +} + +/* + equation index: 400 + type: SIMPLE_ASSIGN + MaterialStream2._S_pc[1,1] = MaterialStream2.x_pc[1,1] * MaterialStream2.S_p[1] + */ +void Flowsheet_eqFunction_400(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,400}; + data->localData[0]->realVars[153] /* MaterialStream2._S_pc[1,1] variable */ = (data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */) * (data->localData[0]->realVars[150] /* MaterialStream2._S_p[1] variable */); + TRACE_POP +} + +/* + equation index: 401 + type: SIMPLE_ASSIGN + MaterialStream2._S_pc[1,2] = MaterialStream2.x_pc[1,2] * MaterialStream2.S_p[1] + */ +void Flowsheet_eqFunction_401(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,401}; + data->localData[0]->realVars[154] /* MaterialStream2._S_pc[1,2] variable */ = (data->localData[0]->realVars[173] /* MaterialStream2._x_pc[1,2] variable */) * (data->localData[0]->realVars[150] /* MaterialStream2._S_p[1] variable */); + TRACE_POP +} + +/* + equation index: 402 + type: ALGORITHM + + for i in 1:2 loop + MaterialStream2.MW_p[:] := {MaterialStream2.MW_p[1] + MaterialStream2.x_pc[1,i] * MaterialStream2.C[i].MW, MaterialStream2.MW_p[2] + MaterialStream2.x_pc[2,i] * MaterialStream2.C[i].MW, MaterialStream2.MW_p[3] + MaterialStream2.x_pc[3,i] * MaterialStream2.C[i].MW}; + end for; + */ +void Flowsheet_eqFunction_402(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,402}; + real_array tmp4; + index_spec_t tmp5; + real_array tmp6; + modelica_integer tmp7; + modelica_integer tmp8; + modelica_integer tmp9; + tmp7 = ((modelica_integer) 1); tmp8 = 1; tmp9 = ((modelica_integer) 2); + if(!tmp8) + { + FILE_INFO info = omc_dummyFileInfo; + omc_assert_withEquationIndexes(threadData, info, equationIndexes, "assertion range step != 0 failed"); + } + else if(!(((tmp8 > 0) && (tmp7 > tmp9)) || ((tmp8 < 0) && (tmp7 < tmp9)))) + { + modelica_integer $Pi; + for($Pi = ((modelica_integer) 1); in_range_integer($Pi, tmp7, tmp9); $Pi += tmp8) + { + array_alloc_scalar_real_array(&tmp4, 3, (modelica_real)data->localData[0]->realVars[143] /* MaterialStream2._MW_p[1] variable */ + ((&data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */)[calc_base_index_dims_subs(2, 3, 2, ((modelica_integer) 1), (modelica_integer)$Pi)]) * ((&data->simulationInfo->realParameter[739])[calc_base_index_dims_subs(1, 2, (modelica_integer)$Pi)]), (modelica_real)data->localData[0]->realVars[144] /* MaterialStream2._MW_p[2] variable */ + ((&data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */)[calc_base_index_dims_subs(2, 3, 2, ((modelica_integer) 2), (modelica_integer)$Pi)]) * ((&data->simulationInfo->realParameter[739])[calc_base_index_dims_subs(1, 2, (modelica_integer)$Pi)]), (modelica_real)data->localData[0]->realVars[145] /* MaterialStream2._MW_p[3] variable */ + ((&data->localData[0]->realVars[172] /* MaterialStream2._x_pc[1,1] variable */)[calc_base_index_dims_subs(2, 3, 2, ((modelica_integer) 3), (modelica_integer)$Pi)]) * ((&data->simulationInfo->realParameter[739])[calc_base_index_dims_subs(1, 2, (modelica_integer)$Pi)])); + create_index_spec(&tmp5, 1, (1), (int*)0, 'W'); + real_array_create(&tmp6, (modelica_real*)&data->localData[0]->realVars[143] /* MaterialStream2._MW_p[1] variable */, 1, 3); + indexed_assign_real_array(tmp4, &tmp6, &tmp5); + } + } + TRACE_POP +} + +/* + equation index: 403 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_p[3] = MaterialStream2.F_p[3] * MaterialStream2.MW_p[3] + */ +void Flowsheet_eqFunction_403(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,403}; + data->localData[0]->realVars[122] /* MaterialStream2._Fm_p[3] variable */ = (data->localData[0]->realVars[113] /* MaterialStream2._F_p[3] variable */) * (data->localData[0]->realVars[145] /* MaterialStream2._MW_p[3] variable */); + TRACE_POP +} + +/* + equation index: 404 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_p[1] = 100.0 * MaterialStream2.MW_p[1] + */ +void Flowsheet_eqFunction_404(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,404}; + data->localData[0]->realVars[120] /* MaterialStream2._Fm_p[1] variable */ = (100.0) * (data->localData[0]->realVars[143] /* MaterialStream2._MW_p[1] variable */); + TRACE_POP +} + +/* + equation index: 405 + type: SIMPLE_ASSIGN + MaterialStream2._xm_pc[1,2] = DIVISION(MaterialStream2.Fm_pc[1,2], MaterialStream2.Fm_p[1]) + */ +void Flowsheet_eqFunction_405(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,405}; + data->localData[0]->realVars[180] /* MaterialStream2._xm_pc[1,2] variable */ = DIVISION_SIM(data->localData[0]->realVars[124] /* MaterialStream2._Fm_pc[1,2] variable */,data->localData[0]->realVars[120] /* MaterialStream2._Fm_p[1] variable */,"MaterialStream2.Fm_p[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 406 + type: SIMPLE_ASSIGN + MaterialStream2._xmvap = DIVISION(MaterialStream2.Fm_p[3], MaterialStream2.Fm_p[1]) + */ +void Flowsheet_eqFunction_406(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,406}; + data->localData[0]->realVars[186] /* MaterialStream2._xmvap variable */ = DIVISION_SIM(data->localData[0]->realVars[122] /* MaterialStream2._Fm_p[3] variable */,data->localData[0]->realVars[120] /* MaterialStream2._Fm_p[1] variable */,"MaterialStream2.Fm_p[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 407 + type: SIMPLE_ASSIGN + MaterialStream2._Fm_p[2] = MaterialStream2.F_p[2] * MaterialStream2.MW_p[2] + */ +void Flowsheet_eqFunction_407(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,407}; + data->localData[0]->realVars[121] /* MaterialStream2._Fm_p[2] variable */ = (data->localData[0]->realVars[112] /* MaterialStream2._F_p[2] variable */) * (data->localData[0]->realVars[144] /* MaterialStream2._MW_p[2] variable */); + TRACE_POP +} + +/* + equation index: 408 + type: LINEAR + + <var>MaterialStream2._xm_pc[3,2]</var> + <var>MaterialStream2._xm_pc[2,2]</var> + <var>MaterialStream2._xm_pc[1,1]</var> + <var>MaterialStream2._xm_pc[3,1]</var> + <var>MaterialStream2._xm_pc[2,1]</var> + <row> + <cell>if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then MaterialStream2.Fm_pc[2,1] else 0.0</cell> + <cell>if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then MaterialStream2.Fm_pc[1,1] else 0.0</cell> + <cell>if Heater1.Pout >= MaterialStream2.Pbubl then MaterialStream2.Fm_pc[1,1] else if Heater1.Pout >= MaterialStream2.Pdew then MaterialStream2.Fm_pc[3,1] else MaterialStream2.Fm_pc[1,1]</cell> + <cell>if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then MaterialStream2.Fm_pc[2,2] else 0.0</cell> + <cell>if Heater1.Pout >= MaterialStream2.Pbubl then -MaterialStream2.xm_pc[1,2] else if Heater1.Pout >= MaterialStream2.Pdew then MaterialStream2.Fm_pc[3,2] else -MaterialStream2.xm_pc[1,2]</cell> + </row> + <matrix> + <cell row="0" col="0"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 1.0 else -0.0)</residual> + </cell><cell row="0" col="1"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -0.0 else 1.0)</residual> + </cell><cell row="0" col="4"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -MaterialStream2.Fm_p[2] else 0.0)</residual> + </cell><cell row="1" col="2"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -MaterialStream2.Fm_p[1] else 0.0)</residual> + </cell><cell row="1" col="3"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 1.0 else -0.0)</residual> + </cell><cell row="1" col="4"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -0.0 else 1.0)</residual> + </cell><cell row="2" col="2"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then -MaterialStream2.Fm_p[1] else if Heater1.Pout >= MaterialStream2.Pdew then -0.0 else -MaterialStream2.Fm_p[1])</residual> + </cell><cell row="2" col="3"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then -0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -MaterialStream2.Fm_p[3] else -0.0)</residual> + </cell><cell row="3" col="1"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -MaterialStream2.Fm_p[2] else 0.0)</residual> + </cell><cell row="3" col="2"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then -1.0 else if Heater1.Pout >= MaterialStream2.Pdew then -0.0 else -1.0)</residual> + </cell><cell row="3" col="3"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -0.0 else 1.0)</residual> + </cell><cell row="3" col="4"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 1.0 else -0.0)</residual> + </cell><cell row="4" col="0"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 0.0 else if Heater1.Pout >= MaterialStream2.Pdew then -MaterialStream2.Fm_p[3] else 1.0)</residual> + </cell><cell row="4" col="1"> + <residual>-(if Heater1.Pout >= MaterialStream2.Pbubl then 1.0 else -0.0)</residual> + </cell> + </matrix> + */ +void Flowsheet_eqFunction_408(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,408}; + /* Linear equation system */ + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving linear system 408 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + data->simulationInfo->linearSystemData[3].x[0] = data->localData[1]->realVars[184] /* MaterialStream2._xm_pc[3,2] variable */; + data->simulationInfo->linearSystemData[3].x[1] = data->localData[1]->realVars[182] /* MaterialStream2._xm_pc[2,2] variable */; + data->simulationInfo->linearSystemData[3].x[2] = data->localData[1]->realVars[179] /* MaterialStream2._xm_pc[1,1] variable */; + data->simulationInfo->linearSystemData[3].x[3] = data->localData[1]->realVars[183] /* MaterialStream2._xm_pc[3,1] variable */; + data->simulationInfo->linearSystemData[3].x[4] = data->localData[1]->realVars[181] /* MaterialStream2._xm_pc[2,1] variable */; + retValue = solve_linear_system(data, threadData, 3); + + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,408}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving linear system 408 failed at time=%.15g.\nFor more information please use -lv LOG_LS.", data->localData[0]->timeValue); + } + /* write solution */ + data->localData[0]->realVars[184] /* MaterialStream2._xm_pc[3,2] variable */ = data->simulationInfo->linearSystemData[3].x[0]; + data->localData[0]->realVars[182] /* MaterialStream2._xm_pc[2,2] variable */ = data->simulationInfo->linearSystemData[3].x[1]; + data->localData[0]->realVars[179] /* MaterialStream2._xm_pc[1,1] variable */ = data->simulationInfo->linearSystemData[3].x[2]; + data->localData[0]->realVars[183] /* MaterialStream2._xm_pc[3,1] variable */ = data->simulationInfo->linearSystemData[3].x[3]; + data->localData[0]->realVars[181] /* MaterialStream2._xm_pc[2,1] variable */ = data->simulationInfo->linearSystemData[3].x[4]; + TRACE_POP +} + +/* + equation index: 409 + type: SIMPLE_ASSIGN + MaterialStream2._xmliq = DIVISION(MaterialStream2.Fm_p[2], MaterialStream2.Fm_p[1]) + */ +void Flowsheet_eqFunction_409(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,409}; + data->localData[0]->realVars[185] /* MaterialStream2._xmliq variable */ = DIVISION_SIM(data->localData[0]->realVars[121] /* MaterialStream2._Fm_p[2] variable */,data->localData[0]->realVars[120] /* MaterialStream2._Fm_p[1] variable */,"MaterialStream2.Fm_p[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 410 + type: SIMPLE_ASSIGN + MaterialStream1._F_pc[1,2] = 100.0 * MaterialStream1.x_pc[1,2] + */ +void Flowsheet_eqFunction_410(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,410}; + data->localData[0]->realVars[26] /* MaterialStream1._F_pc[1,2] variable */ = (100.0) * (data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */); + TRACE_POP +} + +/* + equation index: 411 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_pc[1,2] = MaterialStream1.F_pc[1,2] * MaterialStream1.C[2].MW + */ +void Flowsheet_eqFunction_411(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,411}; + data->localData[0]->realVars[35] /* MaterialStream1._Fm_pc[1,2] variable */ = (data->localData[0]->realVars[26] /* MaterialStream1._F_pc[1,2] variable */) * (data->simulationInfo->realParameter[533]); + TRACE_POP +} + +/* + equation index: 412 + type: SIMPLE_ASSIGN + MaterialStream1._Pbubl = MaterialStream1.x_pc[1,1] * exp(MaterialStream1.C[1].VP[2] + MaterialStream1.C[1].VP[3] / 350.0 + MaterialStream1.C[1].VP[4] * 5.857933154483459 + MaterialStream1.C[1].VP[5] * 350.0 ^ MaterialStream1.C[1].VP[6]) + MaterialStream1.x_pc[1,2] * exp(MaterialStream1.C[2].VP[2] + MaterialStream1.C[2].VP[3] / 350.0 + MaterialStream1.C[2].VP[4] * 5.857933154483459 + MaterialStream1.C[2].VP[5] * 350.0 ^ MaterialStream1.C[2].VP[6]) + */ +void Flowsheet_eqFunction_412(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,412}; + modelica_real tmp10; + modelica_real tmp11; + modelica_real tmp12; + modelica_real tmp13; + modelica_real tmp14; + modelica_real tmp15; + modelica_real tmp16; + modelica_real tmp17; + modelica_real tmp18; + modelica_real tmp19; + modelica_real tmp20; + modelica_real tmp21; + modelica_real tmp22; + modelica_real tmp23; + modelica_real tmp24; + modelica_real tmp25; + tmp10 = 350.0; + if (tmp10 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.C[1].VP[3] / 350.0");} + tmp11 = 350.0; + tmp12 = data->simulationInfo->realParameter[561]; + if(tmp11 < 0.0 && tmp12 != 0.0) + { + tmp14 = modf(tmp12, &tmp15); + + if(tmp14 > 0.5) + { + tmp14 -= 1.0; + tmp15 += 1.0; + } + else if(tmp14 < -0.5) + { + tmp14 += 1.0; + tmp15 -= 1.0; + } + + if(fabs(tmp14) < 1e-10) + tmp13 = pow(tmp11, tmp15); + else + { + tmp17 = modf(1.0/tmp12, &tmp16); + if(tmp17 > 0.5) + { + tmp17 -= 1.0; + tmp16 += 1.0; + } + else if(tmp17 < -0.5) + { + tmp17 += 1.0; + tmp16 -= 1.0; + } + if(fabs(tmp17) < 1e-10 && ((unsigned long)tmp16 & 1)) + { + tmp13 = -pow(-tmp11, tmp14)*pow(tmp11, tmp15); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp11, tmp12); + } + } + } + else + { + tmp13 = pow(tmp11, tmp12); + } + if(isnan(tmp13) || isinf(tmp13)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp11, tmp12); + }tmp18 = 350.0; + if (tmp18 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.C[2].VP[3] / 350.0");} + tmp19 = 350.0; + tmp20 = data->simulationInfo->realParameter[567]; + if(tmp19 < 0.0 && tmp20 != 0.0) + { + tmp22 = modf(tmp20, &tmp23); + + if(tmp22 > 0.5) + { + tmp22 -= 1.0; + tmp23 += 1.0; + } + else if(tmp22 < -0.5) + { + tmp22 += 1.0; + tmp23 -= 1.0; + } + + if(fabs(tmp22) < 1e-10) + tmp21 = pow(tmp19, tmp23); + else + { + tmp25 = modf(1.0/tmp20, &tmp24); + if(tmp25 > 0.5) + { + tmp25 -= 1.0; + tmp24 += 1.0; + } + else if(tmp25 < -0.5) + { + tmp25 += 1.0; + tmp24 -= 1.0; + } + if(fabs(tmp25) < 1e-10 && ((unsigned long)tmp24 & 1)) + { + tmp21 = -pow(-tmp19, tmp22)*pow(tmp19, tmp23); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp19, tmp20); + } + } + } + else + { + tmp21 = pow(tmp19, tmp20); + } + if(isnan(tmp21) || isinf(tmp21)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp19, tmp20); + } + data->localData[0]->realVars[58] /* MaterialStream1._Pbubl variable */ = (data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */) * (exp(data->simulationInfo->realParameter[557] + (data->simulationInfo->realParameter[558]) / tmp10 + (data->simulationInfo->realParameter[559]) * (5.857933154483459) + (data->simulationInfo->realParameter[560]) * (tmp13))) + (data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */) * (exp(data->simulationInfo->realParameter[563] + (data->simulationInfo->realParameter[564]) / tmp18 + (data->simulationInfo->realParameter[565]) * (5.857933154483459) + (data->simulationInfo->realParameter[566]) * (tmp21))); + TRACE_POP +} + +/* + equation index: 413 + type: SIMPLE_ASSIGN + MaterialStream1._Pdew = DIVISION(1.0, MaterialStream1.x_pc[1,1] * exp((-MaterialStream1.C[1].VP[2]) - MaterialStream1.C[1].VP[3] / 350.0 - MaterialStream1.C[1].VP[4] * 5.857933154483459 - MaterialStream1.C[1].VP[5] * 350.0 ^ MaterialStream1.C[1].VP[6]) + MaterialStream1.x_pc[1,2] * exp((-MaterialStream1.C[2].VP[2]) - MaterialStream1.C[2].VP[3] / 350.0 - MaterialStream1.C[2].VP[4] * 5.857933154483459 - MaterialStream1.C[2].VP[5] * 350.0 ^ MaterialStream1.C[2].VP[6])) + */ +void Flowsheet_eqFunction_413(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,413}; + modelica_real tmp26; + modelica_real tmp27; + modelica_real tmp28; + modelica_real tmp29; + modelica_real tmp30; + modelica_real tmp31; + modelica_real tmp32; + modelica_real tmp33; + modelica_real tmp34; + modelica_real tmp35; + modelica_real tmp36; + modelica_real tmp37; + modelica_real tmp38; + modelica_real tmp39; + modelica_real tmp40; + modelica_real tmp41; + tmp26 = 350.0; + if (tmp26 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.C[1].VP[3] / 350.0");} + tmp27 = 350.0; + tmp28 = data->simulationInfo->realParameter[561]; + if(tmp27 < 0.0 && tmp28 != 0.0) + { + tmp30 = modf(tmp28, &tmp31); + + if(tmp30 > 0.5) + { + tmp30 -= 1.0; + tmp31 += 1.0; + } + else if(tmp30 < -0.5) + { + tmp30 += 1.0; + tmp31 -= 1.0; + } + + if(fabs(tmp30) < 1e-10) + tmp29 = pow(tmp27, tmp31); + else + { + tmp33 = modf(1.0/tmp28, &tmp32); + if(tmp33 > 0.5) + { + tmp33 -= 1.0; + tmp32 += 1.0; + } + else if(tmp33 < -0.5) + { + tmp33 += 1.0; + tmp32 -= 1.0; + } + if(fabs(tmp33) < 1e-10 && ((unsigned long)tmp32 & 1)) + { + tmp29 = -pow(-tmp27, tmp30)*pow(tmp27, tmp31); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp27, tmp28); + } + } + } + else + { + tmp29 = pow(tmp27, tmp28); + } + if(isnan(tmp29) || isinf(tmp29)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp27, tmp28); + }tmp34 = 350.0; + if (tmp34 == 0) {throwStreamPrint(threadData, "Division by zero %s", "MaterialStream1.C[2].VP[3] / 350.0");} + tmp35 = 350.0; + tmp36 = data->simulationInfo->realParameter[567]; + if(tmp35 < 0.0 && tmp36 != 0.0) + { + tmp38 = modf(tmp36, &tmp39); + + if(tmp38 > 0.5) + { + tmp38 -= 1.0; + tmp39 += 1.0; + } + else if(tmp38 < -0.5) + { + tmp38 += 1.0; + tmp39 -= 1.0; + } + + if(fabs(tmp38) < 1e-10) + tmp37 = pow(tmp35, tmp39); + else + { + tmp41 = modf(1.0/tmp36, &tmp40); + if(tmp41 > 0.5) + { + tmp41 -= 1.0; + tmp40 += 1.0; + } + else if(tmp41 < -0.5) + { + tmp41 += 1.0; + tmp40 -= 1.0; + } + if(fabs(tmp41) < 1e-10 && ((unsigned long)tmp40 & 1)) + { + tmp37 = -pow(-tmp35, tmp38)*pow(tmp35, tmp39); + } + else + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp35, tmp36); + } + } + } + else + { + tmp37 = pow(tmp35, tmp36); + } + if(isnan(tmp37) || isinf(tmp37)) + { + throwStreamPrint(threadData, "%s:%d: Invalid root: (%g)^(%g)", __FILE__, __LINE__, tmp35, tmp36); + } + data->localData[0]->realVars[59] /* MaterialStream1._Pdew variable */ = DIVISION_SIM(1.0,(data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */) * (exp((-data->simulationInfo->realParameter[557]) - ((data->simulationInfo->realParameter[558]) / tmp26) - ((data->simulationInfo->realParameter[559]) * (5.857933154483459)) - ((data->simulationInfo->realParameter[560]) * (tmp29)))) + (data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */) * (exp((-data->simulationInfo->realParameter[563]) - ((data->simulationInfo->realParameter[564]) / tmp34) - ((data->simulationInfo->realParameter[565]) * (5.857933154483459)) - ((data->simulationInfo->realParameter[566]) * (tmp37)))),"MaterialStream1.x_pc[1,1] * exp((-MaterialStream1.C[1].VP[2]) - MaterialStream1.C[1].VP[3] / 350.0 - MaterialStream1.C[1].VP[4] * 5.857933154483459 - MaterialStream1.C[1].VP[5] * 350.0 ^ MaterialStream1.C[1].VP[6]) + MaterialStream1.x_pc[1,2] * exp((-MaterialStream1.C[2].VP[2]) - MaterialStream1.C[2].VP[3] / 350.0 - MaterialStream1.C[2].VP[4] * 5.857933154483459 - MaterialStream1.C[2].VP[5] * 350.0 ^ MaterialStream1.C[2].VP[6])",equationIndexes); + TRACE_POP +} + +void Flowsheet_eqFunction_414(DATA*,threadData_t*); +void Flowsheet_eqFunction_415(DATA*,threadData_t*); +void Flowsheet_eqFunction_416(DATA*,threadData_t*); +void Flowsheet_eqFunction_421(DATA*,threadData_t*); +void Flowsheet_eqFunction_420(DATA*,threadData_t*); +void Flowsheet_eqFunction_419(DATA*,threadData_t*); +void Flowsheet_eqFunction_418(DATA*,threadData_t*); +void Flowsheet_eqFunction_417(DATA*,threadData_t*); +/* + equation index: 430 + indexNonlinear: 7 + type: NONLINEAR + + vars: {MaterialStream1._xliq, MaterialStream1._x_pc[2,1], MaterialStream1._x_pc[3,2], MaterialStream1._x_pc[2,2], MaterialStream1._x_pc[3,1]} + eqns: {414, 415, 416, 421, 420, 419, 418, 417} + */ +void Flowsheet_eqFunction_430(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,430}; + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving nonlinear system 430 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + /* get old value */ + data->simulationInfo->nonlinearSystemData[7].nlsxOld[0] = data->localData[0]->realVars[91] /* MaterialStream1._xliq variable */; + data->simulationInfo->nonlinearSystemData[7].nlsxOld[1] = data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */; + data->simulationInfo->nonlinearSystemData[7].nlsxOld[2] = data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */; + data->simulationInfo->nonlinearSystemData[7].nlsxOld[3] = data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */; + data->simulationInfo->nonlinearSystemData[7].nlsxOld[4] = data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */; + retValue = solve_nonlinear_system(data, threadData, 7); + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,430}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving non-linear system 430 failed at time=%.15g.\nFor more information please use -lv LOG_NLS.", data->localData[0]->timeValue); + } + /* write solution */ + data->localData[0]->realVars[91] /* MaterialStream1._xliq variable */ = data->simulationInfo->nonlinearSystemData[7].nlsx[0]; + data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */ = data->simulationInfo->nonlinearSystemData[7].nlsx[1]; + data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */ = data->simulationInfo->nonlinearSystemData[7].nlsx[2]; + data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */ = data->simulationInfo->nonlinearSystemData[7].nlsx[3]; + data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */ = data->simulationInfo->nonlinearSystemData[7].nlsx[4]; + TRACE_POP +} + +/* + equation index: 431 + type: SIMPLE_ASSIGN + MaterialStream1._F_pc[2,1] = MaterialStream1.x_pc[2,1] * MaterialStream1.F_p[2] + */ +void Flowsheet_eqFunction_431(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,431}; + data->localData[0]->realVars[27] /* MaterialStream1._F_pc[2,1] variable */ = (data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */) * (data->localData[0]->realVars[23] /* MaterialStream1._F_p[2] variable */); + TRACE_POP +} + +/* + equation index: 432 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_pc[2,1] = MaterialStream1.F_pc[2,1] * MaterialStream1.C[1].MW + */ +void Flowsheet_eqFunction_432(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,432}; + data->localData[0]->realVars[36] /* MaterialStream1._Fm_pc[2,1] variable */ = (data->localData[0]->realVars[27] /* MaterialStream1._F_pc[2,1] variable */) * (data->simulationInfo->realParameter[532]); + TRACE_POP +} + +/* + equation index: 433 + type: SIMPLE_ASSIGN + MaterialStream1._F_pc[3,2] = MaterialStream1.x_pc[3,2] * MaterialStream1.F_p[3] + */ +void Flowsheet_eqFunction_433(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,433}; + data->localData[0]->realVars[30] /* MaterialStream1._F_pc[3,2] variable */ = (data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */) * (data->localData[0]->realVars[24] /* MaterialStream1._F_p[3] variable */); + TRACE_POP +} + +/* + equation index: 434 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_pc[3,2] = MaterialStream1.F_pc[3,2] * MaterialStream1.C[2].MW + */ +void Flowsheet_eqFunction_434(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,434}; + data->localData[0]->realVars[39] /* MaterialStream1._Fm_pc[3,2] variable */ = (data->localData[0]->realVars[30] /* MaterialStream1._F_pc[3,2] variable */) * (data->simulationInfo->realParameter[533]); + TRACE_POP +} + +/* + equation index: 435 + type: SIMPLE_ASSIGN + MaterialStream1._F_pc[2,2] = MaterialStream1.x_pc[2,2] * MaterialStream1.F_p[2] + */ +void Flowsheet_eqFunction_435(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,435}; + data->localData[0]->realVars[28] /* MaterialStream1._F_pc[2,2] variable */ = (data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */) * (data->localData[0]->realVars[23] /* MaterialStream1._F_p[2] variable */); + TRACE_POP +} + +/* + equation index: 436 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_pc[2,2] = MaterialStream1.F_pc[2,2] * MaterialStream1.C[2].MW + */ +void Flowsheet_eqFunction_436(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,436}; + data->localData[0]->realVars[37] /* MaterialStream1._Fm_pc[2,2] variable */ = (data->localData[0]->realVars[28] /* MaterialStream1._F_pc[2,2] variable */) * (data->simulationInfo->realParameter[533]); + TRACE_POP +} + +/* + equation index: 437 + type: ALGORITHM + + (MaterialStream1.S_pc[2,2], MaterialStream1.S_pc[3,2]) := Simulator.Files.ThermodynamicFunctions.SId({MaterialStream1.C[2].VapCp[1], MaterialStream1.C[2].VapCp[2], MaterialStream1.C[2].VapCp[3], MaterialStream1.C[2].VapCp[4], MaterialStream1.C[2].VapCp[5], MaterialStream1.C[2].VapCp[6]}, {MaterialStream1.C[2].HOV[1], MaterialStream1.C[2].HOV[2], MaterialStream1.C[2].HOV[3], MaterialStream1.C[2].HOV[4], MaterialStream1.C[2].HOV[5], MaterialStream1.C[2].HOV[6]}, MaterialStream1.C[2].Tb, MaterialStream1.C[2].Tc, 350.0, 101325.0, MaterialStream1.x_pc[2,2], MaterialStream1.x_pc[3,2]); + */ +void Flowsheet_eqFunction_437(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,437}; + real_array tmp0; + real_array tmp1; + array_alloc_scalar_real_array(&tmp0, 6, (modelica_real)data->simulationInfo->realParameter[574], (modelica_real)data->simulationInfo->realParameter[575], (modelica_real)data->simulationInfo->realParameter[576], (modelica_real)data->simulationInfo->realParameter[577], (modelica_real)data->simulationInfo->realParameter[578], (modelica_real)data->simulationInfo->realParameter[579]); + array_alloc_scalar_real_array(&tmp1, 6, (modelica_real)data->simulationInfo->realParameter[474], (modelica_real)data->simulationInfo->realParameter[475], (modelica_real)data->simulationInfo->realParameter[476], (modelica_real)data->simulationInfo->realParameter[477], (modelica_real)data->simulationInfo->realParameter[478], (modelica_real)data->simulationInfo->realParameter[479]); + data->localData[0]->realVars[68] /* MaterialStream1._S_pc[2,2] variable */ = omc_Simulator_Files_ThermodynamicFunctions_SId(threadData, tmp0, tmp1, data->simulationInfo->realParameter[547], data->simulationInfo->realParameter[549], 350.0, 101325.0, data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */, data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */ ,&data->localData[0]->realVars[70] /* MaterialStream1._S_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 438 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_p[2] = MaterialStream1.x_pc[2,1] * MaterialStream1.Cp_pc[2,1] + MaterialStream1.x_pc[2,2] * MaterialStream1.Cp_pc[2,2] + */ +void Flowsheet_eqFunction_438(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,438}; + data->localData[0]->realVars[11] /* MaterialStream1._Cp_p[2] variable */ = (data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */) * (data->localData[0]->realVars[15] /* MaterialStream1._Cp_pc[2,1] variable */) + (data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */) * (data->localData[0]->realVars[16] /* MaterialStream1._Cp_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 439 + type: SIMPLE_ASSIGN + MaterialStream1._H_p[2] = MaterialStream1.x_pc[2,1] * MaterialStream1.H_pc[2,1] + MaterialStream1.x_pc[2,2] * MaterialStream1.H_pc[2,2] + */ +void Flowsheet_eqFunction_439(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,439}; + data->localData[0]->realVars[41] /* MaterialStream1._H_p[2] variable */ = (data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */) * (data->localData[0]->realVars[45] /* MaterialStream1._H_pc[2,1] variable */) + (data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */) * (data->localData[0]->realVars[46] /* MaterialStream1._H_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 440 + type: SIMPLE_ASSIGN + MaterialStream1._F_pc[3,1] = MaterialStream1.x_pc[3,1] * MaterialStream1.F_p[3] + */ +void Flowsheet_eqFunction_440(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,440}; + data->localData[0]->realVars[29] /* MaterialStream1._F_pc[3,1] variable */ = (data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */) * (data->localData[0]->realVars[24] /* MaterialStream1._F_p[3] variable */); + TRACE_POP +} + +/* + equation index: 441 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_pc[3,1] = MaterialStream1.F_pc[3,1] * MaterialStream1.C[1].MW + */ +void Flowsheet_eqFunction_441(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,441}; + data->localData[0]->realVars[38] /* MaterialStream1._Fm_pc[3,1] variable */ = (data->localData[0]->realVars[29] /* MaterialStream1._F_pc[3,1] variable */) * (data->simulationInfo->realParameter[532]); + TRACE_POP +} + +/* + equation index: 442 + type: ALGORITHM + + (MaterialStream1.S_pc[2,1], MaterialStream1.S_pc[3,1]) := Simulator.Files.ThermodynamicFunctions.SId({MaterialStream1.C[1].VapCp[1], MaterialStream1.C[1].VapCp[2], MaterialStream1.C[1].VapCp[3], MaterialStream1.C[1].VapCp[4], MaterialStream1.C[1].VapCp[5], MaterialStream1.C[1].VapCp[6]}, {MaterialStream1.C[1].HOV[1], MaterialStream1.C[1].HOV[2], MaterialStream1.C[1].HOV[3], MaterialStream1.C[1].HOV[4], MaterialStream1.C[1].HOV[5], MaterialStream1.C[1].HOV[6]}, MaterialStream1.C[1].Tb, MaterialStream1.C[1].Tc, 350.0, 101325.0, MaterialStream1.x_pc[2,1], MaterialStream1.x_pc[3,1]); + */ +void Flowsheet_eqFunction_442(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,442}; + real_array tmp2; + real_array tmp3; + array_alloc_scalar_real_array(&tmp2, 6, (modelica_real)data->simulationInfo->realParameter[568], (modelica_real)data->simulationInfo->realParameter[569], (modelica_real)data->simulationInfo->realParameter[570], (modelica_real)data->simulationInfo->realParameter[571], (modelica_real)data->simulationInfo->realParameter[572], (modelica_real)data->simulationInfo->realParameter[573]); + array_alloc_scalar_real_array(&tmp3, 6, (modelica_real)data->simulationInfo->realParameter[468], (modelica_real)data->simulationInfo->realParameter[469], (modelica_real)data->simulationInfo->realParameter[470], (modelica_real)data->simulationInfo->realParameter[471], (modelica_real)data->simulationInfo->realParameter[472], (modelica_real)data->simulationInfo->realParameter[473]); + data->localData[0]->realVars[67] /* MaterialStream1._S_pc[2,1] variable */ = omc_Simulator_Files_ThermodynamicFunctions_SId(threadData, tmp2, tmp3, data->simulationInfo->realParameter[546], data->simulationInfo->realParameter[548], 350.0, 101325.0, data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */, data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */ ,&data->localData[0]->realVars[69] /* MaterialStream1._S_pc[3,1] variable */); + TRACE_POP +} + +/* + equation index: 443 + type: SIMPLE_ASSIGN + MaterialStream1._S_p[2] = MaterialStream1.x_pc[2,1] * MaterialStream1.S_pc[2,1] + MaterialStream1.x_pc[2,2] * MaterialStream1.S_pc[2,2] + */ +void Flowsheet_eqFunction_443(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,443}; + data->localData[0]->realVars[63] /* MaterialStream1._S_p[2] variable */ = (data->localData[0]->realVars[87] /* MaterialStream1._x_pc[2,1] variable */) * (data->localData[0]->realVars[67] /* MaterialStream1._S_pc[2,1] variable */) + (data->localData[0]->realVars[88] /* MaterialStream1._x_pc[2,2] variable */) * (data->localData[0]->realVars[68] /* MaterialStream1._S_pc[2,2] variable */); + TRACE_POP +} + +/* + equation index: 444 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_p[3] = MaterialStream1.x_pc[3,1] * MaterialStream1.Cp_pc[3,1] + MaterialStream1.x_pc[3,2] * MaterialStream1.Cp_pc[3,2] + */ +void Flowsheet_eqFunction_444(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,444}; + data->localData[0]->realVars[12] /* MaterialStream1._Cp_p[3] variable */ = (data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */) * (data->localData[0]->realVars[17] /* MaterialStream1._Cp_pc[3,1] variable */) + (data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */) * (data->localData[0]->realVars[18] /* MaterialStream1._Cp_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 445 + type: SIMPLE_ASSIGN + MaterialStream1._H_p[3] = MaterialStream1.x_pc[3,1] * MaterialStream1.H_pc[3,1] + MaterialStream1.x_pc[3,2] * MaterialStream1.H_pc[3,2] + */ +void Flowsheet_eqFunction_445(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,445}; + data->localData[0]->realVars[42] /* MaterialStream1._H_p[3] variable */ = (data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */) * (data->localData[0]->realVars[47] /* MaterialStream1._H_pc[3,1] variable */) + (data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */) * (data->localData[0]->realVars[48] /* MaterialStream1._H_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 446 + type: SIMPLE_ASSIGN + MaterialStream1._S_p[3] = MaterialStream1.x_pc[3,1] * MaterialStream1.S_pc[3,1] + MaterialStream1.x_pc[3,2] * MaterialStream1.S_pc[3,2] + */ +void Flowsheet_eqFunction_446(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,446}; + data->localData[0]->realVars[64] /* MaterialStream1._S_p[3] variable */ = (data->localData[0]->realVars[89] /* MaterialStream1._x_pc[3,1] variable */) * (data->localData[0]->realVars[69] /* MaterialStream1._S_pc[3,1] variable */) + (data->localData[0]->realVars[90] /* MaterialStream1._x_pc[3,2] variable */) * (data->localData[0]->realVars[70] /* MaterialStream1._S_pc[3,2] variable */); + TRACE_POP +} + +/* + equation index: 447 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_p[1] = MaterialStream1.xliq * MaterialStream1.Cp_p[2] + Heater1.xvapin * MaterialStream1.Cp_p[3] + */ +void Flowsheet_eqFunction_447(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,447}; + data->localData[0]->realVars[10] /* MaterialStream1._Cp_p[1] variable */ = (data->localData[0]->realVars[91] /* MaterialStream1._xliq variable */) * (data->localData[0]->realVars[11] /* MaterialStream1._Cp_p[2] variable */) + (data->localData[0]->realVars[8] /* Heater1._xvapin variable */) * (data->localData[0]->realVars[12] /* MaterialStream1._Cp_p[3] variable */); + TRACE_POP +} + +/* + equation index: 448 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_pc[1,1] = MaterialStream1.x_pc[1,1] * MaterialStream1.Cp_p[1] + */ +void Flowsheet_eqFunction_448(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,448}; + data->localData[0]->realVars[13] /* MaterialStream1._Cp_pc[1,1] variable */ = (data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */) * (data->localData[0]->realVars[10] /* MaterialStream1._Cp_p[1] variable */); + TRACE_POP +} + +/* + equation index: 449 + type: SIMPLE_ASSIGN + MaterialStream1._Cp_pc[1,2] = MaterialStream1.x_pc[1,2] * MaterialStream1.Cp_p[1] + */ +void Flowsheet_eqFunction_449(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,449}; + data->localData[0]->realVars[14] /* MaterialStream1._Cp_pc[1,2] variable */ = (data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */) * (data->localData[0]->realVars[10] /* MaterialStream1._Cp_p[1] variable */); + TRACE_POP +} + +/* + equation index: 450 + type: SIMPLE_ASSIGN + MaterialStream1._H_p[1] = MaterialStream1.xliq * MaterialStream1.H_p[2] + Heater1.xvapin * MaterialStream1.H_p[3] + */ +void Flowsheet_eqFunction_450(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,450}; + data->localData[0]->realVars[40] /* MaterialStream1._H_p[1] variable */ = (data->localData[0]->realVars[91] /* MaterialStream1._xliq variable */) * (data->localData[0]->realVars[41] /* MaterialStream1._H_p[2] variable */) + (data->localData[0]->realVars[8] /* Heater1._xvapin variable */) * (data->localData[0]->realVars[42] /* MaterialStream1._H_p[3] variable */); + TRACE_POP +} + +/* + equation index: 451 + type: SIMPLE_ASSIGN + MaterialStream1._H_pc[1,1] = MaterialStream1.x_pc[1,1] * MaterialStream1.H_p[1] + */ +void Flowsheet_eqFunction_451(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,451}; + data->localData[0]->realVars[43] /* MaterialStream1._H_pc[1,1] variable */ = (data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */) * (data->localData[0]->realVars[40] /* MaterialStream1._H_p[1] variable */); + TRACE_POP +} + +/* + equation index: 452 + type: SIMPLE_ASSIGN + MaterialStream1._H_pc[1,2] = MaterialStream1.x_pc[1,2] * MaterialStream1.H_p[1] + */ +void Flowsheet_eqFunction_452(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,452}; + data->localData[0]->realVars[44] /* MaterialStream1._H_pc[1,2] variable */ = (data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */) * (data->localData[0]->realVars[40] /* MaterialStream1._H_p[1] variable */); + TRACE_POP +} + +/* + equation index: 453 + type: SIMPLE_ASSIGN + Heater1._Q = DIVISION(100.0 * (MaterialStream2.H_p[1] - MaterialStream1.H_p[1]), Heater1.Eff) + */ +void Flowsheet_eqFunction_453(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,453}; + data->localData[0]->realVars[5] /* Heater1._Q variable */ = DIVISION_SIM((100.0) * (data->localData[0]->realVars[129] /* MaterialStream2._H_p[1] variable */ - data->localData[0]->realVars[40] /* MaterialStream1._H_p[1] variable */),data->simulationInfo->realParameter[397],"Heater1.Eff",equationIndexes); + TRACE_POP +} + +/* + equation index: 454 + type: SIMPLE_ASSIGN + MaterialStream1._S_p[1] = MaterialStream1.xliq * MaterialStream1.S_p[2] + Heater1.xvapin * MaterialStream1.S_p[3] + */ +void Flowsheet_eqFunction_454(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,454}; + data->localData[0]->realVars[62] /* MaterialStream1._S_p[1] variable */ = (data->localData[0]->realVars[91] /* MaterialStream1._xliq variable */) * (data->localData[0]->realVars[63] /* MaterialStream1._S_p[2] variable */) + (data->localData[0]->realVars[8] /* Heater1._xvapin variable */) * (data->localData[0]->realVars[64] /* MaterialStream1._S_p[3] variable */); + TRACE_POP +} + +/* + equation index: 455 + type: SIMPLE_ASSIGN + MaterialStream1._S_pc[1,1] = MaterialStream1.x_pc[1,1] * MaterialStream1.S_p[1] + */ +void Flowsheet_eqFunction_455(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,455}; + data->localData[0]->realVars[65] /* MaterialStream1._S_pc[1,1] variable */ = (data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */) * (data->localData[0]->realVars[62] /* MaterialStream1._S_p[1] variable */); + TRACE_POP +} + +/* + equation index: 456 + type: SIMPLE_ASSIGN + MaterialStream1._S_pc[1,2] = MaterialStream1.x_pc[1,2] * MaterialStream1.S_p[1] + */ +void Flowsheet_eqFunction_456(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,456}; + data->localData[0]->realVars[66] /* MaterialStream1._S_pc[1,2] variable */ = (data->localData[0]->realVars[86] /* MaterialStream1._x_pc[1,2] variable */) * (data->localData[0]->realVars[62] /* MaterialStream1._S_p[1] variable */); + TRACE_POP +} + +/* + equation index: 457 + type: ALGORITHM + + for i in 1:2 loop + MaterialStream1.MW_p[:] := {MaterialStream1.MW_p[1] + MaterialStream1.x_pc[1,i] * MaterialStream1.C[i].MW, MaterialStream1.MW_p[2] + MaterialStream1.x_pc[2,i] * MaterialStream1.C[i].MW, MaterialStream1.MW_p[3] + MaterialStream1.x_pc[3,i] * MaterialStream1.C[i].MW}; + end for; + */ +void Flowsheet_eqFunction_457(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,457}; + real_array tmp4; + index_spec_t tmp5; + real_array tmp6; + modelica_integer tmp7; + modelica_integer tmp8; + modelica_integer tmp9; + tmp7 = ((modelica_integer) 1); tmp8 = 1; tmp9 = ((modelica_integer) 2); + if(!tmp8) + { + FILE_INFO info = omc_dummyFileInfo; + omc_assert_withEquationIndexes(threadData, info, equationIndexes, "assertion range step != 0 failed"); + } + else if(!(((tmp8 > 0) && (tmp7 > tmp9)) || ((tmp8 < 0) && (tmp7 < tmp9)))) + { + modelica_integer $Pi; + for($Pi = ((modelica_integer) 1); in_range_integer($Pi, tmp7, tmp9); $Pi += tmp8) + { + array_alloc_scalar_real_array(&tmp4, 3, (modelica_real)data->localData[0]->realVars[54] /* MaterialStream1._MW_p[1] variable */ + ((&data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */)[calc_base_index_dims_subs(2, 3, 2, ((modelica_integer) 1), (modelica_integer)$Pi)]) * ((&data->simulationInfo->realParameter[532])[calc_base_index_dims_subs(1, 2, (modelica_integer)$Pi)]), (modelica_real)data->localData[0]->realVars[55] /* MaterialStream1._MW_p[2] variable */ + ((&data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */)[calc_base_index_dims_subs(2, 3, 2, ((modelica_integer) 2), (modelica_integer)$Pi)]) * ((&data->simulationInfo->realParameter[532])[calc_base_index_dims_subs(1, 2, (modelica_integer)$Pi)]), (modelica_real)data->localData[0]->realVars[56] /* MaterialStream1._MW_p[3] variable */ + ((&data->localData[0]->realVars[85] /* MaterialStream1._x_pc[1,1] variable */)[calc_base_index_dims_subs(2, 3, 2, ((modelica_integer) 3), (modelica_integer)$Pi)]) * ((&data->simulationInfo->realParameter[532])[calc_base_index_dims_subs(1, 2, (modelica_integer)$Pi)])); + create_index_spec(&tmp5, 1, (1), (int*)0, 'W'); + real_array_create(&tmp6, (modelica_real*)&data->localData[0]->realVars[54] /* MaterialStream1._MW_p[1] variable */, 1, 3); + indexed_assign_real_array(tmp4, &tmp6, &tmp5); + } + } + TRACE_POP +} + +/* + equation index: 458 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_p[3] = MaterialStream1.F_p[3] * MaterialStream1.MW_p[3] + */ +void Flowsheet_eqFunction_458(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,458}; + data->localData[0]->realVars[33] /* MaterialStream1._Fm_p[3] variable */ = (data->localData[0]->realVars[24] /* MaterialStream1._F_p[3] variable */) * (data->localData[0]->realVars[56] /* MaterialStream1._MW_p[3] variable */); + TRACE_POP +} + +/* + equation index: 459 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_p[1] = 100.0 * MaterialStream1.MW_p[1] + */ +void Flowsheet_eqFunction_459(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,459}; + data->localData[0]->realVars[31] /* MaterialStream1._Fm_p[1] variable */ = (100.0) * (data->localData[0]->realVars[54] /* MaterialStream1._MW_p[1] variable */); + TRACE_POP +} + +/* + equation index: 460 + type: SIMPLE_ASSIGN + MaterialStream1._xm_pc[1,2] = DIVISION(MaterialStream1.Fm_pc[1,2], MaterialStream1.Fm_p[1]) + */ +void Flowsheet_eqFunction_460(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,460}; + data->localData[0]->realVars[93] /* MaterialStream1._xm_pc[1,2] variable */ = DIVISION_SIM(data->localData[0]->realVars[35] /* MaterialStream1._Fm_pc[1,2] variable */,data->localData[0]->realVars[31] /* MaterialStream1._Fm_p[1] variable */,"MaterialStream1.Fm_p[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 461 + type: SIMPLE_ASSIGN + MaterialStream1._xmvap = DIVISION(MaterialStream1.Fm_p[3], MaterialStream1.Fm_p[1]) + */ +void Flowsheet_eqFunction_461(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,461}; + data->localData[0]->realVars[99] /* MaterialStream1._xmvap variable */ = DIVISION_SIM(data->localData[0]->realVars[33] /* MaterialStream1._Fm_p[3] variable */,data->localData[0]->realVars[31] /* MaterialStream1._Fm_p[1] variable */,"MaterialStream1.Fm_p[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 462 + type: SIMPLE_ASSIGN + MaterialStream1._Fm_p[2] = MaterialStream1.F_p[2] * MaterialStream1.MW_p[2] + */ +void Flowsheet_eqFunction_462(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,462}; + data->localData[0]->realVars[32] /* MaterialStream1._Fm_p[2] variable */ = (data->localData[0]->realVars[23] /* MaterialStream1._F_p[2] variable */) * (data->localData[0]->realVars[55] /* MaterialStream1._MW_p[2] variable */); + TRACE_POP +} + +/* + equation index: 463 + type: LINEAR + + <var>MaterialStream1._xm_pc[3,2]</var> + <var>MaterialStream1._xm_pc[2,2]</var> + <var>MaterialStream1._xm_pc[1,1]</var> + <var>MaterialStream1._xm_pc[3,1]</var> + <var>MaterialStream1._xm_pc[2,1]</var> + <row> + <cell>if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then MaterialStream1.Fm_pc[2,1] else 0.0</cell> + <cell>if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then MaterialStream1.Fm_pc[1,1] else 0.0</cell> + <cell>if 101325.0 >= MaterialStream1.Pbubl then MaterialStream1.Fm_pc[1,1] else if 101325.0 >= MaterialStream1.Pdew then MaterialStream1.Fm_pc[3,1] else MaterialStream1.Fm_pc[1,1]</cell> + <cell>if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then MaterialStream1.Fm_pc[2,2] else 0.0</cell> + <cell>if 101325.0 >= MaterialStream1.Pbubl then -MaterialStream1.xm_pc[1,2] else if 101325.0 >= MaterialStream1.Pdew then MaterialStream1.Fm_pc[3,2] else -MaterialStream1.xm_pc[1,2]</cell> + </row> + <matrix> + <cell row="0" col="0"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 1.0 else -0.0)</residual> + </cell><cell row="0" col="1"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then -0.0 else 1.0)</residual> + </cell><cell row="0" col="4"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then -MaterialStream1.Fm_p[2] else 0.0)</residual> + </cell><cell row="1" col="2"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then -MaterialStream1.Fm_p[1] else 0.0)</residual> + </cell><cell row="1" col="3"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 1.0 else -0.0)</residual> + </cell><cell row="1" col="4"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then -0.0 else 1.0)</residual> + </cell><cell row="2" col="2"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then -MaterialStream1.Fm_p[1] else if 101325.0 >= MaterialStream1.Pdew then -0.0 else -MaterialStream1.Fm_p[1])</residual> + </cell><cell row="2" col="3"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then -0.0 else if 101325.0 >= MaterialStream1.Pdew then -MaterialStream1.Fm_p[3] else -0.0)</residual> + </cell><cell row="3" col="1"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then -MaterialStream1.Fm_p[2] else 0.0)</residual> + </cell><cell row="3" col="2"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then -1.0 else if 101325.0 >= MaterialStream1.Pdew then -0.0 else -1.0)</residual> + </cell><cell row="3" col="3"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then -0.0 else 1.0)</residual> + </cell><cell row="3" col="4"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 1.0 else -0.0)</residual> + </cell><cell row="4" col="0"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 0.0 else if 101325.0 >= MaterialStream1.Pdew then -MaterialStream1.Fm_p[3] else 1.0)</residual> + </cell><cell row="4" col="1"> + <residual>-(if 101325.0 >= MaterialStream1.Pbubl then 1.0 else -0.0)</residual> + </cell> + </matrix> + */ +void Flowsheet_eqFunction_463(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,463}; + /* Linear equation system */ + int retValue; + if(ACTIVE_STREAM(LOG_DT)) + { + infoStreamPrint(LOG_DT, 1, "Solving linear system 463 (STRICT TEARING SET if tearing enabled) at time = %18.10e", data->localData[0]->timeValue); + messageClose(LOG_DT); + } + data->simulationInfo->linearSystemData[4].x[0] = data->localData[1]->realVars[97] /* MaterialStream1._xm_pc[3,2] variable */; + data->simulationInfo->linearSystemData[4].x[1] = data->localData[1]->realVars[95] /* MaterialStream1._xm_pc[2,2] variable */; + data->simulationInfo->linearSystemData[4].x[2] = data->localData[1]->realVars[92] /* MaterialStream1._xm_pc[1,1] variable */; + data->simulationInfo->linearSystemData[4].x[3] = data->localData[1]->realVars[96] /* MaterialStream1._xm_pc[3,1] variable */; + data->simulationInfo->linearSystemData[4].x[4] = data->localData[1]->realVars[94] /* MaterialStream1._xm_pc[2,1] variable */; + retValue = solve_linear_system(data, threadData, 4); + + /* check if solution process was successful */ + if (retValue > 0){ + const int indexes[2] = {1,463}; + throwStreamPrintWithEquationIndexes(threadData, indexes, "Solving linear system 463 failed at time=%.15g.\nFor more information please use -lv LOG_LS.", data->localData[0]->timeValue); + } + /* write solution */ + data->localData[0]->realVars[97] /* MaterialStream1._xm_pc[3,2] variable */ = data->simulationInfo->linearSystemData[4].x[0]; + data->localData[0]->realVars[95] /* MaterialStream1._xm_pc[2,2] variable */ = data->simulationInfo->linearSystemData[4].x[1]; + data->localData[0]->realVars[92] /* MaterialStream1._xm_pc[1,1] variable */ = data->simulationInfo->linearSystemData[4].x[2]; + data->localData[0]->realVars[96] /* MaterialStream1._xm_pc[3,1] variable */ = data->simulationInfo->linearSystemData[4].x[3]; + data->localData[0]->realVars[94] /* MaterialStream1._xm_pc[2,1] variable */ = data->simulationInfo->linearSystemData[4].x[4]; + TRACE_POP +} + +/* + equation index: 464 + type: SIMPLE_ASSIGN + MaterialStream1._xmliq = DIVISION(MaterialStream1.Fm_p[2], MaterialStream1.Fm_p[1]) + */ +void Flowsheet_eqFunction_464(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,464}; + data->localData[0]->realVars[98] /* MaterialStream1._xmliq variable */ = DIVISION_SIM(data->localData[0]->realVars[32] /* MaterialStream1._Fm_p[2] variable */,data->localData[0]->realVars[31] /* MaterialStream1._Fm_p[1] variable */,"MaterialStream1.Fm_p[1]",equationIndexes); + TRACE_POP +} + +/* + equation index: 465 + type: SIMPLE_ASSIGN + MaterialStream1._gmabubl_c[1] = 1.0 + */ +void Flowsheet_eqFunction_465(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,465}; + data->localData[0]->realVars[77] /* MaterialStream1._gmabubl_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 466 + type: SIMPLE_ASSIGN + MaterialStream1._gmadew_c[1] = 1.0 + */ +void Flowsheet_eqFunction_466(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,466}; + data->localData[0]->realVars[79] /* MaterialStream1._gmadew_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 467 + type: SIMPLE_ASSIGN + MaterialStream1._philiqbubl_c[1] = 1.0 + */ +void Flowsheet_eqFunction_467(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,467}; + data->localData[0]->realVars[81] /* MaterialStream1._philiqbubl_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 468 + type: SIMPLE_ASSIGN + MaterialStream1._phivapdew_c[1] = 1.0 + */ +void Flowsheet_eqFunction_468(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,468}; + data->localData[0]->realVars[83] /* MaterialStream1._phivapdew_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 469 + type: SIMPLE_ASSIGN + MaterialStream1._gmabubl_c[2] = 1.0 + */ +void Flowsheet_eqFunction_469(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,469}; + data->localData[0]->realVars[78] /* MaterialStream1._gmabubl_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 470 + type: SIMPLE_ASSIGN + MaterialStream1._gmadew_c[2] = 1.0 + */ +void Flowsheet_eqFunction_470(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,470}; + data->localData[0]->realVars[80] /* MaterialStream1._gmadew_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 471 + type: SIMPLE_ASSIGN + MaterialStream1._philiqbubl_c[2] = 1.0 + */ +void Flowsheet_eqFunction_471(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,471}; + data->localData[0]->realVars[82] /* MaterialStream1._philiqbubl_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 472 + type: SIMPLE_ASSIGN + MaterialStream1._phivapdew_c[2] = 1.0 + */ +void Flowsheet_eqFunction_472(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,472}; + data->localData[0]->realVars[84] /* MaterialStream1._phivapdew_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 473 + type: SIMPLE_ASSIGN + MaterialStream1._Cpres_p[2] = 0.0 + */ +void Flowsheet_eqFunction_473(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,473}; + data->localData[0]->realVars[20] /* MaterialStream1._Cpres_p[2] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 474 + type: SIMPLE_ASSIGN + MaterialStream1._Cpres_p[3] = 0.0 + */ +void Flowsheet_eqFunction_474(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,474}; + data->localData[0]->realVars[21] /* MaterialStream1._Cpres_p[3] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 475 + type: SIMPLE_ASSIGN + MaterialStream1._Hres_p[2] = 0.0 + */ +void Flowsheet_eqFunction_475(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,475}; + data->localData[0]->realVars[50] /* MaterialStream1._Hres_p[2] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 476 + type: SIMPLE_ASSIGN + MaterialStream1._Hres_p[3] = 0.0 + */ +void Flowsheet_eqFunction_476(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,476}; + data->localData[0]->realVars[51] /* MaterialStream1._Hres_p[3] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 477 + type: SIMPLE_ASSIGN + MaterialStream1._Sres_p[2] = 0.0 + */ +void Flowsheet_eqFunction_477(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,477}; + data->localData[0]->realVars[72] /* MaterialStream1._Sres_p[2] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 478 + type: SIMPLE_ASSIGN + MaterialStream1._Sres_p[3] = 0.0 + */ +void Flowsheet_eqFunction_478(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,478}; + data->localData[0]->realVars[73] /* MaterialStream1._Sres_p[3] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 479 + type: SIMPLE_ASSIGN + MaterialStream2._gmabubl_c[1] = 1.0 + */ +void Flowsheet_eqFunction_479(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,479}; + data->localData[0]->realVars[164] /* MaterialStream2._gmabubl_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 480 + type: SIMPLE_ASSIGN + MaterialStream2._gmadew_c[1] = 1.0 + */ +void Flowsheet_eqFunction_480(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,480}; + data->localData[0]->realVars[166] /* MaterialStream2._gmadew_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 481 + type: SIMPLE_ASSIGN + MaterialStream2._philiqbubl_c[1] = 1.0 + */ +void Flowsheet_eqFunction_481(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,481}; + data->localData[0]->realVars[168] /* MaterialStream2._philiqbubl_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 482 + type: SIMPLE_ASSIGN + MaterialStream2._phivapdew_c[1] = 1.0 + */ +void Flowsheet_eqFunction_482(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,482}; + data->localData[0]->realVars[170] /* MaterialStream2._phivapdew_c[1] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 483 + type: SIMPLE_ASSIGN + MaterialStream2._gmabubl_c[2] = 1.0 + */ +void Flowsheet_eqFunction_483(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,483}; + data->localData[0]->realVars[165] /* MaterialStream2._gmabubl_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 484 + type: SIMPLE_ASSIGN + MaterialStream2._gmadew_c[2] = 1.0 + */ +void Flowsheet_eqFunction_484(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,484}; + data->localData[0]->realVars[167] /* MaterialStream2._gmadew_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 485 + type: SIMPLE_ASSIGN + MaterialStream2._philiqbubl_c[2] = 1.0 + */ +void Flowsheet_eqFunction_485(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,485}; + data->localData[0]->realVars[169] /* MaterialStream2._philiqbubl_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 486 + type: SIMPLE_ASSIGN + MaterialStream2._phivapdew_c[2] = 1.0 + */ +void Flowsheet_eqFunction_486(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,486}; + data->localData[0]->realVars[171] /* MaterialStream2._phivapdew_c[2] variable */ = 1.0; + TRACE_POP +} + +/* + equation index: 487 + type: SIMPLE_ASSIGN + MaterialStream2._Cpres_p[2] = 0.0 + */ +void Flowsheet_eqFunction_487(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,487}; + data->localData[0]->realVars[110] /* MaterialStream2._Cpres_p[2] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 488 + type: SIMPLE_ASSIGN + MaterialStream2._Cpres_p[3] = 0.0 + */ +void Flowsheet_eqFunction_488(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,488}; + data->localData[0]->realVars[111] /* MaterialStream2._Cpres_p[3] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 489 + type: SIMPLE_ASSIGN + MaterialStream2._Hres_p[2] = 0.0 + */ +void Flowsheet_eqFunction_489(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,489}; + data->localData[0]->realVars[139] /* MaterialStream2._Hres_p[2] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 490 + type: SIMPLE_ASSIGN + MaterialStream2._Hres_p[3] = 0.0 + */ +void Flowsheet_eqFunction_490(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,490}; + data->localData[0]->realVars[140] /* MaterialStream2._Hres_p[3] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 491 + type: SIMPLE_ASSIGN + MaterialStream2._Sres_p[2] = 0.0 + */ +void Flowsheet_eqFunction_491(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,491}; + data->localData[0]->realVars[160] /* MaterialStream2._Sres_p[2] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 492 + type: SIMPLE_ASSIGN + MaterialStream2._Sres_p[3] = 0.0 + */ +void Flowsheet_eqFunction_492(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,492}; + data->localData[0]->realVars[161] /* MaterialStream2._Sres_p[3] variable */ = 0.0; + TRACE_POP +} + +/* + equation index: 493 + type: SIMPLE_ASSIGN + MaterialStream1._P = 101325.0 + */ +void Flowsheet_eqFunction_493(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,493}; + data->localData[0]->realVars[57] /* MaterialStream1._P variable */ = 101325.0; + TRACE_POP +} + +/* + equation index: 494 + type: SIMPLE_ASSIGN + MaterialStream1._F_p[1] = 100.0 + */ +void Flowsheet_eqFunction_494(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,494}; + data->localData[0]->realVars[22] /* MaterialStream1._F_p[1] variable */ = 100.0; + TRACE_POP +} + +/* + equation index: 495 + type: SIMPLE_ASSIGN + Heater1._Tc[2] = Heater1.C[2].Tc + */ +void Flowsheet_eqFunction_495(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,495}; + data->simulationInfo->realParameter[430] = data->simulationInfo->realParameter[340]; + TRACE_POP +} + +/* + equation index: 496 + type: SIMPLE_ASSIGN + Heater1._Tc[1] = Heater1.C[1].Tc + */ +void Flowsheet_eqFunction_496(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,496}; + data->simulationInfo->realParameter[429] = data->simulationInfo->realParameter[339]; + TRACE_POP +} + +/* + equation index: 497 + type: SIMPLE_ASSIGN + MaterialStream2._Tc[2] = MaterialStream2.C[2].Tc + */ +void Flowsheet_eqFunction_497(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,497}; + data->simulationInfo->realParameter[844] = data->simulationInfo->realParameter[756]; + TRACE_POP +} + +/* + equation index: 498 + type: SIMPLE_ASSIGN + MaterialStream2._Tc[1] = MaterialStream2.C[1].Tc + */ +void Flowsheet_eqFunction_498(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,498}; + data->simulationInfo->realParameter[843] = data->simulationInfo->realParameter[755]; + TRACE_POP +} + +/* + equation index: 499 + type: SIMPLE_ASSIGN + MaterialStream1._Tc[2] = MaterialStream1.C[2].Tc + */ +void Flowsheet_eqFunction_499(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,499}; + data->simulationInfo->realParameter[637] = data->simulationInfo->realParameter[549]; + TRACE_POP +} + +/* + equation index: 500 + type: SIMPLE_ASSIGN + MaterialStream1._Tc[1] = MaterialStream1.C[1].Tc + */ +void Flowsheet_eqFunction_500(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int equationIndexes[2] = {1,500}; + data->simulationInfo->realParameter[636] = data->simulationInfo->realParameter[548]; + TRACE_POP +} +void Flowsheet_functionInitialEquations_0(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + Flowsheet_eqFunction_1(data, threadData); + Flowsheet_eqFunction_2(data, threadData); + Flowsheet_eqFunction_3(data, threadData); + Flowsheet_eqFunction_4(data, threadData); + Flowsheet_eqFunction_5(data, threadData); + Flowsheet_eqFunction_6(data, threadData); + Flowsheet_eqFunction_7(data, threadData); + Flowsheet_eqFunction_8(data, threadData); + Flowsheet_eqFunction_9(data, threadData); + Flowsheet_eqFunction_10(data, threadData); + Flowsheet_eqFunction_11(data, threadData); + Flowsheet_eqFunction_12(data, threadData); + Flowsheet_eqFunction_13(data, threadData); + Flowsheet_eqFunction_14(data, threadData); + Flowsheet_eqFunction_15(data, threadData); + Flowsheet_eqFunction_16(data, threadData); + Flowsheet_eqFunction_17(data, threadData); + Flowsheet_eqFunction_18(data, threadData); + Flowsheet_eqFunction_19(data, threadData); + Flowsheet_eqFunction_20(data, threadData); + Flowsheet_eqFunction_21(data, threadData); + Flowsheet_eqFunction_22(data, threadData); + Flowsheet_eqFunction_23(data, threadData); + Flowsheet_eqFunction_24(data, threadData); + Flowsheet_eqFunction_25(data, threadData); + Flowsheet_eqFunction_26(data, threadData); + Flowsheet_eqFunction_27(data, threadData); + Flowsheet_eqFunction_28(data, threadData); + Flowsheet_eqFunction_29(data, threadData); + Flowsheet_eqFunction_30(data, threadData); + Flowsheet_eqFunction_31(data, threadData); + Flowsheet_eqFunction_32(data, threadData); + Flowsheet_eqFunction_33(data, threadData); + Flowsheet_eqFunction_34(data, threadData); + Flowsheet_eqFunction_35(data, threadData); + Flowsheet_eqFunction_36(data, threadData); + Flowsheet_eqFunction_37(data, threadData); + Flowsheet_eqFunction_38(data, threadData); + Flowsheet_eqFunction_42(data, threadData); + Flowsheet_eqFunction_46(data, threadData); + Flowsheet_eqFunction_47(data, threadData); + Flowsheet_eqFunction_48(data, threadData); + Flowsheet_eqFunction_49(data, threadData); + Flowsheet_eqFunction_50(data, threadData); + Flowsheet_eqFunction_51(data, threadData); + Flowsheet_eqFunction_52(data, threadData); + Flowsheet_eqFunction_53(data, threadData); + Flowsheet_eqFunction_54(data, threadData); + Flowsheet_eqFunction_55(data, threadData); + Flowsheet_eqFunction_56(data, threadData); + Flowsheet_eqFunction_57(data, threadData); + Flowsheet_eqFunction_58(data, threadData); + Flowsheet_eqFunction_59(data, threadData); + Flowsheet_eqFunction_60(data, threadData); + Flowsheet_eqFunction_61(data, threadData); + Flowsheet_eqFunction_62(data, threadData); + Flowsheet_eqFunction_63(data, threadData); + Flowsheet_eqFunction_67(data, threadData); + Flowsheet_eqFunction_68(data, threadData); + Flowsheet_eqFunction_72(data, threadData); + Flowsheet_eqFunction_73(data, threadData); + Flowsheet_eqFunction_84(data, threadData); + Flowsheet_eqFunction_88(data, threadData); + Flowsheet_eqFunction_92(data, threadData); + Flowsheet_eqFunction_96(data, threadData); + Flowsheet_eqFunction_107(data, threadData); + Flowsheet_eqFunction_111(data, threadData); + Flowsheet_eqFunction_115(data, threadData); + Flowsheet_eqFunction_116(data, threadData); + Flowsheet_eqFunction_117(data, threadData); + Flowsheet_eqFunction_118(data, threadData); + Flowsheet_eqFunction_119(data, threadData); + Flowsheet_eqFunction_120(data, threadData); + Flowsheet_eqFunction_121(data, threadData); + Flowsheet_eqFunction_122(data, threadData); + Flowsheet_eqFunction_123(data, threadData); + Flowsheet_eqFunction_124(data, threadData); + Flowsheet_eqFunction_125(data, threadData); + Flowsheet_eqFunction_126(data, threadData); + Flowsheet_eqFunction_127(data, threadData); + Flowsheet_eqFunction_131(data, threadData); + Flowsheet_eqFunction_135(data, threadData); + Flowsheet_eqFunction_136(data, threadData); + Flowsheet_eqFunction_137(data, threadData); + Flowsheet_eqFunction_138(data, threadData); + Flowsheet_eqFunction_139(data, threadData); + Flowsheet_eqFunction_140(data, threadData); + Flowsheet_eqFunction_141(data, threadData); + Flowsheet_eqFunction_142(data, threadData); + Flowsheet_eqFunction_143(data, threadData); + Flowsheet_eqFunction_144(data, threadData); + Flowsheet_eqFunction_145(data, threadData); + Flowsheet_eqFunction_146(data, threadData); + Flowsheet_eqFunction_147(data, threadData); + Flowsheet_eqFunction_148(data, threadData); + Flowsheet_eqFunction_149(data, threadData); + Flowsheet_eqFunction_150(data, threadData); + Flowsheet_eqFunction_151(data, threadData); + Flowsheet_eqFunction_152(data, threadData); + Flowsheet_eqFunction_153(data, threadData); + Flowsheet_eqFunction_157(data, threadData); + Flowsheet_eqFunction_158(data, threadData); + Flowsheet_eqFunction_159(data, threadData); + Flowsheet_eqFunction_160(data, threadData); + Flowsheet_eqFunction_164(data, threadData); + Flowsheet_eqFunction_165(data, threadData); + Flowsheet_eqFunction_176(data, threadData); + Flowsheet_eqFunction_180(data, threadData); + Flowsheet_eqFunction_181(data, threadData); + Flowsheet_eqFunction_182(data, threadData); + Flowsheet_eqFunction_186(data, threadData); + Flowsheet_eqFunction_190(data, threadData); + Flowsheet_eqFunction_191(data, threadData); + Flowsheet_eqFunction_192(data, threadData); + Flowsheet_eqFunction_193(data, threadData); + Flowsheet_eqFunction_194(data, threadData); + Flowsheet_eqFunction_205(data, threadData); + Flowsheet_eqFunction_209(data, threadData); + Flowsheet_eqFunction_210(data, threadData); + Flowsheet_eqFunction_211(data, threadData); + Flowsheet_eqFunction_215(data, threadData); + Flowsheet_eqFunction_216(data, threadData); + Flowsheet_eqFunction_217(data, threadData); + Flowsheet_eqFunction_218(data, threadData); + Flowsheet_eqFunction_219(data, threadData); + Flowsheet_eqFunction_220(data, threadData); + Flowsheet_eqFunction_221(data, threadData); + Flowsheet_eqFunction_222(data, threadData); + Flowsheet_eqFunction_223(data, threadData); + Flowsheet_eqFunction_224(data, threadData); + Flowsheet_eqFunction_225(data, threadData); + Flowsheet_eqFunction_226(data, threadData); + Flowsheet_eqFunction_227(data, threadData); + Flowsheet_eqFunction_228(data, threadData); + Flowsheet_eqFunction_229(data, threadData); + Flowsheet_eqFunction_230(data, threadData); + Flowsheet_eqFunction_231(data, threadData); + Flowsheet_eqFunction_232(data, threadData); + Flowsheet_eqFunction_233(data, threadData); + Flowsheet_eqFunction_234(data, threadData); + Flowsheet_eqFunction_235(data, threadData); + Flowsheet_eqFunction_236(data, threadData); + Flowsheet_eqFunction_240(data, threadData); + Flowsheet_eqFunction_244(data, threadData); + Flowsheet_eqFunction_245(data, threadData); + Flowsheet_eqFunction_246(data, threadData); + Flowsheet_eqFunction_247(data, threadData); + Flowsheet_eqFunction_248(data, threadData); + Flowsheet_eqFunction_249(data, threadData); + Flowsheet_eqFunction_250(data, threadData); + Flowsheet_eqFunction_251(data, threadData); + Flowsheet_eqFunction_252(data, threadData); + Flowsheet_eqFunction_253(data, threadData); + Flowsheet_eqFunction_254(data, threadData); + Flowsheet_eqFunction_255(data, threadData); + Flowsheet_eqFunction_256(data, threadData); + Flowsheet_eqFunction_257(data, threadData); + Flowsheet_eqFunction_258(data, threadData); + Flowsheet_eqFunction_259(data, threadData); + Flowsheet_eqFunction_260(data, threadData); + Flowsheet_eqFunction_261(data, threadData); + Flowsheet_eqFunction_265(data, threadData); + Flowsheet_eqFunction_266(data, threadData); + Flowsheet_eqFunction_267(data, threadData); + Flowsheet_eqFunction_268(data, threadData); + Flowsheet_eqFunction_272(data, threadData); + Flowsheet_eqFunction_273(data, threadData); + Flowsheet_eqFunction_284(data, threadData); + Flowsheet_eqFunction_288(data, threadData); + Flowsheet_eqFunction_289(data, threadData); + Flowsheet_eqFunction_290(data, threadData); + Flowsheet_eqFunction_294(data, threadData); + Flowsheet_eqFunction_298(data, threadData); + Flowsheet_eqFunction_299(data, threadData); + Flowsheet_eqFunction_300(data, threadData); + Flowsheet_eqFunction_301(data, threadData); + Flowsheet_eqFunction_302(data, threadData); + Flowsheet_eqFunction_313(data, threadData); + Flowsheet_eqFunction_317(data, threadData); + Flowsheet_eqFunction_318(data, threadData); + Flowsheet_eqFunction_319(data, threadData); + Flowsheet_eqFunction_323(data, threadData); + Flowsheet_eqFunction_324(data, threadData); + Flowsheet_eqFunction_325(data, threadData); + Flowsheet_eqFunction_326(data, threadData); + Flowsheet_eqFunction_327(data, threadData); + Flowsheet_eqFunction_328(data, threadData); + Flowsheet_eqFunction_329(data, threadData); + Flowsheet_eqFunction_330(data, threadData); + Flowsheet_eqFunction_331(data, threadData); + Flowsheet_eqFunction_332(data, threadData); + Flowsheet_eqFunction_333(data, threadData); + Flowsheet_eqFunction_334(data, threadData); + Flowsheet_eqFunction_335(data, threadData); + Flowsheet_eqFunction_336(data, threadData); + Flowsheet_eqFunction_337(data, threadData); + Flowsheet_eqFunction_338(data, threadData); + Flowsheet_eqFunction_339(data, threadData); + Flowsheet_eqFunction_340(data, threadData); + Flowsheet_eqFunction_341(data, threadData); + Flowsheet_eqFunction_342(data, threadData); + Flowsheet_eqFunction_343(data, threadData); + Flowsheet_eqFunction_344(data, threadData); + Flowsheet_eqFunction_345(data, threadData); + Flowsheet_eqFunction_346(data, threadData); + Flowsheet_eqFunction_347(data, threadData); + Flowsheet_eqFunction_348(data, threadData); + Flowsheet_eqFunction_349(data, threadData); + Flowsheet_eqFunction_350(data, threadData); + Flowsheet_eqFunction_351(data, threadData); + Flowsheet_eqFunction_352(data, threadData); + Flowsheet_eqFunction_353(data, threadData); + Flowsheet_eqFunction_354(data, threadData); + Flowsheet_eqFunction_355(data, threadData); + Flowsheet_eqFunction_356(data, threadData); + Flowsheet_eqFunction_357(data, threadData); + Flowsheet_eqFunction_358(data, threadData); + Flowsheet_eqFunction_359(data, threadData); + Flowsheet_eqFunction_376(data, threadData); + Flowsheet_eqFunction_377(data, threadData); + Flowsheet_eqFunction_378(data, threadData); + Flowsheet_eqFunction_379(data, threadData); + Flowsheet_eqFunction_380(data, threadData); + Flowsheet_eqFunction_381(data, threadData); + Flowsheet_eqFunction_382(data, threadData); + Flowsheet_eqFunction_383(data, threadData); + Flowsheet_eqFunction_384(data, threadData); + Flowsheet_eqFunction_385(data, threadData); + Flowsheet_eqFunction_386(data, threadData); + Flowsheet_eqFunction_387(data, threadData); + Flowsheet_eqFunction_388(data, threadData); + Flowsheet_eqFunction_389(data, threadData); + Flowsheet_eqFunction_390(data, threadData); + Flowsheet_eqFunction_391(data, threadData); + Flowsheet_eqFunction_392(data, threadData); + Flowsheet_eqFunction_393(data, threadData); + Flowsheet_eqFunction_394(data, threadData); + Flowsheet_eqFunction_395(data, threadData); + Flowsheet_eqFunction_396(data, threadData); + Flowsheet_eqFunction_397(data, threadData); + Flowsheet_eqFunction_398(data, threadData); + Flowsheet_eqFunction_399(data, threadData); + Flowsheet_eqFunction_400(data, threadData); + Flowsheet_eqFunction_401(data, threadData); + Flowsheet_eqFunction_402(data, threadData); + Flowsheet_eqFunction_403(data, threadData); + Flowsheet_eqFunction_404(data, threadData); + Flowsheet_eqFunction_405(data, threadData); + Flowsheet_eqFunction_406(data, threadData); + Flowsheet_eqFunction_407(data, threadData); + Flowsheet_eqFunction_408(data, threadData); + Flowsheet_eqFunction_409(data, threadData); + Flowsheet_eqFunction_410(data, threadData); + Flowsheet_eqFunction_411(data, threadData); + Flowsheet_eqFunction_412(data, threadData); + Flowsheet_eqFunction_413(data, threadData); + Flowsheet_eqFunction_430(data, threadData); + Flowsheet_eqFunction_431(data, threadData); + Flowsheet_eqFunction_432(data, threadData); + Flowsheet_eqFunction_433(data, threadData); + Flowsheet_eqFunction_434(data, threadData); + Flowsheet_eqFunction_435(data, threadData); + Flowsheet_eqFunction_436(data, threadData); + Flowsheet_eqFunction_437(data, threadData); + Flowsheet_eqFunction_438(data, threadData); + Flowsheet_eqFunction_439(data, threadData); + Flowsheet_eqFunction_440(data, threadData); + Flowsheet_eqFunction_441(data, threadData); + Flowsheet_eqFunction_442(data, threadData); + Flowsheet_eqFunction_443(data, threadData); + Flowsheet_eqFunction_444(data, threadData); + Flowsheet_eqFunction_445(data, threadData); + Flowsheet_eqFunction_446(data, threadData); + Flowsheet_eqFunction_447(data, threadData); + Flowsheet_eqFunction_448(data, threadData); + Flowsheet_eqFunction_449(data, threadData); + Flowsheet_eqFunction_450(data, threadData); + Flowsheet_eqFunction_451(data, threadData); + Flowsheet_eqFunction_452(data, threadData); + Flowsheet_eqFunction_453(data, threadData); + Flowsheet_eqFunction_454(data, threadData); + Flowsheet_eqFunction_455(data, threadData); + Flowsheet_eqFunction_456(data, threadData); + Flowsheet_eqFunction_457(data, threadData); + Flowsheet_eqFunction_458(data, threadData); + Flowsheet_eqFunction_459(data, threadData); + Flowsheet_eqFunction_460(data, threadData); + Flowsheet_eqFunction_461(data, threadData); + Flowsheet_eqFunction_462(data, threadData); + Flowsheet_eqFunction_463(data, threadData); + Flowsheet_eqFunction_464(data, threadData); + Flowsheet_eqFunction_465(data, threadData); + Flowsheet_eqFunction_466(data, threadData); + Flowsheet_eqFunction_467(data, threadData); + Flowsheet_eqFunction_468(data, threadData); + Flowsheet_eqFunction_469(data, threadData); + Flowsheet_eqFunction_470(data, threadData); + Flowsheet_eqFunction_471(data, threadData); + Flowsheet_eqFunction_472(data, threadData); + Flowsheet_eqFunction_473(data, threadData); + Flowsheet_eqFunction_474(data, threadData); + Flowsheet_eqFunction_475(data, threadData); + Flowsheet_eqFunction_476(data, threadData); + Flowsheet_eqFunction_477(data, threadData); + Flowsheet_eqFunction_478(data, threadData); + Flowsheet_eqFunction_479(data, threadData); + Flowsheet_eqFunction_480(data, threadData); + Flowsheet_eqFunction_481(data, threadData); + Flowsheet_eqFunction_482(data, threadData); + Flowsheet_eqFunction_483(data, threadData); + Flowsheet_eqFunction_484(data, threadData); + Flowsheet_eqFunction_485(data, threadData); + Flowsheet_eqFunction_486(data, threadData); + Flowsheet_eqFunction_487(data, threadData); + Flowsheet_eqFunction_488(data, threadData); + Flowsheet_eqFunction_489(data, threadData); + Flowsheet_eqFunction_490(data, threadData); + Flowsheet_eqFunction_491(data, threadData); + Flowsheet_eqFunction_492(data, threadData); + Flowsheet_eqFunction_493(data, threadData); + Flowsheet_eqFunction_494(data, threadData); + Flowsheet_eqFunction_495(data, threadData); + Flowsheet_eqFunction_496(data, threadData); + Flowsheet_eqFunction_497(data, threadData); + Flowsheet_eqFunction_498(data, threadData); + Flowsheet_eqFunction_499(data, threadData); + Flowsheet_eqFunction_500(data, threadData); + TRACE_POP +} + + +int Flowsheet_functionInitialEquations(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + + data->simulationInfo->discreteCall = 1; + Flowsheet_functionInitialEquations_0(data, threadData); + data->simulationInfo->discreteCall = 0; + + TRACE_POP + return 0; +} + + +int Flowsheet_functionInitialEquations_lambda0(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + + data->simulationInfo->discreteCall = 1; + data->simulationInfo->discreteCall = 0; + + TRACE_POP + return 0; +} +int Flowsheet_functionRemovedInitialEquations(DATA *data, threadData_t *threadData) +{ + TRACE_PUSH + const int *equationIndexes = NULL; + double res = 0.0; + + + TRACE_POP + return 0; +} + + +#if defined(__cplusplus) +} +#endif + |