Changes between Initial Version and Version 1 of Ticket #6199, comment 9


Ignore:
Timestamp:
2021-03-02T17:00:53Z (4 years ago)
Author:
Karim Adbdelhak

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #6199, comment 9

    initial v1  
    1010==== UNDERDETERMINATION OF 1 VARIABLE(S)
    1111
    12 ---- involved set eqns:
    13   (3/2):        pla.coo.con.vol.dynBal.medium.T = pla.coo.con.vol.dynBal.T_start
    14   (4/3):        pla.coo.con.vol.dynBal.medium.p = pla.coo.con.vol.dynBal.p_start
    15   (6/5):        pla.coo.con.sta_start.X = pla.coo.con.X_start
    16   (7/5):        pla.coo.con.sta_start.X = pla.coo.con.X_start
    17   (8/6):        pla.coo.con.sta_start.T = pla.coo.con.T_start
    18   (15/12):      pla.hea.eva.sta_start.X = pla.hea.eva.X_start
    19   (17/14):      vol.dynBal.medium.T = vol.dynBal.T_start
    20   (22/17):      pum.filter.y = pum.filter.y_start
    21   (24/19):      pum.eff.motDer[1] = 0.0
    22   (25/20):      pum.eff.hydDer[1] = 0.0
    23   (28/23):      $START.pla.coo.port_b1.h_outflow = pla.coo.con.h_outflow_start
    24   (33/28):      pla.coo.con.vol.dynBal.medium.p = pla.sinCoo.p
    25   (49/44):      vol.dynBal.medium.T_degC = -273.15 + vol.dynBal.medium.T
    26   (60/55):      pla.hea.con.preDro.dp = pre.p - pla.sta_b.p
    27   (104/99):     vol.ports[1].h_outflow = 4184.0 * vol.dynBal.medium.T_degC
    28   (135/130):    pla.hea.con.outCon.dhAct = smooth(1, if noEvent(pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow > pla.hea.con.outCon.deltaH) then pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow else if noEvent(pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow < (-pla.hea.con.outCon.deltaH)) then 0.0 else if noEvent(pla.hea.con.outCon.deltaH > 0.0) then 0.25 * (((pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow) / pla.hea.con.outCon.deltaH) ^ 2.0 - 3.0) * (pla.hea.con.preDro.port_b.h_outflow - pla.hea.con.outCon.hSet) / pla.hea.con.outCon.deltaH * (pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow) + 0.5 * (pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow) else 0.5 * (pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow))
    29   (138/133):    pla.hea.con.outCon.hSet = Buildings.Obsolete.DistrictHeatingCooling.Plants.Validation.Plant_Carnot_T_ClosedLoop.pla.hea.con.outCon.Medium.specificEnthalpy(Buildings.Obsolete.DistrictHeatingCooling.Plants.Validation.Plant_Carnot_T_ClosedLoop.pla.hea.con.outCon.Medium.setState_pTX(pla.sta_b.p, pla.hea.con.outCon.T, {}))
    30   (140/135):    pla.hea.con.preDro.port_b.h_outflow = vol.ports[1].h_outflow
    31   (141/136):    pla.hea.con.preDro.dp = homotopy(Buildings.Fluid.BaseClasses.FlowModels.basicFlowFunction_m_flow(pum.filter.y, pla.hea.con.preDro.k, pla.hea.con.preDro.m_flow_turbulent), 30000.0 * pum.filter.y / pla.hea.con.preDro.m_flow_nominal_pos)
    32   (180/175):    pla.coo.con.vol.dynBal.medium.u = -84437.5 + pla.coo.port_b1.h_outflow
    33   (182/177):    pla.coo.port_b1.h_outflow = 1006.0 * pla.coo.con.vol.dynBal.medium.T_degC * pla.coo.staB1.X[2] + (2501014.5 + 1860.0 * pla.coo.con.vol.dynBal.medium.T_degC) * pla.coo.con.vol.dynBal.medium.Xi[1]
    34   (183/178):    pla.coo.con.vol.dynBal.medium.T_degC = -273.15 + pla.coo.con.vol.dynBal.medium.T
    35   (197/192):    pla.coo.sta_a1.X[2] = 1.0 - pla.coo.sta_a1.X[1]
    36   (198/193):    pla.coo.sta_a1.X[1] = if noEvent(pla.coo.m1_flow > 0.0) then pla.sou2.X[1] else 0.01
    37   (202/197):    pla.hea.eva.h_outflow_start = 1006.0 * (-273.15 + pla.hea.eva.sta_start.T) * (1.0 - pla.hea.eva.sta_start.X[1]) + (2501014.5 + 1860.0 * (-273.15 + pla.hea.eva.sta_start.T)) * pla.hea.eva.sta_start.X[1]
    38   (203/198):    pla.coo.con.h_outflow_start = 1006.0 * (-273.15 + pla.coo.con.sta_start.T) * (1.0 - pla.coo.con.sta_start.X[1]) + (2501014.5 + 1860.0 * (-273.15 + pla.coo.con.sta_start.T)) * pla.coo.con.sta_start.X[1]
     12---- involved set eqns (26/25):
     13  2(2): algorithm
     14  pulse.count := integer((time - pulse.startTime) / pulse.period);
     15  pulse.T_start := pulse.startTime + /*Real*/(pulse.count) * pulse.period;
    3916
    40 ---- involved set vars:
     17  3(1): pla.coo.con.vol.dynBal.medium.T = pla.coo.con.vol.dynBal.T_start
     18  5(1): pla.coo.con.vol.dynBal.medium.Xi[1] = pla.coo.con.vol.dynBal.X_start[1]
     19  6(2): pla.coo.con.sta_start.X = pla.coo.con.X_start
     20  12(1):        pla.hea.eva.vol.dynBal.medium.p = pla.hea.eva.vol.dynBal.p_start
     21  14(2):        pla.hea.eva.sta_start.X = pla.hea.eva.X_start
     22  17(1):        vol.dynBal.medium.T = vol.dynBal.T_start
     23  19(2):        pum.filter.cr = Modelica.Blocks.Continuous.Internal.Filter.base.CriticalDamping(2, pum.filter.normalized)
     24  20(2):        (pum.filter.r, _, _, _) = Modelica.Blocks.Continuous.Internal.Filter.roots.lowPass(pum.filter.cr, {}, {}, pum.filter.f_cut)
     25  23(1):        $DER.pum.filter.x[1] = 0.0
     26  28(1):        $START.pla.coo.port_b1.h_outflow = pla.coo.con.h_outflow_start
     27  44(1):        pla.sinHea.X_in_internal[2] = pla.sinHea.X[2]
     28  55(1):        pla.PComHea = pla.QHea_flow / pla.hea.COP
     29  99(1):        $DER.vol.dynBal.U = vol.dynBal.Hb_flow + heaFlo.Q_flow
     30  130(1):       pla.hea.port_b2.h_outflow = 1006.0 * pla.hea.eva.vol.dynBal.medium.T_degC * pla.hea.staB2.X[2] + (2501014.5 + 1860.0 * pla.hea.eva.vol.dynBal.medium.T_degC) * pla.hea.eva.vol.dynBal.medium.Xi[1]
     31  133(1):       pla.QHea_flow = pla.hea.con.outCon.m_flow_pos * pla.hea.con.outCon.dhAct
     32  135(1):       pla.hea.con.outCon.dhAct = smooth(1, if noEvent(pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow > pla.hea.con.outCon.deltaH) then pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow else if noEvent(pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow < (-pla.hea.con.outCon.deltaH)) then 0.0 else if noEvent(pla.hea.con.outCon.deltaH > 0.0) then 0.25 * (((pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow) / pla.hea.con.outCon.deltaH) ^ 2.0 - 3.0) * (pla.hea.con.preDro.port_b.h_outflow - pla.hea.con.outCon.hSet) / pla.hea.con.outCon.deltaH * (pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow) + 0.5 * (pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow) else 0.5 * (pla.hea.con.outCon.hSet - pla.hea.con.preDro.port_b.h_outflow))
     33  136(1):       pla.hea.con.outCon.m_flow_non_zero = smooth(1, if noEvent(pum.filter.y - pla.hea.con.outCon.m_flow_small > 0.5 * pla.hea.con.outCon.m_flow_small) then pum.filter.y else if noEvent(pum.filter.y - pla.hea.con.outCon.m_flow_small < (-0.5) * pla.hea.con.outCon.m_flow_small) then pla.hea.con.outCon.m_flow_small else if noEvent(0.5 * pla.hea.con.outCon.m_flow_small > 0.0) then 0.25 * (4.0 * ((pum.filter.y - pla.hea.con.outCon.m_flow_small) / pla.hea.con.outCon.m_flow_small) ^ 2.0 - 3.0) * 2.0 * (pum.filter.y - pla.hea.con.outCon.m_flow_small) / pla.hea.con.outCon.m_flow_small * (pla.hea.con.outCon.m_flow_small - pum.filter.y) + 0.5 * (pum.filter.y + pla.hea.con.outCon.m_flow_small) else 0.5 * (pum.filter.y + pla.hea.con.outCon.m_flow_small))
     34  175(1):       pla.coo.con.vol.dynBal.U = pla.coo.con.vol.dynBal.m * pla.coo.con.vol.dynBal.medium.u
     35  177(1):       pla.coo.con.vol.dynBal.mb_flow = 1.184307920059215e-05 * pla.coo.con.vol.dynBal.fluidVolume * $DER.pla.coo.con.vol.dynBal.medium.p
     36  178(1):       pla.coo.staB1.X[2] = 1.0 - pla.coo.con.vol.dynBal.medium.Xi[1]
     37  192(1):       pla.coo.sta_a2.T = 273.15 + 0.0002390057361376673 * (if noEvent((-pum.filter.y) > 0.0) then vol.ports[1].h_outflow else pla.port_b.h_outflow)
     38  193(1):       pla.coo.sta_b1.T = 273.15 + ((if noEvent((-pla.sinCoo.ports[1].m_flow) > 0.0) then pla.sinCoo.ports[1].h_outflow else pla.coo.port_b1.h_outflow) + (-2501014.5) * pla.coo.sta_b1.X[1]) / (1006.0 * (1.0 - pla.coo.sta_b1.X[1]) + 1860.0 * pla.coo.sta_b1.X[1])
     39  197(1):       pla.coo.sta_a1.X[2] = 1.0 - pla.coo.sta_a1.X[1]
     40  198(1):       pla.coo.sta_a1.X[1] = if noEvent(pla.coo.m1_flow > 0.0) then pla.sou2.X[1] else 0.01
     41
     42---- involved set vars (28):
    4143  (1):  pum.eff.hydDer[1]:VARIABLE(fixed = false protected = true final = true )  "Coefficients for polynomial of hydraulic efficiency vs. volume flow rate" type: Real [1]
    4244  (2):  pum.eff.motDer[1]:VARIABLE(fixed = false protected = true final = true )  "Coefficients for polynomial of motor efficiency vs. volume flow rate" type: Real [1]