Standard Phases structure

In ORCHESTRA you can define your own phases and their hierarchy, which is flexible but can also be confusing.

Therefore we provide here a default set of phases  for adsorption and transport modelling.


//***********************************************************************************
// Standard ORCHESTRA phase strucure
//
// This files contains a "standard" phase structure definition for ORCHESTRA chemistry files
// It uses given density, porosity and water saturation as input.
//
// Hans Meeussen, May 2017
//***********************************************************************************

@Var: porosity      1  // total porosity (volume fraction)
@Var: density       1  // particle density of solid phase (kg/liter), (so without porosity)
@Var: totvolume     1  // total volume of cell (liter)
@Var: saturation    1  // fraction of pores saturated with water (rest is gas filled)  
@Var: watervolume   1  // water volume per cell (liter)
@Var: SL            1  // Solid - Liquid mass ratio
@Var: gasvolume     1  // gas filled volume (Liter gas/Liter pore solution
@Var: CLAY_kgkg     0  // fraction clay of clay particle
@Var: HFO_kgkg      0  // fraction hfo of hfo particle
@Var: Goethite_kgkg 0  // fraction goethite of goethite particle
@Var: HA_kgkg       0  // fraction HA of HA particle
@Var: DHA_kgl       0  // concentration of DHA
@Var: FA_kgkg       0  // fraction FA of FA particle  
@Var: DFA_kgl       0  // concentration of DFA


// Calculate the different volumes and SL from density, porosity and water saturation 
// (We use SL instead of the more common LS to avoid an infinite value for a system without solid phase)

@Calc: (1,  "watervolume = porosity * totvolume * saturation")     // is total water volume per cell
@Calc: (1,  "gasvolume   = porosity * (1-saturation)")             // is tot gas volume per liter water
@Calc: (1,  "SL = ((1-porosity)*density) / (porosity*saturation)")


@phase(tot)
 @phase(liter, tot, watervolume)
  @phase(solution, liter, 1)
   @phase(diss, water, 1)

  @phase(colloid, liter, 1)
   @phase(DHA_part_l,  colloid, "1")
    @phase(DHA_part,  colloid, "1")
     @phase(HA_part,  DHA_part, "DHA_kgl")
    @phase(DFA_part,  colloid, "1")
     @phase(FA_part,  DFA_part, "DFA_kgl")

  @phase(solid, liter, 1)
   @phase(min, solid, 1)
   @phase(ads, solid, 1)
                     // Introduce a number of particles that can be used to attach adsorption models.
    @phase(CLAY_part_l, ads, "1")
     @phase(CLAY_part, CLAY_part_l, "CLAY_kgkg")
    @phase(HFO_part_l,  ads, "1")
     @phase(HFO_part,  HFO_part_l, "HFO_kgkg*SL")
    @phase(Goethite_part_l,  ads, "1")
     @phase(Goethite_part,  Goethite_part_l, "Goethite_kgkg*SL")
    @phase(SHA_part_l,  ads, "1")
     @link_phase(HA_part,  SHA_part_l, "HA_kgkg*SL")
    @phase(SFA_part_l,  ads, "1")
     @link_phase(FA_part,  SFA_part_l, "FA_kgkg*SL")

  @phase(gas_l, 1, 1 )
   @phase(gas, gas_l, "(gasvolume/22.4)") // concentrations in the gas phase are in fractions

//***
// By adding this line, all component concentrations are also calculated in mol/kg solid material (<name>.kg)
// This can be useful for initializing column or transport systems with given solid compositions
@phase(kg)
@link_phase(liter, kg, "1/SL")