Esempio n. 1
0
def CCLLE(BBPRNT, JFC, NCOND, NGATE, GS31, GS32, GG32, EFKV):

    IHLP = [72, 63, 65, 67]
    SP1 = '       '
    SP = '          '

    if (BBPRNT):
        #WRITE(JFC,*) '===== INPUT DATA TO CCLLE                    ====='
        #WRITE(JFC,*) SP1,'NCOND ',SP,'NGATE ',SP,'GS31 ',SP,'GS32 '
        #WRITE(JFC,*) NCOND,NGATE,GS31,GS32
        #WRITE(JFC,*) SP1,'GG32  ',SP,'EFKV  '
        #WRITE(JFC,*) GG32,EFKV
        pass

    for I in range(1, 5):
        if ((GS31[I - 1] <= 1.E-5)): continue
        IX = 69 + NCOND[I - 1]
        COST(4, IX, 167 + I, GS31[I - 1], 1., 1., 0., 1., GS31[I - 1], 1., 1.,
             1.)

    COST(3, 0, 172, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    for I in range(1, 5):
        if (not (GS32[I - 1] <= 1.E-4)): continue
        IX = IHLP[I - 1] + NGATE[I - 1]
        COST(4, IX, 172 + I, GS32[I - 1], 1., 1., GG32[I - 1], 1.,
             GS32[I - 1] + GG32[I - 1], 1., 1., 1.)

    COST(3, 0, 177, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    for I in range(1, 5):
        GS3 = GS31[I - 1] + GS32[I - 1] + GG32[I - 1]
        COST(4, 75, 178, 0., 1., 1., 0., 1., EFKV[I - 1], GS3, 1., 1.)

    COST(3, 0, 178, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
    COST(2, 0, 179, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
Esempio n. 2
0
def CPIPE(BBPRNT, JFC, GS81, GS91, GS92, GS102, GG81, GG83, GG91, GG92, GG94,
          GG101, GG102):
    from cost import COST
    SP1 = '       '
    SP = '          '
    if (BBPRNT):
        #WRITE(JFC,*) '===== INPUT DATA TO CPIPE                    ====='
        #WRITE(JFC,*) SP1,'GS81 ',SP,'GS91 ',SP,'GS92 ',SP,'GS102'
        #WRITE(JFC,*) GS81,GS91,GS92,GS102
        #WRITE(JFC,*) SP1,'GG81  ',SP,'GG83  ',SP,'GG91  ',SP,'GG92  '
        #WRITE(JFC,*) GG81,GG83,GG91,GG92
        #WRITE(JFC,*) SP1,'GG94  ',SP,'GG101 ',SP,'GG102 '
        #WRITE(JFC,*) GG94,GG101,GG102
        pass
    COST(3, 116, 214, GS81, 1., 1., GG81, 1., GS81 + GG81 + GG83, 1., 1., 1.)
    COST(3, 117, 215, 0., 1., 1., 0., 1., GS81 + GG81 + GG83, 1., 1., 1.)
    COST(3, 118, 216, 0., 1., 1., GG83, 1., GS81 + GG81 + GG83, 1., 1., 1.)
    COST(2, 0, 217, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    COST(3, 120, 218, GS91, 1., 1., GG91, 1., GS91 + GG91, 1., 1., 1.)
    if (not (int(GS92) == 0)):
        COST(3, 121, 219, GS92, 1., 1., GG92, 1., GS92 + GG92, 1., 1., 1.)

    COST(3, 122, 220, 0., 1., 1., 0., 1., GS91 + GG91 + GS92 + GG92 + GG94, 1.,
         1., 1.)
    COST(3, 123, 221, 0., 1., 1., GG94, 1., GS91 + GG91 + GS92 + GG92 + GG94,
         1., 1., 1.)
    COST(2, 0, 222, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    COST(3, 125, 223, 0., 1., 1., GG101, 1., 1., 1., 1., 1.)
    COST(3, 127, 225, GS102, 1., 1., GG102, 1., GS102, 1., 1., 1.)
    COST(2, 0, 226, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
Esempio n. 3
0
def CTANK(BBPRNT,JFC,NTANK,ACOV,TANKDI,KODRAD,NRAD,RSEK,\
               NCEQ,GS51,GS52,GS53,GS61,GS71,GS72,GG151,GG152,\
                      GG51,GG52,GG54,GG55,GG61,GG63,GG71,GG72,GG74):
    
    SP1='       '
    SP='          '
    if(BBPRNT):
        #WRITE(JFC,*) '===== INPUT DATA TO CTANK                    ====='
        #WRITE(JFC,*) SP1,'NTANK ',SP,'ACOV  ',SP,'TANKDI',SP,'KODRAD'
        #WRITE(JFC,*) NTANK,ACOV,TANKDI,KODRAD
        #WRITE(JFC,*) SP1,'NRAD  ',SP,'RSEK  ',SP,'NCEQ  ',SP,'GS51 '
        #WRITE(JFC,*) NRAD,RSEK,NCEQ,GS51
        #WRITE(JFC,*) SP1,'GS52 ',SP,'GS53 ',SP,'GS61 ',SP,'GS71 '
        #WRITE(JFC,*) GS52,GS53,GS61,GS71
        #WRITE(JFC,*) SP1,'GS72 ',SP,'GG151 ',SP,'GG152 ',SP,'GG51  '
        #WRITE(JFC,*) GS72,GG151,GG152,GG51
        #WRITE(JFC,*) SP1,'GG52  ',SP,'GG54  ',SP,'GG55  ',SP,'GG61  '
        #WRITE(JFC,*) GG52,GG54,GG55,GG61
        #WRITE(JFC,*) SP1,'GG63  ',SP,'GG71  ',SP,'GG72  ',SP,'GG74  '
        #WRITE(JFC,*) GG63,GG71,GG72,GG74
        pass
    IX=87+NTANK

    COST (4,IX,197,GS51,ACOV,1.,GG51,1.,TANKDI,1.,1.,1.)

    COST (4,96,198,GS52,1.,1.,GG52,1.,GS52+GG52,1.,1.,1.)

    COST (4,97,199,0.,1.,1.,0.,1.,GS51+GG51+GS52+GG52,1.,1.,1.)
    BBHELP = (GS53 > 0.1)

    if(not BBHELP):
        COST(3,0,200,0.,1.,1.,0.,1.,1.,1.,1.,1.)
    else:
        COST(3,124,200,GS53,1.,1.,0.,1.,GS53,1.,1.,1.)

    IX = 97 + KODRAD    
    COST (3,IX,201,0.,1.,1.,GG54,RSEK,1.,1.,1.,1.)
    COST (4,103,202,0.,1.,1.,GG55,1.,\
        GS51+GG51+GS52+GG52+GG54+GG55, 1.,1.,1.)
    if(NCEQ==4):
        COST (4,119,202,0.,1.,1.,0.,1.,GG151+GG152,1.,1.,1.)
    COST (3,0,202,0.,1.,1.,0.,1.,1.,1.,1.,1.)
    COST (2,0,203,0.,1.,1.,0.,1.,1.,1.,1.,1.)

    #COVER COSTS
    if(NTANK>=3 and NTANK<=6): IX=110
    if(NTANK<=2 or NTANK ==7):IX=111
    if(NTANK==8): IX=112

    COST (4,IX,208,GS71,1.,1.,GG71,1.,GS71+GG71,1.,1.,1.)
    COST (4,113,209,GS72,1.,1.,GG72,1.,GS72+GG72,1.,1.,1.)
    COST (4,114,210,0.,1.,1.,0.,1.,GS71+GG71+GS72+GG72,\
            1., 1., 1.)
    COST (3,0,211,0.,1.,1.,0.,1.,1.,1.,1.,1.)
    COST (3,115,212,0.,1.,1.,GG74,1.,GS71+GG71+GS72+GG72+GG74,\
               1.,1.,1.)
    COST (2,0,213,0.,1.,1.,0.,1.,1.,1.,1.,1.)

    #COSTS  COOLING EQUIPMENT

    if((NCEQ==3 or NCEQ==5)):
        IX=102+NCEQ
        COST (3,IX,204,GS61,1.,1.,GG61,1.,GS61+GG61+GG63,1.,1.,1.)
        COST (3,108,205,0.,1.,1.,0.,1.,GS61+GG61+GG63,1.,1.,1.)
        COST (3,109,206,0.,1.,1.,GG63,1.,GS61+GG61+GG63,1.,1.,1.)
        COST (2,0,207,0.,1.,1.,0.,1.,1.,1.,1.,1.)
    COST (2,0,207,0.,1.,1.,0.,1.,1.,1.,1.,1.)    
Esempio n. 4
0
def CCORET(BBPRNT,JFC,NCOR,NLAM,NCLA,GS211,GS212,\
    GG21,GS241,GS242,GG24,GS25,DCORE):

    if (BBPRNT):
        #WRITE(JFC,*) '===== INPUT DATA TO CCORET                   ====='
        #WRITE(JFC,*) SP1,'NCOR  ',SP,'NLAM  ',SP,'NCLA  ',SP,'GS211'
        #WRITE(JFC,*) NCOR,NLAM,NCLA,GS211
        #WRITE(JFC,*) SP1,'GS212',SP,'GG21  ',SP,'GS241',SP,'GS242'
        #WRITE(JFC,*) GS212,GG21,GS241,GS242
        #WRITE(JFC,*) SP1,'GG24  ',SP,'GS25 ',SP,'DCORE '
        #WRITE(JFC,*) GG24,GS25,DCORE
        pass

    IX = 29 + NCLA
    COST(4, IX, 153, GS211, 1., 1., 0., 1., GS211, 1., 1., 1.)

    IX = 33 + NCLA
    COST(4, IX, 154, GS212, 1., 1., 0., 1., GS212, 1., 1., 1.)

    IX = 37 + NCLA
    COST(3, IX, 155, 0., 1., 1., GG21, GG21, 1., 1., 1., 1.)

    if (NLAM == 1):
        COST(4, 46, 160, GS241, 1., 1., 0., 1., 1., 1., 1., 1.)
        COST(4, 47, 161, GS242, 1., 1., 0., 1., 1., 1., 1., 1.)

    elif (NLAM == 2):
        COST(4, 48, 162, GS241, 1., 1., 0., 1., 1., 1., 1., 1.)
        COST(4, 49, 163, GS242, 1., 1., 0., 1., 1., 1., 1., 1.)

    elif (NLAM == 3):
        COST(4, 104, 162, GS241, 1., 1., 0., 1., 1., 1., 1., 1.)
        COST(4, 106, 163, GS242, 1., 1., 0., 1., 1., 1., 1., 1.)

    elif (NLAM == 4):
        COST(4, 76, 162, GS241, 1., 1., 0., 1., 1., 1., 1., 1.)
        COST(4, 76, 163, GS242, 1., 1., 0., 1., 1., 1., 1., 1.)

    if (NCOR == 1): IX = 50
    if (NCOR == 3): IX = 51
    if (NCOR >= 7): IX = 45 + NCOR

    if (NLAM == 3 or NLAM == 4):
        COST(4, IX, 164, 0.999, DCORE, 1., GG24, 1., DCORE, 1.3, 1., 1.)
    else:
        COST(4, IX, 164, 0.999, DCORE, 1., GG24, 1., DCORE, 1., 1., 1.)
    COST(3, 0, 165, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
    if (not (int(GS25) == 0)):
        COST(3, 63, 166, GS25, 1., 1., 0., 1., GS25, 1., 1., 1.)

    COST(2, 0, 167, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    return
Esempio n. 5
0
def CACTP(BBPRNT, JFC, GS41, GS42, GS45, GS46, GS47, GS48, NLIMB, DCORE, GS24,
          GG49, RCONN, ACONDA, EFKV, NG, BBREAC):
    from cost import COST
    SP1 = '       '
    SP = '          '

    if (BBPRNT):
        #WRITE(JFC,*) '===== INPUT DATA TO CAPTP                    ====='
        #WRITE(JFC,*) SP1,'GS41 ',SP,'GS42 ',SP,'GS45 ',SP,'GS46 '
        #WRITE(JFC,*) GS41 ,GS42 ,GS45 ,GS46
        #WRITE(JFC,*) SP1,'GS47 ',SP,'GS48 ',SP,'NLIMB ',SP,'DCORE '
        #WRITE(JFC,*) GS47 ,GS48 ,NLIMB ,DCORE
        #WRITE(JFC,*) SP1,'GS24 ',SP,'GG49  ',SP,'RCONN ',SP,'ACONDA'
        #WRITE(JFC,*) GS24 ,GG49  ,RCONN ,ACONDA
        #WRITE(JFC,*) SP1,'EFKV  ',SP,'NG    ',SP,'BBREAC'
        #WRITE(JFC,*) EFKV  ,NG    ,BBREAC
        pass

    # INSULATION DETAILS

    #****    MAIN DUCT    ****
    COST(4, 77, 180, GS41, 1., 1., 0., 1., GS41, 1., 1., 1.)
    #****  OUTS.OUT.WIND  ****
    COST(4, 78, 181, GS42, 1., 1., 0., 1., GS42, 1., 1., 1.)
    #****  OUT CORE LIMB  ****
    COST(4, 81, 182, GS45, 1., 1., 0., 1., GS45, 1., 1., 1.)
    XLIMB = NLIMB
    COST(4, 82, 183, GS46, DCORE, 1., 0., 1., XLIMB, GS46 / XLIMB, 1., 1.)
    COST(3, 0, 184, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    #ASSEMBLY WINDINGS
    COST(3, 79, 185, 0., 1., 1., 0., 1., GS41 + GS42, 1., 1., 1.)

    #WINDING SUPPORT
    if (not (int(GS47) == 0)):
        COST(3, 83, 188, GS47, 1., 1., 0., 1., GS47, 1., 1., 1.)
    #ASSEMBLING ACTIVE PART
    if (not BBREAC):
        COST(3, 85, 190, 0., 1., 1., GG49, 1., GS24, 1., 1., 1.)
    else:
        COST(3, 86, 190, 0., 1., 1., GG49, 1., GS24, 1., 1., 1.)

    if (GS48 > 1.E-3):
        COST(3, 84, 189, GS48, 1., 1., 0., 1., GS48, 1., 1., 1.)

    for I in range(1, 1 + NG):
        if (not (EFKV[I - 1] > 50)):
            ACM3 = 1
            COST(4, 87, 190 + I, 0., 1., 1., 0., 1., RCONN[I - 1],
                 ACONDA[I - 1], ACM3, 1.)
            continue
        ACM3 = EFKV[I - 1] / 50
        COST(4, 87, 190 + I, 0., 1., 1., 0., 1., RCONN[I - 1], ACONDA[I - 1],
             ACM3, 1.)

    COST(3, 0, 195, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
    COST(2, 0, 196, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
Esempio n. 6
0
def CFIN(BBPRNT, JFC, GS24, GS111, GS112, GS141, GS142, GS1210, GG111, GG1210,
         GG151, GG152):
    from cost import COST
    SP1 = '       '
    SP = '          '
    if (BBPRNT):
        #WRITE(JFC,*) '===== INPUT DATA TO CFIN                     ====='
        #WRITE(JFC,*) SP1,'GS24 ',SP,'GS111',SP,'GS112',SP,'GS141'
        #WRITE(JFC,*) GS24,GS111,GS112,GS141
        #WRITE(JFC,*) SP1,'GS142',SP,'GS1210',SP,'GG111',SP,'GG1210'
        #WRITE(JFC,*) GS142,GS1210,GG111,GG1210
        #WRITE(JFC,*) SP1,'GG151 ',SP,'GG152 '
        #WRITE(JFC,*) GG151,GG152
        pass

    if (not (int(GS111) == 0)):
        COST(3, 130, 227, GS111, 1., 1., GG111, 1., GS111 + GG111, 1., 1., 1.)
        COST(3, 131, 228, GS112, 1., 1., 0., 1., 1., 1., 1., 1.)
        COST(3, 132, 229, 0., 1., 1., 0., 1., GS111 + GG111 + GS112, 1., 1.,
             1.)
        COST(2, 0, 230, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    COST(3, 133, 231, GS1210, 1., 1., GG1210, 1., GS1210 + GG1210, 1., 1., 1.)
    COST(3, 134, 232, 0., 1., 1., 0., 1., GS24, 1., 1., 1.)
    COST(2, 0, 233, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    COST(3, 135, 234, 0.999, 1., GS24, 0.999, GS24, GS24, 1., 1., 1.)
    COST(2, 0, 234, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    COST(3, 136, 236, GS141, 1., 1., 0., 1., 1., 1., 1., 1.)
    COST(3, 137, 237, GS142, 1., 1., 0., 1., 1., 1., 1., 1.)
    COST(2, 0, 238, 0., 1., 1., 0., 1., 1., 1., 1., 1.)

    COST(3, 145, 239, 0., 1., 1., GG151, GG151, 1., 1., 1., 1.)
    COST(3, 146, 240, 0., 1., 1., GG152, GG152, 1., 1., 1., 1.)
Esempio n. 7
0
def CWIND(BBPRNT,JFC,NUMBER,NCOND,LTYPE,RGUID,GS11,\
                   GS121,GS122,GS131,GS132,GS133,GS134,\
                   GN1351,GN1352,GS136,APART,TCOV1,TCOV2,\
                   CCOV1,CCOV2,NLIMB,DWIND,WWIND,WCLS,WDUCT,\
                   NTAPP,ACOND,XBUNCH,ABUNCH,ZCOOL,NOUCO,\
                   ZPART,BBEXAC,BPART,ZCABEL,ZCOIAR,ZLAG,BBLNX,\
                   RPRTRR,ZWIND,IPISOL,HPART,CBUNCH,CONVAR,TCEPOX):
    import common as CM
    SP1 = '       '
    SP = '          '
    IX = 19 * (NUMBER - 1)
    XTAPP = 0
    if (BBPRNT):
        #WRITE(JFC,*) '===== INPUT DATA TO C#WIND ====='
        #WRITE(JFC,*) SP1,'NUMBER',SP,'NCOND ',SP,'LTYPE ',SP,'RGUID '
        #WRITE(JFC,*) NUMBER,NCOND,LTYPE,RGUID
        #WRITE(JFC,*) SP1,'GS11  ',SP,'GS121 ',SP,'GS122 ',SP,'GS131 '
        #WRITE(JFC,*) GS11,GS121,GS122,GS131
        #WRITE(JFC,*) SP1,'GS132 ',SP,'GS133 ',SP,'GS134 ',SP,'GN1351'
        #WRITE(JFC,*) GS132,GS133,GS134,GN1351
        #WRITE(JFC,*) SP1,'GN1352',SP,'GS136 ',SP,'APART ',SP,'TCOV1 '
        #WRITE(JFC,*) GN1352,GS136,APART,TCOV1
        #WRITE(JFC,*) SP1,'TCON2 ',SP,'CCOV1 ',SP,'CCOV2 ',SP,'NLIMB '
        #WRITE(JFC,*) TCOV2,CCOV1,CCOV2,NLIMB
        #WRITE(JFC,*) SP1,'D#WIND ',SP,'#W#WIND ',SP,'#WCLS  ',SP,'#WDUCT '
        #WRITE(JFC,*) D#WIND,#W#WIND,#WCLS,#WDUCT
        #WRITE(JFC,*) SP1,'NTAPP ',SP,'ACOND ',SP,'XBUNCH',SP,'ABUNCH'
        #WRITE(JFC,*) NTAPP,ACOND,XBUNCH,ABUNCH
        #WRITE(JFC,*) SP1,'ZCOOL ',SP,'NOUCO ',SP,'ZPART ',SP,'BBEXAC'
        #WRITE(JFC,*) ZCOOL,NOUCO,ZPART,BBEXAC
        #WRITE(JFC,*) SP1,'BPART ',SP,'ZCABEL',SP,'ZCOIAR',SP,'ZLAG  '
        #WRITE(JFC,*) BPART,ZCABEL,ZCOIAR,ZLAG
        #WRITE(JFC,*) SP1,'BBLNX ',SP,'RPRTRR',SP,'Z#WIND ',SP,'IPISOL'
        #WRITE(JFC,*) BBLNX,RPRTRR,Z#WIND,IPISOL
        #WRITE(JFC,*) SP1,'HPART ',SP,'CBUNCH'
        #WRITE(JFC,*) HPART,CBUNCH
        #WRITE(JFC,*) SP1,'CM.LC(1)-CM.LC(4)'
        #WRITE(JFC,*) (CM.LC(I),I=1,4)
        #WRITE(JFC,*) SP1,'CM.LC(5)-CM.LC(8)'
        #WRITE(JFC,*) (CM.LC(I),I=5,8)
        pass

    if (BBEXAC):
        #Setting the correct BLOCK number in cost file.
        if (CONVAR == 'YES'):
            CM.LC[0] = 24
            if (APART > 20): CM.LC[0] = 34
        else:
            CM.LC[0] = 1
            if (APART > 20): CM.LC[0] = 2

        CM.LC[1] = 3
        if (APART > 30): CM.LC[1] = 4

        if (TCEPOX == 'YES'):
            CM.LC[2] = 21
            if (ACOND > 300): CM.LC[2] = 38
        else:
            CM.LC[2] = 5
            if (ACOND > 300): CM.LC[2] = 6

        CM.LC[3] = 10
        if (WWIND > 26): CM.LC[3] = 11
        CM.LC[4] = 0
        HLP = DWIND + WWIND
        if ((LTYPE == 3 or LTYPE == 4) and HLP >= 700 and HLP <= 1400):
            CM.LC[4] = 1

    if (not (LTYPE == 8)):
        if (NCOND == 1):
            COST(3, CM.LC[0], IX + 1, GS11, 1., APART, 0., 1., 1., 1., 1., 1.)

        if (NCOND == 2):
            COST(3, CM.LC[1], IX + 2, GS11, 1., APART, 0., 1., 1., 1., 1., 1.)

        if (NCOND == 3):
            COST(3, CM.LC[2], IX + 3, GS11, 1., ACOND, 0., 1., 1., 1., 1., 1.)
            goto._20

    else:
        if (NCOND == 2):
            COST(3, 6, IX + 2, GS11, 1., BPART, 0., 1., 1., 1., 1., 1.)
        COST(3, 5, IX + 1, GS11, 1., BPART, 0., 1., 1., 1., 1., 1.)

    if (0 < LTYPE <= 7):
        IU = 7
        if (LTYPE == 2 or LTYPE >= 6): IU = 8

        if (IPISOL == 1):
            if (abs(GS121) >= 1.E-6):
                COST(4, IU, IX + 4, GS121, 1., 1., 0., 1., GS121, TCOV1, CCOV1,
                     1.)
            COST(3, IU, IX + 4, GS122, 1., 1., 0., 1., GS122, TCOV2, CCOV2, 1.)

        elif (IPISOL == 2 or IPISOL == 3):
            COST(4, 126 + IPISOL, IX + 4, GS121, 1., 1., 0., 1., 0., 0., 0.,
                 0.)
            COST(3, IU, IX + 4, GS122, 1., 1., 0., 1., GS122, TCOV2, CCOV2, 1.)

    elif (LTYPE == 8):
        COST(3, 7, IX + 4, GS121, 1., TCOV1, 0., 1., GS121, 1., 1., 1.)

    elif (LTYPE == 9):
        ACM2 = DWIND * 3.1416E-3
        ACM4 = 0.38 + 0.37 * (RPRTRR - 1.)
        COST(4, 8, IX + 4, GS122, 1., 1., 0., 1., ZWIND, ACM2, ZCABEL, ACM4)
        COST(3, 9, IX + 4, GS121, 1., 1., 0., 1., 1., 1., 1., 1.)

    label._20
    XLIMB = NLIMB
    GS = GS131 / XLIMB

    if (LTYPE == 1 or LTYPE == 3 or LTYPE == 4 or LTYPE == 5):
        COST(4, 17, IX + 5, GS131, DWIND, 1., 0., 1., XLIMB, GS, 1., 1.)

    elif (LTYPE == 2 or LTYPE == 6 or LTYPE == 7):
        COST(4, 18, IX + 5, GS131, DWIND, 1., 0., 1., XLIMB, GS, 1., 1.)

    elif (LTYPE == 8):
        COST(4, 11, IX + 5, GS131, 1., 1., 0., 1., XLIMB, 1., 1., 1.)
        COST(4, 23, IX + 5, GN1352, 1., 1., 0., 1., 1., 1., 1., 1.)

    elif (LTYPE == 9):
        COST(4, 12, IX + 5, GS131, 1., 1., 0., 1., 1., 1., 1., 1.)

    GS = GS132 / XLIMB
    if (LTYPE == 1 or LTYPE == 3 or LTYPE == 4 or LTYPE == 5):
        COST(4, 9, IX + 6, GS132, DWIND, 1., 0., 1., XLIMB, GS, 1., 1.)

    elif (LTYPE == 2 or 6 or 7):
        COST(4, CM.LC[3], IX + 6, GS132, DWIND, 1., 0., 1., XLIMB, GS, 1., 1.)

    elif (LTYPE == 8 or LTYPE == 9):
        GS = GS132 + GS136
        COST(4, 13, IX + 6, GS, 1., 1., 0., 1., GS, 1., 1., 1.)

    if (not (abs(GS133) < 1.E-6)):
        COST(4, 12, IX + 7, GS133, 1., 1., 0., 1., GS133, 1., 1., 1.)

    if (not (abs(GS134) < 1.E-6)):
        if (0 < LTYPE <= 7):
            COST(4, 13, IX + 8, GS134, 1., 1., 0., 1., GS134, WCLS, 1., 1.)
        elif (LTYPE == 8 or LTYPE == 9):
            ACM4 = 1. + 10. / (ZCOOL + ZCOIAR + XLIMB)
            COST(4, 14, IX + 8, GS134, 1., 1., 0., 1., ZCOOL, ZCOIAR, XLIMB,
                 ACM4)

    if (0 < LTYPE <= 7):
        COST(4, 14, IX + 9, GN1351, 1., 1., 0., 1., GN1351, 1., 1., 1.)
        COST(4, 15, IX + 10, GN1352, 1., 1., 0., 1., GN1352, 1., 1., 1.)

    elif (LTYPE == 9):
        COST(4, 10, IX + 9, GN1351, 1., 1., 0., 1., 1., 1., 1., 1.)

    GS = GS136 / XLIMB
    if (not (abs(GS136) < 1.E-6 or LTYPE > 7)):
        COST(4, 16, IX + 11, GS136, DWIND, 1., 0., 1., XLIMB, GS, 1., 1.)

    COST(3, 0, IX + 12, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
    XCOOLD = ZCOOL + 1

    XOGUR = RGUID / 2. * DWIND * 0.0248

    if (LTYPE == 1):
        IA = 19
        IB = 138
        IC = 25
        ID = 22

    elif (LTYPE == 2):
        IA = 20
        IB = 139
        IC = 26
        ID = 23

    elif (LTYPE == 3):
        IA = 19
        IB = 140
        IC = 25
        ID = 22

    elif (LTYPE == 4):
        IA = 19
        IB = 140
        IC = 25
        ID = 22

    elif (LTYPE == 5):
        IA = 19
        IB = 141
        IC = 27
        ID = 22

    elif (LTYPE == 6):
        IA = 19
        IB = 142
        IC = 25
        ID = 23

    elif (LTYPE == 7):
        IA = 20
        IB = 143
        IC = 26
        ID = 23

    elif (LTYPE == 8):
        COST(3, 15, 18 + IX, 0., 0., 0., 0., 1., XLIMB, 1., 1., 1.)
        COST(2, 0, 19 * NUMBER, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
        return
    elif (LTYPE == 9):
        COST(4, 16, 15 + IX, 0., 0., 0., 0., 1., ZWIND, XLIMB, 1., 1.)
        ACM1 = ZLAG - 1
        IY = 17
        if (BBLNX): IY = 18
        COST(4, IY, 15 + IX, 0., 0., 0., 0., 1., ACM1, ZCABEL, XLIMB, ZCOIAR)
        ACM1 = RPRTRR - 1
        COST(4, 19, 15 + IX, 0., 0., 0., 0., 1., ACM1, ZCABEL, XLIMB, ZCOIAR)
        COST(4, 20, 14 + IX, 0., 0., 0., 0., 1., XTAPP, 1., 1., 1.)
        ACM2 = 1. + WDUCT / 15
        COST(4, 21, 13 + IX, 0., 0., 0., 0., 1., XLIMB, ACM2, 1., 1.)
        ACM2 = 1. + 1.154 / ZCOIAR
        COST(4, 22, 16 + IX, 0., 0., 0., 0., 1., ZCOIAR, ACM2, 1., 1.)
        COST(3, 0, 18 + IX, 0., 0., 0., 0., 0., 0., 0., 0., 0.)
        COST(2, 0, 19 * NUMBER, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
        return

    COST(4, IA, IX + 13, 0., 1., 1., 0., 1., XLIMB, DWIND, WDUCT, 1.)
    COST(5, IB, IX + 15, 0., 1., 1., 0., 1., XBUNCH, ABUNCH, XCOOLD, 1.)
    COST(4, 144, IX + 15, 0., 1., 1., 0., 1., XOGUR, 1., 1., 1.)
    HLP = DWIND + WWIND
    if (CM.LC[5 - 1] == 1):
        COST(4, 30, IX + 15, 0., 1., 1., 0., 1., XBUNCH, ABUNCH, XCOOLD, 1.)
    COST(5, IC, IX + 16, 0., 1., 1., 0., 1., XLIMB, DWIND, WDUCT, 1.)
    COST(4, 28, IX + 16, 0., 1., 1., 0., 1., XOGUR, 1., 1., 1.)
    XTAPP = NTAPP
    XOUCO = NOUCO
    COST(4, ID, IX + 14, 0., 1., 1., 0., 1., XTAPP, ACOND, 1., 1.)
    if (abs(XOUCO) < 1.E-6):
        COST(3, 0, IX + 18, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
        COST(2, 0, 19 * NUMBER, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
        return
    ZPAR2 = ZPART / 2
    COST(4, 29, IX + 17, 0., 1., 1., 0., 1., XOUCO, ZPAR2, 1., 1.)
    COST(3, 0, IX + 18, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
    COST(2, 0, 19 * NUMBER, 0., 1., 1., 0., 1., 1., 1., 1., 1.)
    return