ASPENPLUS10IASPENPLUSASPENPLUSASPENPLUSASPENPLUSASPENPLUSFortranFortranASPENPLUS1ASPENPLUS101-1ASPENPLUSASPENPLUSASPENPLUSFortranASPENPLUSllllllASPENPLUSASPENPLUSll/ll-:lASPENPLUSlASPENPLUSASPENPLUSASPENPLUS/DLL(Windows)(OpenVMS)(UNIX)Fortran:Filenames().fSubroutineNames()ADA/PCSASPENPLUSDoublePrecision(REAL*8):IMPLICITREAL*8(A-H,O-Z)ASPENPLUSCommonBlocksASPENPLUSincludeASPENPLUSCincludeDMS_GLOBAL#include“dms_global.cmn”ASPENPLUSDummyDimensions(1)1FortranExtensionFortranFortranFortran1ASPENPLUS101-2UnitsASPENPLUSlFortranlaspcomplasplinklASPENPLUSASPENPLUSlDLOPTlasplinklASPENPLUSrunid.ldASPENPLUSDMS_DOCALLDMS_DOCALLASPENPLUSFortranaspcomp*Windowsaspcomp*.f[dbg]OpenVMSaspcomp[/debug]*.fUNIXaspcomp[-debug]*.f*dbgdebugASPENPLUSASPENPLUSaspcompASPENPLUS(DLOPT)DLOPTasplink1ASPENPLUS101-3asplinkasplinkASPENPLUSWindowsASPLINK[DLOPTdloptfile]libnameOpenVMSASPLINK[/DLOPT=dloptfile]libnameUNIXasplink[-dlopt=dloptfile]libnamedloptfile=DLOPTlibname=libname.ldasplinkasplinkDLOPTasplinklibname:Windows.DLLOpenVMS.EXEHP-UX.slAIX.soSolaris.soDigitalUNIX.soIRIX.soDLOPT(DLOPT)DLOPTlASPENPLUSasplinklASPENPLUSDLOPTlDLOPTl()DLOPTDLOPTlDLOPTl(*)*.obj1ASPENPLUS101-4lUNIXWindows)l#DLOPTDLOPT:no_local:no_analyzefilespecOpenVMSfilespecOpenVMSDLOPT:symbolsfilespecOpenVMSfilespecOpenVMSDLOPTWindowsDLOPT!ThisisanexampleDLOPTfileforWindows:no_local!DonotincludeobjectmodulefilesfromrundirectoryD:\USEROBJS\*.OBJ!Includeallobjectmodulefilesfrom!D:\USEROBJSdirectory%USRLIB%\XYZ.LIB!IncludeobjectmodulelibraryXYZ.LIB!fromthedirectorypointed!tobytheUSRLIBenvironmentvariableD:\USERDLL\*.DLL!UsethesharedlibrariesintheD\USERDLL!directorywhenresolving!usermodelsymbolsUNIXDLOPT!ThisisanexampleDLOPTfileforUNIX:no_local!Donotincludeobjectmodulefilesfromrundirectory/u/smith/objs/*.o!Includeallobjectmodulefilesfrom!/u/smith/objsdirectory$USRLIB/xyz.a!Includeobjectmodulelibrary(archive)!xyz.afromthedirectorypointedtoby!theUSRLIBenvironmentvariable/u/smith/slib/*.so!Usethesharedlibrariesinthe/u/smith/slib!directorywhenresolvingusermodel!symbols(Note:use*.slonHP-UX.)OpenVMSDLOPT!ThisisanexampleDLOPTfileforOpenVMS:no_local!Donotincludeobjectmodulefiles!fromrundirectoryUSER1:[SMITH.OBJS]*.OBJ!Includeallobjectmodulefiles!fromUSER1:[SMITH.OBJS]directoryUSER1:[SMITH.LIB]XYZ.OLB!Includeobjectmodulelibrary!XYZ.OLBfromdirectory!USER1:[SMITH.LIB]USER1:[SMITH.SLIB]*.EXE!Usethesharedlibrariesinthe!USER1:[SMITH.SLIB]directorywhen!resolvingusermodelsymbols1ASPENPLUS101-5OpenVMSDLOPTOpenVMSDLOPTOpenVMSFortranasplinkAsplinkasplink@ASP$COM:BIN2OPTDLfilespecsymfilefilespec=symfile=symfileBIN2OPTsymfileSORT/NODUPLICATEsymfilesymfilePURGEsymfileno_analyzeDLOPTsymbolssymfileVMSLNKLIBRARYLNK$LIBRARY*VMSASPENPLUSlllLNK$LIBRARY*OpenVMSSETDEFAULTUSER1:[SMITH.OBJS]@ASP$COM:BIN2OPTDL*.OBJOBJS.SYMSORT/NODUPOBJS.SYMPURGEOBJS.SYMSETDEFAULTUSER1:[SMITH.LIB]@ASP$COM:BIN2OPTDLXYZ.LIBXYZ.SYMSORT/NODUPXYZ.SYMPURGEXYZ.SYM1ASPENPLUS101-6OpenVMSDLOPT:no_analyzeUSER1:[SMITH.OBJS]*.OBJ:symbolsUSER1:[SMITH.OBJS]OBJS.SYM:no_analyzeUSER1:[SMITH.LIB]XYZ.OLB:symbolsUSER1:[SMITH.LIB]XYZ.SYMASPENPLUSDLOPTDLOPTASPENPLUSlASPENPLUSDLOPTaspeninputrunid/dlopt=dloptfileinput=runid=dloptfile=DLOPTlWindowsASPENPLUSRunSettingsDLOPTRunSettingEngineLinkerOptionsDLOPTlWindowsDLOPTdlopt:dloptfiledloptfile=DLOPTASPENPLUSaspfiles.defASPENPLUSXEQ2ASPENPLUS102-1FLSH_FLASHASPENPLUSFLSH_FLASHlllFLSH_FLASHllllllCOMMON/SHS_STWORK/COMMON/DMS_STWKWK/COMMON/DMS_PLEX/COMMONAFLSH_FLASHCALLFLSH_FLASH(SVEC,NSUBS,IDXSUB,ITYPE,NBOPST,KODE,NPKODE,KPHASE,MAXIT,TOL,SPEC1,SPEC2,GUESS,LMSG,LPMSG,JRES,KRESLT,RETN,IRETN,LCFLAG)FLSH_FLASHI/O*SVECI/OREAL*8(1)(C)NSUBSIINTEGERIDXSUBIINTEGERNSUBSITYPEIINTEGERNSUBS1=MIXED2=CISOLID3=NCNBOPSTIINTEGER6KODEIINTEGER()1=PQ2=TP3=PV4=TQ5=TVNPKODE=1,1=PQ,2=TPNPKODEIINTEGER1=(KPHASE)2=(-)3=(--)11=(-)12=(--)2ASPENPLUS102-2KPHASEIINTEGERNPKODE=11=2=3=MAXITIINTEGERMAXIT=USER_IUMISSFLSH_FLASHSetupSimulationOptionsFlashConvergenceUSER_IUMISSCOMMON/PPEXEC_USER/TOLIREAL*8TOL=USER_RUMISSFLSH_FLASHSetupSimulationOptionsFlashConvergenceUSER_RUMISSCOMMON/PPEXEC_USER/SPEC1IREAL*8KODE=1SPEC1=P(N/m2).(P≤0=)KODE=2,SPEC1=T(K)KODE=3,SPEC1=P(N/m2).(P≤0=)KODE=4,SPEC1=T(K)KODE=5,SPEC1=T(K)SPEC2IREAL*8KODE=1,SPEC2=Q(watt)KODE=2,SPEC2=P(N/m2).(P≤0=)KODE=3,SPEC2=V.(/)KODE=4,SPEC2=Q(watt)KODE=5,SPEC2=VGUESSIREAL*8JRES=2)KODE=1,GUESS=TKODE=2,KODE=3,GUESS=TKODE=4,GUESS=PKODE=5,GUESS=PGUESS=RMISS,FLSH_FLASHUSER_RUMISSCOMMON/PPEXEC_USER/LMSGIINTEGERLPMSGIINTEGERJRESIINTEGER01=2=KRESLTIINTEGER0=1=-1=T(KODE=1)RETNI/OREAL*81RETNIRETNI/OINTEGER1IRETN2ASPENPLUS102-3LCFLAGOINTEGERLCFLAG=0,LCFLAG=-1,LCFLAG=-2,EOS*I=O=KODESPEC1SPEC2Bubblepoint3(PV)or5(TV)PorT0Dewpoint3(PV)or5(TV)PorT1Adiabatic1(PQor4(TQ)PorT0Isothermal2(TP)TPRETNRETN6*NCC+31()COMMON/SHS_STWORK/NRETN(A)FLSH_FLASHCOMMON/DMS_PLEX/B(STWKWK_LRSTW+1)FLSH_FLASHSTWORK_MRETNB(STWKWK_LRSTW+STWORK_MRETN)FLSH_FLASHRETNlJRES0lIRETNIRETN6()FLSH_FLASHCOMMON/DMS_PLEX/IB(STWKWK_LISTW+1)FLSH_FLASHSTWORK_MIRETNIRETNIB(STWKWK_LISTW+STWORK_MIRETN)FLSH_FLASHIRETNlJRES0lCOMMONCOMMON/DMS_STWKWK/F