From b3892d3190617eec99bb937883f9ea2d0957d181 Mon Sep 17 00:00:00 2001 From: Sergio Ruiz-Bonilla Date: Tue, 21 Jan 2020 14:00:20 +0000 Subject: [PATCH 1/4] Fix issue 642 --- src/equation_of_state/planetary/sesame.h | 58 ++++++++++++++++++------ 1 file changed, 45 insertions(+), 13 deletions(-) diff --git a/src/equation_of_state/planetary/sesame.h b/src/equation_of_state/planetary/sesame.h index 11c169646..4a8a0210d 100644 --- a/src/equation_of_state/planetary/sesame.h +++ b/src/equation_of_state/planetary/sesame.h @@ -337,16 +337,32 @@ INLINE static float SESAME_pressure_from_internal_energy( } else if (idx_u_2 >= mat->num_T) { idx_u_2 = mat->num_T - 2; } - - intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / - (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); - intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / - (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); - intp_u_2 = + + if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { + intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / + (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); + } else { + intp_rho = 1.; + } + + if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != + mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { + intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / + (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - + mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); + } else { + intp_u_1 = 1.; + } + + if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != + mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { + intp_u_2 = (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); + } else { + intp_u_2 = 1.; + } // Table values P_1 = mat->table_P_rho_T[idx_rho * mat->num_T + idx_u_1]; @@ -442,15 +458,31 @@ INLINE static float SESAME_soundspeed_from_internal_energy( idx_u_2 = mat->num_T - 2; } - intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / - (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); - intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / - (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); - intp_u_2 = + if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { + intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / + (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); + } else { + intp_rho = 1.; + } + + if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != + mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { + intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / + (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - + mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); + } else { + intp_u_1 = 1.; + } + + if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != + mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { + intp_u_2 = (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); + } else { + intp_u_2 = 1.; + } // Table values c_1 = mat->table_c_rho_T[idx_rho * mat->num_T + idx_u_1]; -- GitLab From 09206984a69d09e03161121178a3def507b68462 Mon Sep 17 00:00:00 2001 From: Sergio Ruiz-Bonilla Date: Tue, 21 Jan 2020 14:31:53 +0000 Subject: [PATCH 2/4] Fix code style --- src/equation_of_state/planetary/sesame.h | 62 ++++++++++++------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/equation_of_state/planetary/sesame.h b/src/equation_of_state/planetary/sesame.h index 4a8a0210d..500821d5e 100644 --- a/src/equation_of_state/planetary/sesame.h +++ b/src/equation_of_state/planetary/sesame.h @@ -338,31 +338,31 @@ INLINE static float SESAME_pressure_from_internal_energy( idx_u_2 = mat->num_T - 2; } - if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { - intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / - (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); - } else { - intp_rho = 1.; - } + if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { + intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / + (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); + } else { + intp_rho = 1.; + } - if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != + if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { - intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / + intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); - } else { - intp_u_1 = 1.; - } + } else { + intp_u_1 = 1.; + } - if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != + if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { - intp_u_2 = + intp_u_2 = (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); - } else { - intp_u_2 = 1.; - } + } else { + intp_u_2 = 1.; + } // Table values P_1 = mat->table_P_rho_T[idx_rho * mat->num_T + idx_u_1]; @@ -459,30 +459,30 @@ INLINE static float SESAME_soundspeed_from_internal_energy( } if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { - intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / - (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); - } else { - intp_rho = 1.; - } + intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / + (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); + } else { + intp_rho = 1.; + } - if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != + if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { - intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / + intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); - } else { - intp_u_1 = 1.; - } + } else { + intp_u_1 = 1.; + } - if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != + if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { - intp_u_2 = + intp_u_2 = (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); - } else { - intp_u_2 = 1.; - } + } else { + intp_u_2 = 1.; + } // Table values c_1 = mat->table_c_rho_T[idx_rho * mat->num_T + idx_u_1]; -- GitLab From 5cf24e71bd0ef1e7827971cc4cb7fd584190545a Mon Sep 17 00:00:00 2001 From: Matthieu Schaller Date: Wed, 22 Jan 2020 19:54:04 +0100 Subject: [PATCH 3/4] Applied code formatting tool --- src/equation_of_state/planetary/sesame.h | 44 +++++++++++++----------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/equation_of_state/planetary/sesame.h b/src/equation_of_state/planetary/sesame.h index 500821d5e..1e80c6384 100644 --- a/src/equation_of_state/planetary/sesame.h +++ b/src/equation_of_state/planetary/sesame.h @@ -337,29 +337,30 @@ INLINE static float SESAME_pressure_from_internal_energy( } else if (idx_u_2 >= mat->num_T) { idx_u_2 = mat->num_T - 2; } - + if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { - intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / - (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); + intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / + (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); } else { intp_rho = 1.; } - + if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { - intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / - (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); + intp_u_1 = + (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / + (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - + mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); } else { intp_u_1 = 1.; } - + if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { intp_u_2 = - (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / - (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); + (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / + (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - + mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); } else { intp_u_2 = 1.; } @@ -459,27 +460,28 @@ INLINE static float SESAME_soundspeed_from_internal_energy( } if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { - intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / - (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); + intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / + (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); } else { intp_rho = 1.; } - + if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { - intp_u_1 = (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / - (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); + intp_u_1 = + (log_u - mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) / + (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] - + mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]); } else { intp_u_1 = 1.; } - + if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { intp_u_2 = - (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / - (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); + (log_u - mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) / + (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] - + mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]); } else { intp_u_2 = 1.; } -- GitLab From f8769cbd592ff21654a30a1ebe6836e4c6966f72 Mon Sep 17 00:00:00 2001 From: Sergio Ruiz-Bonilla Date: Thu, 23 Jan 2020 13:44:10 +0000 Subject: [PATCH 4/4] Add comments --- src/equation_of_state/planetary/sesame.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/equation_of_state/planetary/sesame.h b/src/equation_of_state/planetary/sesame.h index 1e80c6384..037de315a 100644 --- a/src/equation_of_state/planetary/sesame.h +++ b/src/equation_of_state/planetary/sesame.h @@ -338,6 +338,7 @@ INLINE static float SESAME_pressure_from_internal_energy( idx_u_2 = mat->num_T - 2; } + // Check for duplicates in SESAME tables before interpolation if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); @@ -345,6 +346,7 @@ INLINE static float SESAME_pressure_from_internal_energy( intp_rho = 1.; } + // Check for duplicates in SESAME tables before interpolation if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { intp_u_1 = @@ -355,6 +357,7 @@ INLINE static float SESAME_pressure_from_internal_energy( intp_u_1 = 1.; } + // Check for duplicates in SESAME tables before interpolation if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { intp_u_2 = @@ -459,6 +462,7 @@ INLINE static float SESAME_soundspeed_from_internal_energy( idx_u_2 = mat->num_T - 2; } + // Check for duplicates in SESAME tables before interpolation if (mat->table_log_rho[idx_rho + 1] != mat->table_log_rho[idx_rho]) { intp_rho = (log_rho - mat->table_log_rho[idx_rho]) / (mat->table_log_rho[idx_rho + 1] - mat->table_log_rho[idx_rho]); @@ -466,6 +470,7 @@ INLINE static float SESAME_soundspeed_from_internal_energy( intp_rho = 1.; } + // Check for duplicates in SESAME tables before interpolation if (mat->table_log_u_rho_T[idx_rho * mat->num_T + (idx_u_1 + 1)] != mat->table_log_u_rho_T[idx_rho * mat->num_T + idx_u_1]) { intp_u_1 = @@ -476,6 +481,7 @@ INLINE static float SESAME_soundspeed_from_internal_energy( intp_u_1 = 1.; } + // Check for duplicates in SESAME tables before interpolation if (mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + (idx_u_2 + 1)] != mat->table_log_u_rho_T[(idx_rho + 1) * mat->num_T + idx_u_2]) { intp_u_2 = -- GitLab