import os
from create_geom_for_palabos import *
from create_palabos_input_file import *
from parse_input_file import *

# Steps
# 1) parse input file
# 2) create geom for palabos
# 3) create palabos input file
# 4) run 1-phase sim
# Please see python_1_phase_workflow in examples directory on how to use this

input_file = sys.argv[1]

# 1) Process input file
inputs = parse_input_file(input_file)

if inputs['simulation type'] == '2-phase':
    raise KeyError(
        'Simulation type set to 2-phase...please change to 1-phase.')
sim_directory = inputs['input output']['simulation directory']

# 2) Create Palabos geometry
print('Creating efficient geometry for Palabos...')
create_geom_for_palabos(inputs)

# 3) Create simulation input file
print('Creating input file...')
create_palabos_input_file(inputs)

# 4) Run 1-phase simulation
예제 #2
0
    krnw = np.loadtxt(f'{sim_dir + output_dir}data_krnw.txt')

    plt.figure(figsize=[10, 8])
    plot_capillary_pressure_data(Sw, Pc)
    plt.savefig(sim_dir + 'pc_curve.png', dpi=300)

    plt.figure(figsize=[10, 8])
    plot_rel_perm_data(Sw, krw, krnw)
    plt.savefig(sim_dir + 'relperm_curve.png', dpi=300)

    plt.figure(figsize=[6, 10])
    plot_pc_and_rel_perm(Sw, Pc, krw, krnw)
    plt.savefig(sim_dir + 'pc_and_relperm_curve.png', dpi=300)

    plt.show()

    return


drp_url = 'www.digitalrocksportal.org/projects/65/images/71108/download/'
file_name = 'input/rg_theta60_phi10.raw'
download_geometry(file_name, drp_url)

input_file = 'input.yml'
inputs = parse_input_file(input_file)  # Parse inputs
inputs['input output']['simulation directory'] = os.getcwd(
)  # Store current working directory
run_2_phase_sim(inputs)  # Run 2 phase sim
run_rel_perm_sim(inputs)  # Run rel perm
process_and_plot_results(inputs)  # Plot results