Ejemplo n.º 1
0
                         dx=dx,
                         grid_type='nodal')
domain.nodetype[:, (ll + 1):ll + l_csh] = ct.Type.MULTILEVEL
domain.nodetype[0, :] = ct.Type.SOLID
domain.nodetype[-1, :] = ct.Type.SOLID
domain.nodetype[:, -1] = ct.Type.SOLID

plt.figure(figsize=(5, 5))
plt.imshow(domain.nodetype)
plt.show()

#%%  PHREEQC
scale = 100  # scale of molar volume
mvol = [51.7e-3 * scale]  #m3/mol # CSH Jennite and SiO2
max_pqty = fn.get_max_pqty(mvol)  #mol/m3
init_conc = fn.set_init_pqty(mvol, scale=scale,
                             porosCH=0.45)  #TODO replace porosity CSH

nn = os.path.basename(__file__)[:-3]
nn += '_' + str(f)
fn.make_output_dir(root_dir + '\\results\\output_csh\\03_leaching')
path = root_dir + '\\results\\output_csh\\03_leaching\\' + nn + '\\'
fn.make_output_dir(path)
phase_name = m
phrqc_input = {
    'csh_mol': {
        'value': str(init_conc[0])
    },
    'csh': {
        'name': phase_name,
        'stochiometry': {
            'Ca': 0.83,
Ejemplo n.º 2
0
    'ca_liq': {
        'type': 'conc',
        'value': '0'
    }
}  # another option ca_liq':{'type':'conc', 'value': '0'} or ca_liq':{'type':'eq', 'value': 'portlandite'}

phrqc = rt1.PhreeqcInputCH(phrqc_input)
phrqc.save_phrqc_input(root_dir, nn)

#%% VALUES
scale = 100  # scale of molar volume
init_porosCH = 0.05  #initial porosity of portlandite nodes
mvolCH = 0.0331 * scale
mvol = [mvolCH]
max_pqty = fn.get_max_pqty(mvol)  #mol/m3
init_conc = fn.set_init_pqty(mvol, scale=scale, porosCH=init_porosCH)
pqty = fn.get_pqty(init_conc, domain)

slabels = fn.set_labels(domain, m)
D_CH = 1.e-15
D_border = 1.e-9  # 5.e-10#8*1.e-12
D_high = 1.e-9
D = D_high * (domain.nodetype == -1) + D_CH * (domain.nodetype != -1)
D[1, ll + 1] = D_border  # default diffusion coefficient in pure liquid
#D = D_high
porosity = fn.get_porosity(domain, pqty, mvol, m)
app_tort_degree = 1.  #1./3.
app_tort = 1. * porosity**app_tort_degree

settings = {
    'dissolution': 'subgrid',  #'multilevel'/'subgrid'
Ejemplo n.º 3
0
    phrqc_input += set_phrqc_liquid(p['ca_liq'])
    phrqc_input += set_phrqc_mlvl(p['ca_mlvl'])
    phrqc_input += set_phrqc_solid()
    return phrqc_input


phrqc = set_phrqc_input(phrqc_input)
fn.save_phrqc_input(phrqc, root_dir, nn)

#%% VALUES
scale = 50  # scale of molar volume
init_porosCH = 0.1  #initial porosity of portlandite nodes
mvolCH = 0.0331 * scale
mvol = [mvolCH]
max_pqty = fn.get_max_pqty(mvol)  #mol/m3
init_conc = fn.set_init_pqty(mvol, init_porosCH)
pqty = fn.get_pqty(init_conc, domain)

slabels = fn.set_labels(domain, m)
D_CH = 1.e-15
D_border = 1.e-9  # 5.e-10#8*1.e-12
D_high = 1.e-9
D = D_high * (domain.nodetype == -1) + D_CH * (domain.nodetype != -1)
D[1, ll + 1] = D_border  # default diffusion coefficient in pure liquid
#D = D_high
porosity = fn.get_porosity(domain, pqty, mvol, m)
app_tort_degree = 1.  #1./3.
app_tort = 1. * porosity**app_tort_degree

settings = {
    'dissolution': 'subgrid',  #'multilevel'/'subgrid'