多孔質媒体

未定義のパートを多孔質媒体に変換し、シミュレーション用にその特性を定義します。

  1. 流体リボンで、多孔質媒体ツールを選択します。

  2. 1つまたは複数の未定義のパートを多孔質媒体として選択します。
  3. マイクロダイアログで、多孔質媒体の特性を定義します。
    オプション 説明
    ポロシティ 方向 等方性透過性か一方向透過性かを選択します。
    流れ方向 ボタンをクリックし、流体の流れ方向を示す多孔質媒体のフェイスを選択します。
    注: 単方向ポロシティを選択した場合にのみこのコントロールは有効です。
    移動 ボタンをクリックしてから、移動ツールを使用して、多孔質媒体を流れる流体の角度を変更します。
    注: 一方向ポロシティを選択した場合にのみこのコントロールは有効です。
    比熱 多孔質媒体の比熱を入力します。
    伝導率 多孔質媒体の伝導率を入力します。
    ポロシティ 多孔質媒体のポロシティを入力します。
    粘性抵抗 多孔質媒体の粘性抵抗係数を入力します。
    慣性抵抗 多孔質媒体の慣性抵抗係数を入力します。
  4. オプション: 多孔質媒体の粘性抵抗と慣性抵抗がまだわかっていない場合、Pythonスクリプトで計算できます。
    1. リボンメニューから、表示 > Pythonウィンドウを選択するか、キーボードからfn+F4を入力してください。
      Pythonウィンドウが開きます。
    2. Pythonウィンドウで、以下のコードを入力して圧力損失ベースの計算を実行します。
      import numpy as np
      import matplotlib.pyplot as plt
      
      ########## Begin User Inputs ##########
      fluid_viscosity    = 1.781e-5  # dynamic viscosity of the fluid [N·s/m2]
      fluid_density      = 1.225     # density of the fluid [kg/m^3]
      porous_zone_length = 0.1       # length of the porous zone [m]
      
      # Pressure Vs Velocity Data
      velocity = np.array([0.0, 0.1, 0.2, 0.3])          # fluid velocity u [m/s]
      pressure_loss = np.array([0.0, 0.01, 0.02, 0.04])  # pressure difference ΔP [N/m2] across the porous zone
      
      ########## End User Inputs ##########
      
      # Parabolic curve-fit with ΔP = A * u + B * u^2
      coefficients = np.polyfit(velocity, pressure_loss, 2)
      B = coefficients[0]
      A = coefficients[1]
      
      delta_p_fit = A * velocity + B * velocity**2
      plt.scatter(velocity, pressure_loss, color='red', label='data')
      plt.plot(velocity, delta_p_fit, label=f'fitting: ΔP = {A:.4f} * u + {B:.4f} * u^2', color='blue')
      
      plt.xlabel('Velocity u [m/s]')
      plt.ylabel('Pressure Loss ΔP [Pa]')
      plt.title('Pressure Loss vs. Velocity')
      plt.legend()
      plt.grid(True)
      plt.show()
      
      # Limit A to positive value while calculating d
      d = max(0, A) / (fluid_viscosity * porous_zone_length)
      f = 2 * B / (fluid_density * porous_zone_length)
      
      # Print coefficients
      print(f"Curve-fit Coefficients A = {A:.4f}, B = {B:.4f}")
      print(f"Viscous  Resistance = {d:.6f} 1/m^{2}")
      print(f"Inertial Resistance = {f:.6f} 1/m")
      この場合、fluid_viscosityfluid_densityporous_zone_lengthvelocity = np.arrayシリーズ、およびpressure_loss = np.arrayシリーズの自身のデータを置き換えます。

      または

      次のコードを入力して、穴あきプレートベースの計算を実行します。
      import numpy as np
      
      ########## Begin User Inputs ##########
      
      # physical parameters of the perforated plate
      porosity              = 0.8  # porosity, dimensionless, 0 < eps <= 1. 0は使用しません。
      hole_diameter         = 0.003  # circular hole diameter [m]
      porous_zone_thickness = 0.025  # thickness of porous zone [m]
      
      ########## End User Inputs ##########
      
      K = porosity * hole_diameter * hole_diameter * porous_zone_thickness / (32 * porous_zone_thickness + 15 * hole_diameter)
      
      laminar_flow = True
      if (laminar_flow):
        # If the flow is laminar
        alpha = 3 * (1 - porosity) / (4 * porosity * porosity * porous_zone_thickness)
      else:
        # If the flow is turbulent
        delta_over_D = porous_zone_thickness / hole_diameter
        alpha = 9 * (6 * delta_over_D - 5 * delta_over_D * delta_over_D) / (40 * porosity * porosity * porous_zone_thickness)
      
      viscous_resistance = 1 / K
      inertial_resistance = 2 * max(0, alpha)
      
      # Print coefficients
      print(f"Coefficients K = {K:.8f}, alpha = {alpha:.8f}")
      print(f"Viscous Resistance = {viscous_resistance:.6f} 1/m^{2}")
      print(f"Inertial Resistance = {inertial_resistance:.6f} 1/m")
      この場合、porosityhole_diameterporous_zone_thicknessを自身のデータに置き換えます。
    3. Enterキーを押します。
    4. 粘性抵抗と慣性抵抗の結果を、マイクロダイアログのそれぞれのフィールドにコピーします。
    PythonスクリプトとInspireの詳細については、Inspire Python APIをご覧ください。