results = {}
gravity_lst = [0,1]
for gravity_ in gravity_lst:
for alpha_ in alpha_lst :
mat_params["parameters"]["alpha"] = alpha_
### computing the unloaded configuration from a generic end-exhalation configuration
U_exhal_to_unloaded, phis_unloaded, dV_exhal = dmech.run_RivlinCube_PoroHyperelasticity(
inverse=1,
cube_params=cube_params,
porosity_params={"type":"mesh_function_random_xml", "val":0.3},
# porosity_params={"type":"constant", "val":0.3},
mat_params=mat_params,
inertia_params={"applied":True, "rho_val":1e-8},
step_params={"dt_min":1e-4, "dt_ini":0.125},
load_params={"type":"p_boundary_condition0", "f":gravity_*g, "P0":float(pe)},
res_basename="Fig3-unloaded"+str(alpha_)+str(gravity_),
get_results=1,
verbose=1)
### computing the end-exhalation configuration
U_unloaded_to_exhal, phis_exhal, dV_unloaded = dmech.run_RivlinCube_PoroHyperelasticity(
cube_params=cube_params,
move_params={"move":True, "U":U_exhal_to_unloaded},
porosity_params={"type":"mesh_function_random_xml", "val":0.5},
mat_params=mat_params,
inertia_params={"applied":True, "rho_val":1e-8},
step_params={"dt_ini":0.05, "dt_max":0.05, "dt_min":1e-4},
load_params={"type":"p_boundary_condition", "f":gravity_*g, "P0":float(pe)},
res_basename="Fig3-direct-exhal"+str(alpha_)+str(gravity_),
get_results=1,
verbose=1)
### computing the end-inhalation configuration
U_unloaded_to_inhal, phis_inhal, dV_unloaded = dmech.run_RivlinCube_PoroHyperelasticity(
cube_params=cube_params,
move_params={"move":True, "U":U_exhal_to_unloaded},
porosity_params={"type":"mesh_function_random_xml", "val":0.5},
mat_params=mat_params,
inertia_params={"applied":True, "rho_val":1e-8},
step_params={"n_steps":2, "Deltat":1., "dt_ini":0.05, "dt_max":0.05, "dt_min":1e-4},
load_params={"type":"p_boundary_condition", "f_lst":[gravity_*g, gravity_*g], "P0_lst":[float(0.), float(pi)]},
res_basename="Fig3-direct-inhal"+str(alpha_)+str(gravity_),
get_results=1,
verbose=1)
v_lst = pandas.read_csv(
"Fig3-direct-inhal"+str(alpha_)+str(gravity_)+"-qois.dat",
delim_whitespace=True,
comment="#",
names=open("Fig3-direct-inhal"+str(alpha_)+str(gravity_)+"-qois.dat").readline()[1:].split()).to_dict('list')["v"]
V_exhal = pandas.read_csv(
"Fig3-direct-exhal"+str(alpha_)+str(gravity_)+"-qois.dat",
delim_whitespace=True,
comment="#",
names=open("Fig3-direct-exhal"+str(alpha_)+str(gravity_)+"-qois.dat").readline()[1:].split()).to_dict('list')["v"][-1]
t_lst = pandas.read_csv(
"Fig3-direct-inhal"+str(alpha_)+str(gravity_)+"-qois.dat",
delim_whitespace=True,
comment="#",
names=open("Fig3-direct-inhal"+str(alpha_)+str(gravity_)+"-qois.dat").readline()[1:].split()).to_dict('list')["t"]
results["pi_alpha="+str(alpha_)+"g="+str(gravity_)] = [-1*(2*t-1)*float(pi) for t in t_lst if t>=0.5]
results["J_alpha="+str(alpha_)+"g="+str(gravity_)] = [v_lst[c]/V_exhal for c in range(len(t_lst)) if t_lst[c]>=0.5]