固体分離

バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト"BioSTEAM"の固体分離モデルの使い方について説明しています。 オリジナルのページはsolids_separationです。 ソースコードは以下の実行環境で確認しています。
  • Visual Studio Code バージョン: 1.104.2
  • 拡張機能:Jupyter バージョン 2025.8.0
  • Python 3.12.10
  • biosteam 2.52.13
  • graphviz-14.0.2

固体分離

このモジュールは遠心分離機(centrifugation)、圧搾機(expression)、濾過器(filtration)など、固体を分離する機器をまとめています。分配器(Splitter)を継承しています。

class SolidsSeparator(ID='', ins=None, outs =(), thermo=None, split, order=None, **kwargs) [source]

固体分離機です。splitで指定された割合で最初の流出ストリームouts[0]に、残りをouts[1]に分離します。

class SolidsCentrifuge(ID='', ins=None, outs =(), thermo=None, split, order=None, solids=None, moisture_content=0.40, centrifuge_type='scroll_solid_bowl', **kwargs ) [source]

固体をユーザー指定の比率で分離する遠心分離機(centrifugation)です。設備費はSeiderらの文献[1]によります。
  • パラメータ
    • ID (str、省略可) - 識別子(ID)。
    • ins (Sequence(順序付きコレクション)[Stream|str]、省略可) - 固体を含む流入ストリーム
    • outs (Sequence(順序付きコレクション)[Stream|str]、省略可) - 流出ストリーム
      • [0] 濃縮液(Retentate)
      • [1] 透過液(Permeate)
    • split (array_like or dict [str, float]) - 成分ごとの流出ストリームouts[0]への分離比。
    • order (Iterable[ str]、省略可) - splitで指定する成分の順番。 デフォルトはStream.chemicals.IDsで指定した順。
    • solids (タプル[ str]、省略可) - 固体とする成分のID。
    • moisture_content (float) - 固体分の含水率。outs[0] 濃縮液(Retentate)側の水分に反映し、残りの水分はouts[1]に設定されます(separations.mix_and_split_with_moisture_content)。
    • centrifuge_type (str) - 遠心分離機の形式。reciprocating pusher(往復式プッシャー)(固体の流量が1-20 ton/hr)かscroll_solid_bowl(スクロール式ソリッドボウル)(固体の流量が2-40 ton/hr )。指定がない場合はscroll_solid_bowl(スクロール式ソリッドボウル)

class RotaryVacuumFilter(ID='', ins=None, outs =(), thermo=None, split, moisture_content, **kwargs) [source]

ドラム式真空濾過器(RotaryVacuumFilter)です。回転ドラム+真空吸引でスラリーを連続処理し、固体ケーキと濾液を効率的に分離する装置だそうです。

class CrushingMill(ID='', ins=None, outs =(), thermo=None, split, moisture_content, **kwargs)

