Color model – Shell Aggregation Protocol

The shell aggregation protocol is designed to perform steady-state relative permeability simulations by using an internal routine to change the fluid saturation by moving the interface. The basic design for the shell aggregation protocol is described by Wang et al. ( https://doi.org/10.1016/j.jcp.2019.108966 ).

protocol = "shell aggregation"
Color {
   protocol = "shell aggregation"
   capillary_number = 1e-4            // capillary number for the displacement
   timestepMax = 1000000              // maximum timtestep
   alpha = 0.005                      // controls interfacial tension
   rhoA = 1.0                         // controls the density of fluid A
   rhoB = 1.0                         // controls the density of fluid B
   tauA = 0.7                         // controls the viscosity of fluid A
   tauB = 0.7                         // controls the viscosity of fluid B
   F = 0, 0, 0                        // body force
   WettingConvention = "SCAL"         // convention for sign of wetting affinity
   ComponentLabels = 0, -1, -2        // image labels for solid voxels
   ComponentAffinity = 1.0, 1.0, 0.6  // controls the wetting affinity for each label
   Restart = false
}
Domain {
   Filename = "Bentheimer_LB_sim_intermediate_oil_wet_Sw_0p37.raw"
   ReadType = "8bit"              // data type
   N = 900, 900, 1600             // size of original image
   nproc = 2, 2, 2                // process grid
   n = 200, 200, 200              // sub-domain size
   offset = 300, 300, 300         // offset to read sub-domain
   InletLayers = 0, 0, 6          // number of mixing layers at the inlet
   OutletLayers = 0, 0, 6         // number of mixing layers at the outlet
   voxel_length = 1.66            // voxel length (in microns)
   ReadValues = -2, -1, 0, 1, 2   // labels within the original image
   WriteValues = -2, -1, 0, 1, 2  // associated labels to be used by LBPM
   BC = 0                         // boundary condition type (0 for periodic)
}
Analysis {
   analysis_interval = 1000           // logging interval for timelog.csv
   subphase_analysis_interval = 5000  // loggging interval for subphase.csv
   visualization_interval = 100000    // interval to write visualization files
   N_threads = 4                      // number of analysis threads (GPU version only)
   restart_interval = 1000000         // interval to write restart file
   restart_file = "Restart"           // base name of restart file
}
Visualization {
   write_silo = true     // write SILO databases with assigned variables
   save_8bit_raw = true  // write labeled 8-bit binary files with phase assignments
   save_phase_field = true  // save phase field within SILO database
   save_pressure = false    // save pressure field within SILO database
   save_velocity = false    // save velocity field within SILO database
}
FlowAdaptor {
}