#%% PARAMETERS (DOMAIN, BC, SOLVER) domain_params = fn.set_domain_params(D, mvol, pqty, porosity, app_tort, slabels, input_file=root_dir + '\\phreeqc_input\\' + nn + '.phrq') bc_params = fn.set_bc_params(bc_slabels={'left': 100001}) solver_params = fn.set_solver_params(tfact=tfact) domain.nodetype[domain.nodetype == ct.Type.MULTILEVEL_CH] = ct.Type.MULTILEVEL fn.save_settings(settings, bc_params, solver_params, path, nn) #%% INITIATE THE SOLVER carb_rt = rt.CarbonationRT('MultilevelAdvectionDiffusion', domain, domain_params, bc_params, solver_params, settings) #%% PARAMETERS #plist = [(1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (1,8), (1,9), (1,10)] plist = [(1, n) for n in np.arange(0, 10)] pavglist = [ 'avg_poros', 'pH', 'avg_D_eff', 'sum_vol', 'precipitation', 'dissolution', 'portlandite_cells', 'calcite_cells' ] #'delta_ch', 'delta_cc', 'precipitation','dissolution', 'portlandite_cells', #'calcite_cells', 'active_cells','dt', 'pH', 'avg_poros', 'avg_D_eff', 'sum_vol' results = fn.init_results(pavg=True, pavg_list=pavglist, points=plist, ptype=m) #%% TIME SETTINGS itr = 0 j = 0
tfact_default = 1. / 6. / 1 #*init_porosCH domain_params = fn.set_domain_params(D, mvol, pqty, porosity, app_tort, slabels, input_file=root_dir + '\\phreeqc_input\\' + nn + '.phrq') bc_params = fn.set_bc_params(bc_slabels={'left': 100001}) solver_params = fn.set_solver_params(tfact=tfact_default, smart_thres=1e-8, cphi_fact=1 / 3.) #fn.save_settings(settings, bc_params, solver_params, path, nn) #csh=yantra.PhrqcReactiveTransport('MultilevelDiffusion',domain,domain_params,bc_params,solver_params) csh = rt.CarbonationRT('MultilevelDiffusion', domain, domain_params, bc_params, solver_params, settings) #%% results dict plist = [(1, n) for n in np.arange(3, 6)] #points list pavglist = [ 'avg_poros', 'avg_D_eff', 'sum_vol', 'precipitation', #argument list 'dissolution', 'portlandite_cells', 'calcite_cells' ] results = fn.init_results(pavg=True, pavg_list=pavglist, points=plist, ptype=m) Ts = 10 # 36 * 3 #s