サトウキビのバガスから搾汁を分離する裁断機の想定ですが、動作はSolidsSeparatorと同じです。設置コストが計上されます。
  • パラメータ
  • サトウキビ由来のバイオ・エタノール製造設備での使用例を示します。 浸漬水と混合し、原料を裁断する想定で、灰分の92%、繊維分の92%、固形分100%と糖分のうち4%をバガスとして分離。バガスの含水率は50%とします。
    U201 = units.CrushingMill('U201', [T201-0, imbibition_water_recycle],
                              split=dict(Ash=0.92,
                                         Fiber=0.92,
                                         Sugar=0.04,
                                         Solids=1),
                              moisture_content=0.5)
    U201.show('cwt10')
    CrushingMill: U201
    ins...
    [0] s5  from  EnzymeTreatment-T201
        phase: 'l', T: 323.15 K, P: 101325 Pa
        composition (%): Water          70.1
                         Glucose        1.2
                         Sucrose        13.6
                         Cellulose      6.13
                         Hemicellulose  3.6
                         Lignin         3.27
                         Solids         1.5
                         Ash            0.598
                         -------------  3.72e+05 kg/hr
    [1] s6  from  Mixer-M201
        phase: 'l', T: 334.46 K, P: 101325 Pa
        composition (%): Water          93
                         Glucose        0.408
                         Sucrose        4.62
                         Cellulose      0.874
                         Hemicellulose  0.513
                         Lignin         0.466
                         Ash            0.0853
                         -------------  1.43e+05 kg/hr
    outs...
    [0] s7  to  ConveyingBelt-U202
        phase: 'l', T: 326.7 K, P: 101325 Pa
        composition (%): Water          50
                         Glucose        0.177
                         Sucrose        2.01
                         Cellulose      19.4
                         Hemicellulose  11.4
                         Lignin         10.3
                         Solids         4.87
                         Ash            1.89
                         -------------  1.14e+05 kg/hr
    [1] s8  to  VibratingScreen-S201
        phase: 'l', T: 326.7 K, P: 101325 Pa
        composition (%): Water          84
                         Glucose        1.21
                         Sucrose        13.7
                         Cellulose      0.48
                         Hemicellulose  0.282
                         Lignin         0.256
                         Ash            0.0469
                         -------------  4e+05 kg/hr
    ストリームs5、s7の合計が、指示された割合でs7に、残りがs8に分割されています。計算してみると、ケミカルグループ"Fiber"は、設定時の成分の割合に関係なく、"Fiber"のメンバーのCellulose、Hemicellulose、Ligninがそれぞれ0.92と0.08に分けられるようです。

class PressureFilter(ID='', ins=None, outs =(), thermo=None, split, moisture_content, **kwargs)

構造性炭水化物、リグニン、細胞成分およびその他の固体の分離に用いる加圧式フィルター。設備費はHumbirdらの文献[2]によります。
  • パラメータ
    • ID (str、省略可) - 識別子(ID)。
    • ins (Sequence(順序付きコレクション)[Stream|str]、省略可) - 構造性炭水化物、リグニン、細胞成分およびその他の固体
    • outs (Sequence(順序付きコレクション)[Stream|str]、省略可) - 流出ストリーム
      • [0] 濃縮液(Retentate)
      • [1] 透過液(Filtrate)
    • split (array_like or dict [str, float]) 指定された割合で濃縮側に分離します。デフォルトでは、以下の2011年の セルロースからのエタノール製造に関するNREL レボート[2]に記載された割合を使用します。
    • split = dict(
                      Furfural=0.03571,
                      Glycerol=0.03714,
                      LacticAcid=0.03727,
                      SuccinicAcid=0.03714,
                      HNO3=0.03716,
                      Denaturant=0.03714,
                      DAP=0.03716,
                      AmmoniumAcetate=0.03727,
                      AmmoniumSulfate=0.03716,
                      NaNO3=0.03716,
                      Oil=0.03714,
                      HMF=0.03571,
                      Glucose=0.03647,
                      Xylose=0.03766,
                      Sucrose=0.0359,
                      Mannose=0.0359,
                      Galactose=0.0359,
                      Arabinose=0.0359,
                      Extract=0.03727,
                      Tar=0.9799,
                      CaO=0.9799,
                      Ash=0.9799,
                      NaOH=0.03716,
                      Lignin=0.98,
                      SolubleLignin=0.03727,
                      GlucoseOligomer=0.03722,
                      GalactoseOligomer=0.03722,
                      MannoseOligomer=0.03722,
                      XyloseOligomer=0.03722,
                      ArabinoseOligomer=0.03722,
                      Z_mobilis=0.9799,
                      T_reesei=0.9799,
                      Protein=0.98,
                      Enzyme=0.98,
                      Glucan=0.9801,
                      Xylan=0.9811,
                      Xylitol=0.03714,
                      Cellobiose=0.0359,
                      DenaturedEnzyme=0.98,
                      Arabinan=0.9792,
                      Mannan=0.9792,
                      Galactan=0.9792,
                      WWTsludge=0.9799,
                      Cellulase=0.03727
                  )
    • moisture_content (float) - 濃縮液側の含水率。デフォルトは0.35%。

参考文献

このブログの人気の投稿

さあ、始めよう!

蒸留塔

機器ユニットの計算結果