Added tex folder

This commit is contained in:
R.A. Arostica Barrera 2021-08-31 09:03:30 +02:00
parent 4252a24bc0
commit 3c9caf4b5f
46 changed files with 15517 additions and 391 deletions

View File

@ -1,384 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"from main import testing_ALE, testing_defs_ALE, testing_defs_ALE_CT\n",
"#testing_defs_ALE(solver_to_use='LU')\n",
"#testing_defs_ALE_CT(solver_to_use='LU')\n",
"dict_mt, dict_ct = testing_ALE(solver_to_use='LU') # 'LU', 'Krylov'"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"def testing_comparative_plots(dict_fields_mt: dict, dict_fields_ct: dict, *args) -> None:\n",
" \"\"\"\n",
" Computes error figures between the schemes with Jacobian evaluation at times {n, n+1}, i.e.\n",
" with explicit and implicit treatment of the time-derivative term.\n",
" ...\n",
" \n",
" Input Parameters\n",
" ----------------\n",
" dict_fields_mt : tuple -> (dict, dict, dict)\n",
" tuple containing dictionaries of fields (def, vel, pre) from the iNSE ALE Monolithic solver.\n",
" \n",
" dict_fields_ct : tupel -> (dict, dict, dict)\n",
" tuple containing dictionaries of fields (def, vel, pre) from the iNSE ALE CT solver. \n",
" \"\"\"\n",
" print(\"\\nComputing error figures for both schemes...\\n\")\n",
" # Creates dictionaries for \"expanding\" and \"contracting\" functions\n",
" # Time dictionary\n",
" time_list = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" # Numerical dissipation dictionary --> int (| J^{n+1} u^{n+1} - J^{n} u^{n} |)\n",
" dis_value_exp = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" dis_value_con = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" # Physical dissipation dictionary --> int ( 2*mu* | eps(u) |^2 )\n",
" eps_value_exp = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" eps_value_con = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" # 'delta' values dictionary\n",
" delta_value_exp = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" delta_value_con = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" # Normalized 'delta' values dictionary (w.r.t physical dissipation)\n",
" delta_hat_value_exp = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" delta_hat_value_con = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" # Normalized 'delta' values dictionary (w.r.t numerical dissipation)\n",
" delta_hat_dis_exp = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" delta_hat_dis_con = {\n",
" 'MT': {jac_name: [] for jac_name in dict_fields_mt.keys()},\n",
" 'CT': {jac_name: [] for jac_name in dict_fields_ct.keys()}\n",
" }\n",
" # Iterate over the different cases in MT (Monolithic) and CT (Chorin-Temam) schemes\n",
" for scheme in ['MT', 'CT']: # 'MT', 'CT'\n",
" if scheme == 'MT':\n",
" dict_fields = dict_fields_mt\n",
" else:\n",
" dict_fields = dict_fields_ct\n",
" # Iterate over different cases 'j_implicit', 'j_explicit'\n",
" for jac_name in dict_fields.keys():\n",
" dict_vel = dict_fields[jac_name][1]\n",
" for i in range(len(dict_vel['High_Osc_exp'])):\n",
" # Saving time steps\n",
" time_list[scheme][jac_name].append(dict_vel['High_Osc_exp'][i][1])\n",
" # Add 'delta' values\n",
" delta_value_exp[scheme][jac_name].append(dict_vel['High_Osc_exp'][i][2])\n",
" #delta_value_con[scheme][jac_name].append(dict_vel['High_Osc_con'][i][2])\n",
" # Add physical dissipation\n",
" eps_value_exp[scheme][jac_name].append(dict_vel['High_Osc_exp'][i][3])\n",
" #eps_value_con[scheme][jac_name].append(dict_vel['High_Osc_con'][i][3])\n",
" # Add numerical dissipation\n",
" dis_value_exp[scheme][jac_name].append(dict_vel['High_Osc_exp'][i][4])\n",
" #dis_value_con[scheme][jac_name].append(dict_vel['High_Osc_con'][i][4])\n",
" # Compute normalized 'delta' values w.r.t the physical dissipation\n",
" delta_hat_value_exp[scheme][jac_name].append(dict_vel['High_Osc_exp'][i][2]/dict_vel['High_Osc_exp'][i][3])\n",
" #delta_hat_value_con[scheme][jac_name].append(dict_vel['High_Osc_con'][i][2]/dict_vel['High_Osc_con'][i][3])\n",
" # Compute normalized 'delta' values w.r.t the numerical dissipation\n",
" delta_hat_dis_exp[scheme][jac_name].append(dict_vel['High_Osc_exp'][i][2]/dict_vel['High_Osc_exp'][i][4])\n",
" #delta_hat_dis_con[scheme][jac_name].append(dict_vel['High_Osc_con'][i][2]/dict_vel['High_Osc_con'][i][4])\n",
"\n",
" # Auxiliary indexes for plotting\n",
" # TODO: Test this line and automatize the \"100\"!\n",
" init = 0\n",
" out = 101 #len(time_list['CT']['j_implicit']) # at tau = 0.01, T = 2 --> 200 time steps\n",
"\n",
" # ---------------------- #\n",
" # DELTA VALUE CASE\n",
" # ---------------------- #\n",
" # CASE CT\n",
" plt.subplots(figsize=(10, 4))\n",
" # Top \n",
" lf_ax = plt.subplot(1, 2, 2)\n",
" lf_j_exp, = lf_ax.plot(time_list['CT']['j_explicit'][init:out], delta_value_exp['CT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['CT']['j_implicit'][init:out], delta_value_exp['CT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"$\\delta_{CT}$\", color='blue')\n",
" lf_ax.set_title(r\"Residual Energy $\\delta_{CT}$\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['CT']['j_explicit'][init:out], delta_value_con['CT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['CT']['j_implicit'][init:out], delta_value_con['CT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"$\\delta_{CT}$ def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'CT $\\bigstar\\bigstar = n$', r'CT $\\bigstar\\bigstar = n+1$'), loc='center right')\n",
" plt.grid(True)\n",
" # CASE M\n",
" # Bottom\n",
" lf_ax = plt.subplot(1, 2, 1)\n",
" lf_j_exp, = lf_ax.plot(time_list['MT']['j_explicit'][init:out], delta_value_exp['MT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['MT']['j_implicit'][init:out], delta_value_exp['MT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"$\\delta_{M}$\", color='blue')\n",
" lf_ax.set_title(r\"Residual Energy $\\delta_{M}$\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['MT']['j_explicit'][init:out], delta_value_con['MT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['MT']['j_implicit'][init:out], delta_value_con['MT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"$\\delta_{M}$ def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'M $\\bigstar\\bigstar = n$', r'M $\\bigstar\\bigstar = n+1$'), loc='center right')\n",
" plt.grid(True)\n",
" plt.subplots_adjust(hspace=0.8)\n",
" plt.tight_layout()\n",
" plt.savefig('Comparison_Delta_Value_GCL_{}_Solver_{}.png'.format(args[0], args[1]), dpi=300)\n",
" plt.close()\n",
"\n",
" # ---------------------- #\n",
" # NORMALIZED DELTA CASE (w.r.t physical dissipation)\n",
" # ---------------------- #\n",
" plt.subplots(figsize=(10, 4))\n",
" # CASE CT\n",
" # Top\n",
" lf_ax = plt.subplot(1, 2, 2)\n",
" lf_j_exp, = lf_ax.plot(time_list['CT']['j_explicit'][init:out], delta_hat_value_exp['CT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['CT']['j_implicit'][init:out], delta_hat_value_exp['CT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"$\\hat{\\delta}_{CT}$\", color='blue')\n",
" lf_ax.set_title(r\"Normalized value $\\hat{\\delta}_{CT}$\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['CT']['j_explicit'][init:out], delta_hat_value_con['CT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['CT']['j_implicit'][init:out], delta_hat_value_con['CT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"$\\hat{\\delta}_{CT}$ def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'CT $\\bigstar\\bigstar = n$', r'CT $\\bigstar\\bigstar = n+1$'), loc='lower right')\n",
" plt.grid(True)\n",
" # CASE M\n",
" # Bottom\n",
" lf_ax = plt.subplot(1, 2, 1)\n",
" lf_j_exp, = lf_ax.plot(time_list['MT']['j_explicit'][init:out], delta_hat_value_exp['MT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['MT']['j_implicit'][init:out], delta_hat_value_exp['MT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"$\\hat{\\delta}_{M}$\", color='blue')\n",
" lf_ax.set_title(r\"Normalized value $\\hat{\\delta}_{M}$\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['MT']['j_explicit'][init:out], delta_hat_value_con['MT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['MT']['j_implicit'][init:out], delta_hat_value_con['MT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"$\\hat{\\delta}_{M}$ def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'M $\\bigstar\\bigstar = n$', r'M $\\bigstar\\bigstar = n+1$'), loc='upper right')\n",
" plt.grid(True)\n",
" plt.subplots_adjust(hspace=0.8)\n",
" plt.tight_layout()\n",
" plt.savefig('Comparison_Delta_Hat_Value_GCL_{}_solver_{}.png'.format(args[0], args[1]), dpi=300)\n",
" plt.close()\n",
"\n",
" # ---------------------- #\n",
" # NORMALIZED DELTA CASE (w.r.t numerical dissipation)\n",
" # ---------------------- #\n",
" plt.subplots(figsize=(10, 4))\n",
" # CASE CT\n",
" # Top\n",
" lf_ax = plt.subplot(1, 2, 2)\n",
" lf_j_exp, = lf_ax.plot(time_list['CT']['j_explicit'][init:out], delta_hat_dis_exp['CT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['CT']['j_implicit'][init:out], delta_hat_dis_exp['CT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"$\\hat{\\delta}_{CT}$ dis. \", color='blue')\n",
" lf_ax.set_title(r\"Normalized value $\\hat{\\delta}_{CT}$ (dis)\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['CT']['j_explicit'][init:out], delta_hat_dis_con['CT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['CT']['j_implicit'][init:out], delta_hat_dis_con['CT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"$\\hat{\\delta}_{CT}$ def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'CT $\\bigstar\\bigstar = n$', r'CT $\\bigstar\\bigstar = n+1$'), loc='lower right')\n",
" plt.grid(True)\n",
" # CASE M\n",
" # Bottom\n",
" lf_ax = plt.subplot(1, 2, 1)\n",
" lf_j_exp, = lf_ax.plot(time_list['MT']['j_explicit'][init:out], delta_hat_dis_exp['MT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['MT']['j_implicit'][init:out], delta_hat_dis_exp['MT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"$\\hat{\\delta}_{M}$ dis.\", color='blue')\n",
" lf_ax.set_title(r\"Normalized value $\\hat{\\delta}_{M}$ (dis)\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['MT']['j_explicit'][init:out], delta_hat_dis_con['MT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['MT']['j_implicit'][init:out], delta_hat_dis_con['MT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"$\\hat{\\delta}_{M}$ def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'M $\\bigstar\\bigstar = n$', r'M $\\bigstar\\bigstar = n+1$'), loc='lower right')\n",
" plt.grid(True)\n",
" plt.subplots_adjust(hspace=0.8)\n",
" plt.tight_layout()\n",
" plt.savefig('Comparison_Delta_Hat_Dis_Value_GCL_{}_solver_{}.png'.format(args[0], args[1]), dpi=300)\n",
" plt.close()\n",
"\n",
" # ---------------------- #\n",
" # PHYSICAL DISSIPATION PLOT\n",
" # ---------------------- #\n",
" plt.subplots(figsize=(10, 4))\n",
" # CASE CT\n",
" # Top\n",
" lf_ax = plt.subplot(1, 2, 2)\n",
" lf_j_exp, = lf_ax.plot(time_list['CT']['j_explicit'][init:out], eps_value_exp['CT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['CT']['j_implicit'][init:out], eps_value_exp['CT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"CT\", color='blue')\n",
" lf_ax.set_title(r\"Physical Dissipation (CT)\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['CT']['j_explicit'][init:out], eps_value_con['CT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['CT']['j_implicit'][init:out], eps_value_con['CT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"On def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), \\\n",
" (r'CT $\\star\\star = n$', r'CT $\\bigstar\\bigstar = n+1$'), loc='lower right')\n",
" plt.grid(True)\n",
" # CASE M\n",
" # Bottom\n",
" lf_ax = plt.subplot(1, 2, 1)\n",
" lf_j_exp, = lf_ax.plot(time_list['MT']['j_explicit'][init:out], eps_value_exp['MT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['MT']['j_implicit'][init:out], eps_value_exp['MT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"M\", color='blue')\n",
" lf_ax.set_title(r\"Physical Dissipation (M)\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['MT']['j_explicit'][init:out], eps_value_con['MT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['MT']['j_implicit'][init:out], eps_value_con['MT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"On def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'M $\\bigstar\\bigstar = n$', r'M $\\bigstar\\bigstar = n+1$'), loc='lower right')\n",
" plt.grid(True)\n",
" plt.subplots_adjust(hspace=0.8)\n",
" plt.tight_layout()\n",
" plt.savefig('Comparison_Eps_Value_GCL_{}_solver_{}.png'.format(args[0], args[1]), dpi=300)\n",
" plt.close()\n",
"\n",
" # ---------------------- #\n",
" # NUMERICAL DISSIPATION PLOT\n",
" # ---------------------- #\n",
" plt.subplots(figsize=(10, 4))\n",
" # CASE CT\n",
" # Top\n",
" lf_ax = plt.subplot(1, 2, 2)\n",
" lf_j_exp, = lf_ax.plot(time_list['CT']['j_explicit'][init:out], dis_value_exp['CT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['CT']['j_implicit'][init:out], dis_value_exp['CT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"CT\", color='blue')\n",
" lf_ax.set_title(r\"Numerical Dissipation (CT)\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['CT']['j_explicit'][init:out], dis_value_con['CT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['CT']['j_implicit'][init:out], dis_value_con['CT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"On def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'CT $\\bigstar\\bigstar = n$', r'CT $\\bigstar\\bigstar = n+1$'), loc='lower right')\n",
" plt.grid(True)\n",
" # CASE M\n",
" # Bottom\n",
" lf_ax = plt.subplot(1, 2, 1)\n",
" lf_j_exp, = lf_ax.plot(time_list['MT']['j_explicit'][init:out], dis_value_exp['MT']['j_explicit'][init:out], color='blue', ls='--')\n",
" lf_j_imp, = lf_ax.plot(time_list['MT']['j_implicit'][init:out], dis_value_exp['MT']['j_implicit'][init:out], color='blue')\n",
" lf_ax.set_xlabel(r\"Simulation time [t]\")\n",
" lf_ax.set_ylabel(r\"M\", color='blue')\n",
" lf_ax.set_title(r\"Numerical Dissipation (M)\")\n",
" lf_ax.tick_params(axis='y', labelcolor='blue')\n",
" lf_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" #rh_ax = lf_ax.twinx()\n",
" #rh_j_exp, = rh_ax.plot(time_list['MT']['j_explicit'][init:out], dis_value_con['MT']['j_explicit'][init:out], color='red', ls='--')\n",
" #rh_j_imp, = rh_ax.plot(time_list['MT']['j_implicit'][init:out], dis_value_con['MT']['j_implicit'][init:out], color='red')\n",
" #rh_ax.set_ylabel(r\"On def. II\", color='red')\n",
" #rh_ax.tick_params(axis='y', labelcolor='red')\n",
" #rh_ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))\n",
" plt.legend((lf_j_exp, lf_j_imp), (r'M $\\bigstar\\bigstar = n$', r'M $\\bigstar\\bigstar = n+1$'), loc='lower right')\n",
" plt.grid(True)\n",
" plt.subplots_adjust(hspace=0.8)\n",
" plt.tight_layout()\n",
" plt.savefig('Comparison_Num_Dis_Value_GCL_{}_solver_{}.png'.format(args[0], args[1]), dpi=300)\n",
" plt.close()\n",
" print(\"\\nAll computations done and figures saved...\\n\")\n",
" print(\"\\n------------------------------------------\\n\")\n",
" return None\n",
"\n",
"testing_comparative_plots(dict_mt, dict_ct, True, 'LU')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@ -3,10 +3,10 @@ NavierStokes
This repository implements via finite element solvers for incompressible
Navier-Stokes (iNSE) equations in Arbitrary Lagrangian-Eulerian (ALE) formalism the schemes
proposed on [RA20]_.
proposed on [RA20]_.
In particular, it aims to replicate the energy results shown in the article [RA20]_
for both Monolithic and Chorin-Temam solvers.
It aims to replicate the energy results shown in the article [RA20]_
for both Monolithic and Chorin-Temam solvers. TeX submissions are added for reference.
Solvers
-------
@ -15,7 +15,7 @@ Both monolithic solver and a fractional step solver are implemented.
* Monolithic solver for the iNSE-ALE problem with linearized convective term and Taylor-Hood (P2/P1) stable finite element space.
* Fractional step solver for the iNSE-ALE problem with linealized convective term and P1/P1 finite element space. The Chorin-Temam schemes proposed is described in [RA20]_.
* Fractional step solver for the iNSE-ALE problem with linealized convective term and P1/P1 finite element space. Chorin-Temam schemes proposed here are described in [RA20]_.
Flow model
----------
@ -32,9 +32,7 @@ no configuration files where implemented to further customize the problem.
Nevertheless, the solvers are easily modified since its implementation is done via
FEniCS [LO12]_.
An ipynb file is included to reproduce the results and recommended to use.
If desired to run the simulations only, execute::
To run the simulations and generate the figures depicted in our article, execute::
python main.py

