sf.valprint("Delta Time", DELT) sf.valprint("Delta X", DELX) CHECK = WAVE_SPEED * DELT sf.valprint("a * dt", CHECK) # CALCULATIONS TO SET UP PROBLEM DIA = DIA_IN/12.0 # FEET (DIAMETER) AREA = np.pi * DIA**2/4.0 # FT2 (AREA OF PIPE FLOW) RHOW = 1.94 # SLUGS/FT3 (DENSITY OF WATER) RHO = FLUID_RHO # SLUGS/FT3 (DENSITY OF FLUID) GAMMA = RHO * GRAV # LB/FT3 DEL_WEIGHT = (FLUID_WEIGHT - PROD_WEIGHT) # LB/FT3 (DIFF IN FLUID WEIGHTS) # CALCULATE FRICTION FACTOR VISC = sf.visc(90, 2000, "Water") # DIMENSIONLESS DARCY-WIESBACH FRICTION FACTOR FRIC = sf.FrictionFact_jit(VEL0, VISC, SPG, DIA_IN, ROUGH, 0) sf.valprint("FRICTION FACTOR", FRIC) # INITIAL CONDITIONS (TOTAL HEAD EVERYWHERE IN SYSTEM) HEAD_EL = np.sin(THETA)*XGRID # ELEVATION HEAD HEAD_V = VEL0**2/(2*GRAV) # VELOCITY HEAD HEAD_LS = FRIC*XGRID/(2*DIA*GRAV)*VEL0**2 # HEAD LOSS FROM FRICTION HEAD0 = HEAD_US - HEAD_LS # INITIAL CONDITIONS - TOTAL HEAD DEPTH = HEAD_EL[::-1] # BOUNDARY CONDITIONS BC_US = HEAD_US # CONSTANT HEAD AT UPSTREAM RESERVOIR VEL_DS = np.zeros(len(TGRID))