23
tex/.gitignore vendored Normal file
View File

@ -0,0 +1,23 @@
*.aux
*.log
*.pdf
*.synctex.gz
*.sh
# Submission 1
1_submission/*.synctex.gz
1_submission/*.log
1_submission/*.aux
1_submission/*.pdf
# Submission 2
2_submission/*.synctex.gz
2_submission/*.log
2_submission/*.aux
2_submission/*.pdf
# HAL Submission
hal_submission/*.synctex.gz
hal_submission/*.log
hal_submission/*.aux
hal_submission/*.pdf

BIN
tex/1_submission/.DS_Store vendored Normal file

Binary file not shown.

5
tex/1_submission/README Normal file
View File

@ -0,0 +1,5 @@
Latest modifications done by: R.A. Arostica
We are using Elsevier's journal article template.
The main tex file containing the article under writing in paper.tex
I've chosen the single column, but we can easily change it for a double column if necessary.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,444 @@
%%
%% Copyright 2019-2020 Elsevier Ltd
%%
%% This file is part of the 'CAS Bundle'.
%% --------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
%% License, either version 1.2 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'CAS Bundle' is
%% given in the file `manifest.txt'.
%%
%% Template article for cas-dc documentclass for
%% double column output.
%\documentclass[a4paper,fleqn,longmktitle]{cas-dc}
\documentclass[a4paper,fleqn]{cas-dc}
%\usepackage[authoryear,longnamesfirst]{natbib}
%\usepackage[authoryear]{natbib}
\usepackage[numbers]{natbib}
%%%Author definitions
\def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}}
\tsc{WGM}
\tsc{QE}
\tsc{EP}
\tsc{PMS}
\tsc{BEC}
\tsc{DE}
%%%
\begin{document}
\let\WriteBookmarks\relax
\def\floatpagepagefraction{1}
\def\textpagefraction{.001}
\shorttitle{Leveraging social media news}
\shortauthors{CV Radhakrishnan et~al.}
\title [mode = title]{This is a specimen $a_b$ title}
\tnotemark[1,2]
\tnotetext[1]{This document is the results of the research
project funded by the National Science Foundation.}
\tnotetext[2]{The second title footnote which is a longer text matter
to fill through the whole text width and overflow into
another line in the footnotes area of the first page.}
\author[1,3]{CV Radhakrishnan}[type=editor,
auid=000,bioid=1,
prefix=Sir,
role=Researcher,
orcid=0000-0001-7511-2910]
\cormark[1]
\fnmark[1]
\ead{cvr_1@tug.org.in}
\ead[url]{www.cvr.cc, cvr@sayahna.org}
\credit{Conceptualization of this study, Methodology, Software}
\address[1]{Elsevier B.V., Radarweg 29, 1043 NX Amsterdam, The Netherlands}
\author[2,4]{Han Theh Thanh}[style=chinese]
\author[2,3]{CV Rajagopal}[%
role=Co-ordinator,
suffix=Jr,
]
\fnmark[2]
\ead{cvr3@sayahna.org}
\ead[URL]{www.sayahna.org}
\credit{Data curation, Writing - Original draft preparation}
\address[2]{Sayahna Foundation, Jagathy, Trivandrum 695014, India}
\author%
[1,3]
{Rishi T.}
\cormark[2]
\fnmark[1,3]
\ead{rishi@stmdocs.in}
\ead[URL]{www.stmdocs.in}
\address[3]{STM Document Engineering Pvt Ltd., Mepukada,
Malayinkil, Trivandrum 695571, India}
\cortext[cor1]{Corresponding author}
\cortext[cor2]{Principal corresponding author}
\fntext[fn1]{This is the first author footnote. but is common to third
author as well.}
\fntext[fn2]{Another author footnote, this is a very long footnote and
it should be a really long footnote. But this footnote is not yet
sufficiently long enough to make two lines of footnote text.}
\nonumnote{This note has no numbers. In this work we demonstrate $a_b$
the formation Y\_1 of a new type of polariton on the interface
between a cuprous oxide slab and a polystyrene micro-sphere placed
on the slab.
}
\begin{abstract}
This template helps you to create a properly formatted \LaTeX\ manuscript.
\noindent\texttt{\textbackslash begin{abstract}} \dots
\texttt{\textbackslash end{abstract}} and
\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+
which
contain the abstract and keywords respectively.
\noindent Each keyword shall be separated by a \verb+\sep+ command.
\end{abstract}
\begin{graphicalabstract}
\includegraphics{figs/grabs.pdf}
\end{graphicalabstract}
\begin{highlights}
\item Research highlights item 1
\item Research highlights item 2
\item Research highlights item 3
\end{highlights}
\begin{keywords}
quadrupole exciton \sep polariton \sep \WGM \sep \BEC
\end{keywords}
\maketitle
\section{Introduction}
The Elsevier cas-dc class is based on the
standard article class and supports almost all of the functionality of
that class. In addition, it features commands and options to format the
\begin{itemize} \item document style \item baselineskip \item front
matter \item keywords and MSC codes \item theorems, definitions and
proofs \item lables of enumerations \item citation style and labeling.
\end{itemize}
This class depends on the following packages
for its proper functioning:
\begin{enumerate}
\itemsep=0pt
\item {natbib.sty} for citation processing;
\item {geometry.sty} for margin settings;
\item {fleqn.clo} for left aligned equations;
\item {graphicx.sty} for graphics inclusion;
\item {hyperref.sty} optional packages if hyperlinking is
required in the document;
\end{enumerate}
All the above packages are part of any
standard \LaTeX{} installation.
Therefore, the users need not be
bothered about downloading any extra packages.
\section{Installation}
The package is available at author resources page at Elsevier
(\url{http://www.elsevier.com/locate/latex}).
The class may be moved or copied to a place, usually,\linebreak
\verb+$TEXMF/tex/latex/elsevier/+, %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%
or a folder which will be read
by \LaTeX{} during document compilation. The \TeX{} file
database needs updation after moving/copying class file. Usually,
we use commands like \verb+mktexlsr+ or \verb+texhash+ depending
upon the distribution and operating system.
\section{Front matter}
The author names and affiliations could be formatted in two ways:
\begin{enumerate}[(1)]
\item Group the authors per affiliation.
\item Use footnotes to indicate the affiliations.
\end{enumerate}
See the front matter of this document for examples.
You are recommended to conform your choice to the journal you
are submitting to.
\section{Bibliography styles}
There are various bibliography styles available. You can select the
style of your choice in the preamble of this document. These styles are
Elsevier styles based on standard styles like Harvard and Vancouver.
Please use Bib\TeX\ to generate your bibliography and include DOIs
whenever available.
Here are two sample references:
\cite{Fortunato2010}
\cite{Fortunato2010,NewmanGirvan2004}
\cite{Fortunato2010,Vehlowetal2013}
\section{Floats}
{Figures} may be included using the command,\linebreak
\verb+\includegraphics+ in
combination with or without its several options to further control
graphic. \verb+\includegraphics+ is provided by {graphic[s,x].sty}
which is part of any standard \LaTeX{} distribution.
{graphicx.sty} is loaded by default. \LaTeX{} accepts figures in
the postscript format while pdf\LaTeX{} accepts {*.pdf},
{*.mps} (metapost), {*.jpg} and {*.png} formats.
pdf\LaTeX{} does not accept graphic files in the postscript format.
\begin{figure}
\centering
\includegraphics[scale=.75]{figs/Fig1.pdf}
\caption{The evanescent light - $1S$ quadrupole coupling
($g_{1,l}$) scaled to the bulk exciton-photon coupling
($g_{1,2}$). The size parameter $kr_{0}$ is denoted as $x$ and
the \PMS is placed directly on the cuprous oxide sample ($\delta
r=0$, See also Table \protect\ref{tbl1}).}
\label{FIG:1}
\end{figure}
The \verb+table+ environment is handy for marking up tabular
material. If users want to use {multirow.sty},
{array.sty}, etc., to fine control/enhance the tables, they
are welcome to load any package of their choice and
{cas-dc.cls} will work in combination with all loaded
packages.
\begin{table}[width=.9\linewidth,cols=4,pos=h]
\caption{This is a test caption. This is a test caption. This is a test
caption. This is a test caption.}\label{tbl1}
\begin{tabular*}{\tblwidth}{@{} LLLL@{} }
\toprule
Col 1 & Col 2 & Col 3 & Col4\\
\midrule
12345 & 12345 & 123 & 12345 \\
12345 & 12345 & 123 & 12345 \\
12345 & 12345 & 123 & 12345 \\
12345 & 12345 & 123 & 12345 \\
12345 & 12345 & 123 & 12345 \\
\bottomrule
\end{tabular*}
\end{table}
\section[Theorem and ...]{Theorem and theorem like environments}
{cas-dc.cls} provides a few shortcuts to format theorems and
theorem-like environments with ease. In all commands the options that
are used with the \verb+\newtheorem+ command will work exactly in the same
manner. {cas-dc.cls} provides three commands to format theorem or
theorem-like environments:
\begin{verbatim}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\newdefinition{rmk}{Remark}
\newproof{pf}{Proof}
\newproof{pot}{Proof of Theorem \ref{thm2}}
\end{verbatim}
The \verb+\newtheorem+ command formats a
theorem in \LaTeX's default style with italicized font, bold font
for theorem heading and theorem number at the right hand side of the
theorem heading. It also optionally accepts an argument which
will be printed as an extra heading in parentheses.
\begin{verbatim}
\begin{theorem}
For system (8), consensus can be achieved with
$\|T_{\omega z}$ ...
\begin{eqnarray}\label{10}
....
\end{eqnarray}
\end{theorem}
\end{verbatim}
\newtheorem{theorem}{Theorem}
\begin{theorem}
For system (8), consensus can be achieved with
$\|T_{\omega z}$ ...
\begin{eqnarray}\label{10}
....
\end{eqnarray}
\end{theorem}
The \verb+\newdefinition+ command is the same in
all respects as its \verb+\newtheorem+ counterpart except that
the font shape is roman instead of italic. Both
\verb+\newdefinition+ and \verb+\newtheorem+ commands
automatically define counters for the environments defined.
The \verb+\newproof+ command defines proof environments with
upright font shape. No counters are defined.
\section[Enumerated ...]{Enumerated and Itemized Lists}
{cas-dc.cls} provides an extended list processing macros
which makes the usage a bit more user friendly than the default
\LaTeX{} list macros. With an optional argument to the
\verb+\begin{enumerate}+ command, you can change the list counter
type and its attributes.
\begin{verbatim}
\begin{enumerate}[1.]
\item The enumerate environment starts with an optional
argument `1.', so that the item counter will be suffixed
by a period.
\item You can use `a)' for alphabetical counter and '(i)'
for roman counter.
\begin{enumerate}[a)]
\item Another level of list with alphabetical counter.
\item One more item before we start another.
\item One more item before we start another.
\item One more item before we start another.
\item One more item before we start another.
\end{verbatim}
Further, the enhanced list environment allows one to prefix a
string like `step' to all the item numbers.
\begin{verbatim}
\begin{enumerate}[Step 1.]
\item This is the first step of the example list.
\item Obviously this is the second step.
\item The final step to wind up this example.
\end{enumerate}
\end{verbatim}
\section{Cross-references}
In electronic publications, articles may be internally
hyperlinked. Hyperlinks are generated from proper
cross-references in the article. For example, the words
\textcolor{black!80}{Fig.~1} will never be more than simple text,
whereas the proper cross-reference \verb+\ref{tiger}+ may be
turned into a hyperlink to the figure itself:
\textcolor{blue}{Fig.~1}. In the same way,
the words \textcolor{blue}{Ref.~[1]} will fail to turn into a
hyperlink; the proper cross-reference is \verb+\cite{Knuth96}+.
Cross-referencing is possible in \LaTeX{} for sections,
subsections, formulae, figures, tables, and literature
references.
\section{Bibliography}
Two bibliographic style files (\verb+*.bst+) are provided ---
{model1-num-names.bst} and {model2-names.bst} --- the first one can be
used for the numbered scheme. This can also be used for the numbered
with new options of {natbib.sty}. The second one is for the author year
scheme. When you use model2-names.bst, the citation commands will be
like \verb+\citep+, \verb+\citet+, \verb+\citealt+ etc. However when
you use model1-num-names.bst, you may use only \verb+\cite+ command.
\verb+thebibliography+ environment. Each reference is a\linebreak
\verb+\bibitem+ and each \verb+\bibitem+ is identified by a label,
by which it can be cited in the text:
\noindent In connection with cross-referencing and
possible future hyperlinking it is not a good idea to collect
more that one literature item in one \verb+\bibitem+. The
so-called Harvard or author-year style of referencing is enabled
by the \LaTeX{} package {natbib}. With this package the
literature can be cited as follows:
\begin{enumerate}[\textbullet]
\item Parenthetical: \verb+\citep{WB96}+ produces (Wettig \& Brown, 1996).
\item Textual: \verb+\citet{ESG96}+ produces Elson et al. (1996).
\item An affix and part of a reference:\break
\verb+\citep[e.g.][Ch. 2]{Gea97}+ produces (e.g. Governato et
al., 1997, Ch. 2).
\end{enumerate}
In the numbered scheme of citation, \verb+\cite{<label>}+ is used,
since \verb+\citep+ or \verb+\citet+ has no relevance in the numbered
scheme. {natbib} package is loaded by {cas-dc} with
\verb+numbers+ as default option. You can change this to author-year
or harvard scheme by adding option \verb+authoryear+ in the class
loading command. If you want to use more options of the {natbib}
package, you can do so with the \verb+\biboptions+ command. For
details of various options of the {natbib} package, please take a
look at the {natbib} documentation, which is part of any standard
\LaTeX{} installation.
\appendix
\section{My Appendix}
Appendix sections are coded under \verb+\appendix+.
\verb+\printcredits+ command is used after appendix sections to list
author credit taxonomy contribution roles tagged using \verb+\credit+
in frontmatter.
\printcredits
%% Loading bibliography style file
%\bibliographystyle{model1-num-names}
\bibliographystyle{cas-model2-names}
% Loading bibliography database
\bibliography{cas-refs}
%\vskip3pt
\bio{}
Author biography without author photo.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
\endbio
\bio{figs/pic1}
Author biography with author photo.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
\endbio
\bio{figs/pic1}
Author biography with author photo.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
Author biography. Author biography. Author biography.
\endbio
\end{document}

175
tex/1_submission/cas-dc.cls Normal file
View File

@ -0,0 +1,175 @@
%%
%% This is file `cas-sc.cls'.
%%
%% This file is part of the 'CAS Bundle'.
%% ......................................
%%
%% It may be distributed under the conditions of the LaTeX Project Public
%% License, either version 1.2 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'CAS Bundle' is
%% given in the file `manifest.txt'.
%%
%% $Id: cas-dc.cls 49 2020-03-14 09:05:10Z rishi $
\def\RCSfile{cas-dc}%
\def\RCSversion{2.1}%
\def\RCSdate{2020/03/14}%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\RCSfile}[\RCSdate, \RCSversion: Formatting class
for CAS double column articles]
%
\def\ABD{\AtBeginDocument}
%
% switches
%
\newif\iflongmktitle \longmktitlefalse
\newif\ifdc \global\dctrue
\newif\ifsc \global\scfalse
\newif\ifcasreviewlayout \global\casreviewlayoutfalse
\newif\ifcasfinallayout \global\casfinallayoutfalse
\newcounter{blind}
\setcounter{blind}{0}
\def\blstr#1{\gdef\@blstr{#1}}
\def\@blstr{1}
\newdimen\@bls
\@bls=\baselineskip
\DeclareOption{singleblind}{\setcounter{blind}{1}}
\DeclareOption{doubleblind}{\setcounter{blind}{2}}
\DeclareOption{longmktitle}{\global\longmktitletrue}
\DeclareOption{final}{\global\casfinallayouttrue}
\DeclareOption{review}{\global\casreviewlayouttrue}
\ExecuteOptions{a4paper,10pt,oneside,fleqn,review}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions
\LoadClass{article}
\RequirePackage{graphicx}
\RequirePackage{amsmath,amsfonts,amssymb}
\allowdisplaybreaks
\RequirePackage{expl3,xparse}
\@ifundefined{regex_match:nnTF}{\RequirePackage{l3regex}}{}
\RequirePackage{etoolbox,balance}
\RequirePackage{booktabs,makecell,multirow,array,colortbl,dcolumn,stfloats}
\RequirePackage{xspace,xstring,footmisc}
\RequirePackage[svgnames,dvipsnames]{xcolor}
\RequirePackage[colorlinks]{hyperref}
\colorlet{scolor}{black}
\colorlet{hscolor}{DarkSlateGrey}
\hypersetup{%
pdftitle={\csuse{__short_title:}},
pdfauthor={\csuse{__short_authors:}},
pdfcreator={LaTeX3; cas-sc.cls; hyperref.sty},
pdfproducer={pdfTeX;},
linkcolor={hscolor},
urlcolor={hscolor},
citecolor={hscolor},
filecolor={hscolor},
menucolor={hscolor},
}
\let\comma\@empty
\let\tnotesep\@empty
\let\@title\@empty
%
% Load Common items
%
\RequirePackage{cas-common}
%
% Specific to Single Column
%
\ExplSyntaxOn
\RenewDocumentCommand \maketitle { }
{
\ifbool { usecasgrabsbox }
{
\setcounter{page}{0}
\thispagestyle{empty}
\unvbox\casgrabsbox
} { }
\pagebreak
\ifbool { usecashlsbox }
{
\setcounter{page}{0}
\thispagestyle{empty}
\unvbox\casauhlbox
} { }
\pagebreak
\thispagestyle{first}
\ifbool{longmktitle}
{
\LongMaketitleBox
\ProcessLongTitleBox
}
{
\twocolumn[\MaketitleBox]
\printFirstPageNotes
}
\setcounter{footnote}{\int_use:N \g_stm_fnote_int}
\renewcommand\thefootnote{\arabic{footnote}}
\gdef\@pdfauthor{\infoauthors}
\gdef\@pdfsubject{Complex ~STM ~Content}
}
%
% Fonts
%
\RequirePackage[T1]{fontenc}
\file_if_exist:nTF { stix.sty }
{
\file_if_exist:nTF { charis.sty }
{
\RequirePackage[notext]{stix}
\RequirePackage{charis}
}
{ \RequirePackage{stix} }
}
{
\iow_term:x { *********************************************************** }
\iow_term:x { ~Stix ~ and ~ Charis~ fonts ~ are ~ not ~ available ~ }
\iow_term:x { ~ in ~TeX~system.~Hence~CMR~ fonts~ are ~ used. }
\iow_term:x { *********************************************************** }
}
\file_if_exist:nTF { inconsolata.sty }
{ \RequirePackage[scaled=.85]{inconsolata} }
{ \tex_gdef:D \ttdefault { cmtt } }
\ExplSyntaxOff
%
% Page geometry
%
\usepackage[%
paperwidth=210mm,
paperheight=280mm,
vmargin={19.5mm,18.2mm},
hmargin={18.1mm,18.1mm},
headsep=12pt,
footskip=12pt,
columnsep=18pt
]{geometry}
\endinput
%
% End of class 'cas-sc'
%

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,270 @@
@article{FEniCS2015,
author = {Aln\ae{}s, Martin and Blechta, Jan and Hake, Johan and Johansson, August and Kehlet, Benjamin and Logg, Anders and Richardson, Chris and Ring, Johannes and Rognes, Marie E and Wells, Garth N},
language = {eng},
title = {The FEniCS Project Version 1.5},
journal = {<p>Archive of Numerical Software},
volume = {Vol 3},
pages = {<strong>Starting Point and Frequency: </strong>Year: 2013</p>--},
publisher = {University Library Heidelberg},
year = {2015},
copyright = {Authors who publish with this journal agree to the following terms: Authors retain copyright and grant the journal right of first publication with the descriptive part of the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this journal. The code part of the work is licensed under a suitable OSI approved Open Source license. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial publication in this journal. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work.}
}
@book{Quarteroni2009Cardiovascular,
year = {2009},
publisher = {Springer Milan},
editor = {Luca Formaggia and Alfio Quarteroni and Alessandro Veneziani},
title = {Cardiovascular Mathematics}
}
@book{Richter2017,
year = {2017},
publisher = {Springer International Publishing},
author = {Thomas Richter},
title = {Fluid-structure Interactions}
}
@article{bertoglio2018benchmark,
title={Benchmark problems for numerical treatment of backflow at open boundaries},
author={Bertoglio, Crist{\'o}bal and Caiazzo, Alfonso and Bazilevs, Yuri and Braack, Malte and Esmaily, Mahdi and Gravemeier, Volker and L. Marsden, Alison and Pironneau, Olivier and E. Vignon-Clementel, Irene and A. Wall, Wolfgang},
journal={International journal for numerical methods in biomedical engineering},
volume={34},
number={2},
pages={e2918},
year={2018},
publisher={Wiley Online Library}
}
@article{Bert2018,
author = {Bertoglio, C. and Nu{\~n}ez, R. and Galarce, F. and Nordsletten, D. and Osses, A.},
title = {Relative pressure estimation from velocity measurements in blood flows: State-of-the-art and new approaches},
journal = {International Journal for Numerical Methods in Biomedical Engineering},
volume = {2018;34:e2925. https://doi.org/10.1002/cnm.2925},
year = {2018}
}
@article{Lozovskiy2018,
year = {2018},
month = may,
publisher = {Elsevier {BV}},
volume = {333},
pages = {55--73},
author = {Alexander Lozovskiy and Maxim A. Olshanskii and Yuri V. Vassilevski},
title = {A quasi-Lagrangian finite element method for the Navier{\textendash}Stokes equations in a time-dependent domain},
journal = {Computer Methods in Applied Mechanics and Engineering}
}
@article{Liu2018,
year = {2018},
month = aug,
publisher = {Elsevier {BV}},
volume = {337},
pages = {549--597},
author = {Ju Liu and Alison L. Marsden},
title = {A unified continuum and variational multiscale formulation for fluids, solids, and fluid{\textendash}structure interaction},
journal = {Computer Methods in Applied Mechanics and Engineering}
}
@article{Nordsletten2008,
year = {2008},
publisher = {Wiley},
volume = {56},
number = {8},
pages = {1457--1463},
author = {D. A. Nordsletten and P. J. Hunter and N. P. Smith},
title = {Conservative and non-conservative arbitrary Lagrangian{\textendash}Eulerian forms for ventricular flows},
journal = {International Journal for Numerical Methods in Fluids}
}
@article{Landajuela2016,
year = {2016},
month = jul,
publisher = {Wiley},
volume = {33},
number = {4},
pages = {e2813},
author = {Mikel Landajuela and Marina Vidrascu and Dominique Chapelle and Miguel A. Fern{\'{a}}ndez},
title = {Coupling schemes for the {FSI} forward prediction challenge: Comparative study and validation},
journal = {International Journal for Numerical Methods in Biomedical Engineering}
}
@article{Burtschell2017,
year = {2017},
month = apr,
publisher = {Elsevier {BV}},
volume = {182},
pages = {313--324},
author = {Bruno Burtschell and Dominique Chapelle and Philippe Moireau},
title = {Effective and energy-preserving time discretization for a general nonlinear poromechanical formulation},
journal = {Computers {\&} Structures}
}
@article{Basting2017,
year = {2017},
month = feb,
publisher = {Elsevier {BV}},
volume = {331},
pages = {312--336},
author = {Steffen Basting and Annalisa Quaini and Sun{\v{c}}ica {\v{C}}ani{\'{c}} and Roland Glowinski},
title = {Extended {ALE} Method for fluid{\textendash}structure interaction problems with large structural displacements},
journal = {Journal of Computational Physics}
}
@article{Deparis2016,
year = {2016},
month = dec,
publisher = {Elsevier {BV}},
volume = {327},
pages = {700--718},
author = {Simone Deparis and Davide Forti and Gwenol Grandperrin and Alfio Quarteroni},
title = {{FaCSI}: A block parallel preconditioner for fluid{\textendash}structure interaction in hemodynamics},
journal = {Journal of Computational Physics}
}
@incollection{Colciago2017,
year = {2017},
month = nov,
publisher = {De Gruyter},
author = {Claudia M. Colciago and Simone Deparis and Davide Forti},
editor = {Stefan Frei and B\"{a}rbel Holm and Thomas Richter and Thomas Wick and Huidong Yang},
title = {7. Fluid-structure interaction for vascular flows: From supercomputers to laptops},
booktitle = {Fluid-Structure Interaction}
}
@article{LeTallec2001,
year = {2001},
month = mar,
publisher = {Elsevier {BV}},
volume = {190},
number = {24-25},
pages = {3039--3067},
author = {P. Le Tallec and J. Mouro},
title = {Fluid structure interaction with large structural displacements},
journal = {Computer Methods in Applied Mechanics and Engineering}
}
@phdthesis{smaldone2014,
TITLE = {{Numerical analysis and simulations of coupled problems for the cariovascular system}},
AUTHOR = {Smaldone, Saverio},
SCHOOL = {{L'UNIVERSIT{\'E} PIERRE ET MARIE CURIE - Paris VI }},
YEAR = {2014},
MONTH = Oct,
TYPE = {Theses},
HAL_ID = {tel-01287506},
HAL_VERSION = {v1},
}
@article{Balzani2015,
year = {2015},
month = dec,
publisher = {Wiley},
volume = {32},
number = {10},
pages = {e02756},
author = {Daniel Balzani and Simone Deparis and Simon Fausten and Davide Forti and Alexander Heinlein and Axel Klawonn and Alfio Quarteroni and Oliver Rheinbach and Joerg Schr\"{o}der},
title = {Numerical modeling of fluid-structure interaction in arteries with anisotropic polyconvex hyperelastic and anisotropic viscoelastic material models at finite strains},
journal = {International Journal for Numerical Methods in Biomedical Engineering}
}
@misc{langer2014numerical,
title={Numerical Simulation of Fluid-Structure Interaction Problems with Hyperelastic Models: A Monolithic Approach},
author={Ulrich Langer and Huidong Yang},
year={2014},
eprint={1408.3737},
archivePrefix={arXiv},
primaryClass={math.NA}
}
@misc{failer2020impact,
title={On the Impact of Fluid Structure Interaction in Blood Flow Simulations: Stenotic Coronary Artery Benchmark},
author={Lukas Failer and Piotr Minakowski and Thomas Richter},
year={2020},
eprint={2003.05214},
archivePrefix={arXiv},
primaryClass={physics.comp-ph}
}
@article{Langer2016,
year = {2016},
month = feb,
publisher = {Wiley},
volume = {108},
number = {4},
pages = {303--325},
author = {Ulrich Langer and Huidong Yang},
title = {Robust and efficient monolithic fluid-structure-interaction solvers},
journal = {International Journal for Numerical Methods in Engineering}
}
@article{Boffi2004,
year = {2004},
month = oct,
publisher = {Elsevier {BV}},
volume = {193},
number = {42-44},
pages = {4717--4739},
author = {Daniele Boffi and Lucia Gastaldi},
title = {Stability and geometric conservation laws for {ALE} formulations},
journal = {Computer Methods in Applied Mechanics and Engineering}
}
@article{Murea2016,
year = {2016},
month = jun,
publisher = {Wiley},
volume = {109},
number = {8},
pages = {1067--1084},
author = {Cornel Marius Murea and Soyibou Sy},
title = {Updated Lagrangian/Arbitrary Lagrangian-Eulerian framework for interaction between a compressible neo-Hookean structure and an incompressible fluid},
journal = {International Journal for Numerical Methods in Engineering}
}
@article{Hessenthaler2017,
year = {2017},
month = feb,
publisher = {Wiley},
volume = {33},
number = {8},
pages = {e2845},
author = {Andreas Hessenthaler and Oliver R\"{o}hrle and David Nordsletten},
title = {Validation of a non-conforming monolithic fluid-structure interaction method using phase-contrast {MRI}},
journal = {International Journal for Numerical Methods in Biomedical Engineering}
}
@Inbook{Wall2009,
author="Wall, W. A.
and Gerstenberger, A.
and Mayer, U. M.",
editor="Eberhardsteiner, Josef
and Hellmich, Christian
and Mang, Herbert A.
and P{\'e}riaux, Jacques",
title="Advances in Fixed-Grid Fluid Structure Interaction",
bookTitle="ECCOMAS Multidisciplinary Jubilee Symposium: New Computational Challenges in Materials, Structures, and Fluids",
year="2009",
publisher="Springer Netherlands",
address="Dordrecht",
pages="235--249",
isbn="978-1-4020-9231-2",
doi="10.1007/978-1-4020-9231-2_16",
url="https://doi.org/10.1007/978-1-4020-9231-2_16"
}
@inproceedings{Tallec2003,
author = {Tallec, Le and Hauret, Patrice},
year = {2003},
month = {01},
pages = {},
title = {Energy conservation in fluid-structure interactions}
}
@misc{Wang2020,
title={An energy stable one-field monolithic arbitrary Lagrangian-Eulerian formulation for fluid-structure interaction},
author={Yongxing Wang and Peter K. Jimack and Mark A. Walkley and Olivier Pironneau},
year={2020},
eprint={2003.03819},
archivePrefix={arXiv},
primaryClass={cs.CE}
}

178
tex/1_submission/cas-sc.cls Normal file
View File

@ -0,0 +1,178 @@
%%
%% This is file `cas-dc.cls'.
%%
%% This file is part of the 'CAS Bundle'.
%% ......................................
%%
%% It may be distributed under the conditions of the LaTeX Project Public
%% License, either version 1.2 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'CAS Bundle' is
%% given in the file `manifest.txt'.
%%
%% $Id: cas-sc.cls 49 2020-03-14 09:05:10Z rishi $
\def\RCSfile{cas-sc}%
\def\RCSversion{2.1}%
\def\RCSdate{2020/03/14}%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\RCSfile}[\RCSdate, \RCSversion: Formatting class
for CAS single column articles]
%
\def\ABD{\AtBeginDocument}
%
% switches
%
\newif\iflongmktitle \longmktitlefalse
\newif\ifdc \global\dcfalse
\newif\ifsc \global\sctrue
\newif\ifcasreviewlayout \global\casreviewlayoutfalse
\newif\ifcasfinallayout \global\casfinallayoutfalse
\newcounter{blind}
\setcounter{blind}{0}
\def\blstr#1{\gdef\@blstr{#1}}
\def\@blstr{1}
\newdimen\@bls
\@bls=\baselineskip
\DeclareOption{singleblind}{\setcounter{blind}{1}}
\DeclareOption{doubleblind}{\setcounter{blind}{2}}
\DeclareOption{longmktitle}{\global\longmktitletrue}
\DeclareOption{final}{\global\casfinallayouttrue}
\DeclareOption{review}{\global\casreviewlayouttrue}
\ExecuteOptions{a4paper,10pt,oneside,fleqn,review}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions
\LoadClass{article}
\RequirePackage{graphicx}
\RequirePackage{amsmath,amsfonts,amssymb}
\allowdisplaybreaks
\RequirePackage{expl3,xparse}
\@ifundefined{regex_match:nnTF}{\RequirePackage{l3regex}}{}
\RequirePackage{etoolbox}
\RequirePackage{booktabs,makecell,multirow,array,colortbl,dcolumn,stfloats}
\RequirePackage{xspace,xstring,footmisc}
\RequirePackage[svgnames,dvipsnames]{xcolor}
\RequirePackage[colorlinks]{hyperref}
\colorlet{scolor}{black}
\colorlet{hscolor}{DarkSlateGrey}
\hypersetup{%
pdfcreator={LaTeX3; cas-sc.cls; hyperref.sty},
pdfproducer={pdfTeX;},
linkcolor={hscolor},
urlcolor={hscolor},
citecolor={hscolor},
filecolor={hscolor},
menucolor={hscolor},
}
% \AtEndDocument{\hypersetup
% {pdftitle={\csuse{__short_title:}},
% pdfauthor={\csuse{__short_authors:}}}}
\let\comma\@empty
\let\tnotesep\@empty
\let\@title\@empty
%
% Load Common items
%
\RequirePackage{cas-common}
%
% Specific to Single Column
%
\ExplSyntaxOn
\RenewDocumentCommand \maketitle {}
{
\ifbool { usecasgrabsbox }
{
\setcounter{page}{0}
\thispagestyle{empty}
\unvbox\casgrabsbox
} { }
\pagebreak
\ifbool { usecashlsbox }
{
\setcounter{page}{0}
\thispagestyle{empty}
\unvbox\casauhlbox
} { }
\pagebreak
\thispagestyle{first}
\ifbool{longmktitle}
{
\LongMaketitleBox
\ProcessLongTitleBox
}
{
\MaketitleBox
\printFirstPageNotes
}
\normalcolor \normalfont
\setcounter{footnote}{\int_use:N \g_stm_fnote_int}
\renewcommand\thefootnote{\arabic{footnote}}