stardis-solver

Solve coupled heat transfers
git clone git://git.meso-star.fr/stardis-solver.git
Log | Files | Refs | README | LICENSE

commit d14b6166fd3df6788167c656d7774fb9ae4d27d3
parent e7ef5bc7ff49626aeec8984cc54527b7c4e449e2
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Mon, 22 Oct 2018 11:19:55 +0200

Fix invalid time range not detected

Diffstat:
Msrc/sdis_solve.c | 3+++
Msrc/sdis_solve_Xd.h | 2++
Msrc/test_sdis_solve_boundary_flux.c | 8+++++---
3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/sdis_solve.c b/src/sdis_solve.c @@ -186,6 +186,7 @@ sdis_solve_probe if(!scn || !nrealisations || nrealisations > INT64_MAX || !position || !time_range || time_range[0] < 0 || time_range[1] < time_range[0] + || (time_range[1] > DBL_MAX && time_range[0] != time_range[1]) || fp_to_meter <= 0 || Tref < 0 || !out_estimator) { res = RES_BAD_ARG; goto error; @@ -293,6 +294,7 @@ sdis_solve_probe_boundary if(!scn || !nrealisations || nrealisations > INT64_MAX || !uv || !time_range || time_range[0] < 0 || time_range[1] < time_range[0] + || (time_range[1] > DBL_MAX && time_range[0] != time_range[1]) || fp_to_meter <= 0 || Tref < 0 || (side != SDIS_FRONT && side != SDIS_BACK) || !out_estimator) { res = RES_BAD_ARG; @@ -600,6 +602,7 @@ sdis_solve_probe_boundary_flux if(!scn || !nrealisations || nrealisations > INT64_MAX || !uv || !time_range || time_range[0] < 0 || time_range[1] < time_range[0] + || (time_range[1] > DBL_MAX && time_range[0] != time_range[1]) || fp_to_meter <= 0 || Tref < 0 || !out_estimator) { res = RES_BAD_ARG; diff --git a/src/sdis_solve_Xd.h b/src/sdis_solve_Xd.h @@ -1813,6 +1813,7 @@ XD(solve_boundary) if(!scn || !nrealisations || nrealisations > INT64_MAX || !primitives || !time_range || time_range[0] < 0 || time_range[1] < time_range[0] + || (time_range[1] > DBL_MAX && time_range[0] != time_range[1]) || !sides || !nprimitives || fp_to_meter < 0 || Tref < 0 || !out_estimator) { res = RES_BAD_ARG; @@ -1993,6 +1994,7 @@ XD(solve_boundary_flux) if(!scn || !nrealisations || nrealisations > INT64_MAX || !primitives || !time_range || time_range[0] < 0 || time_range[1] < time_range[0] + || (time_range[1] > DBL_MAX && time_range[0] != time_range[1]) || !nprimitives || fp_to_meter < 0 || Tref < 0 || !out_estimator) { res = RES_BAD_ARG; diff --git a/src/test_sdis_solve_boundary_flux.c b/src/test_sdis_solve_boundary_flux.c @@ -356,11 +356,13 @@ main(int argc, char** argv) BA(SOLVE(box_scn, N, iprim, uv, NULL, 1.0, Trad, Tref, &estimator)); BA(SOLVE(box_scn, N, iprim, uv, time_range, 1.0, Trad, Tref, NULL)); tr[0] = tr[1] = -1; - BA(SOLVE(box_scn, N, iprim, uv, tr, 1.0, Trad, Tref, NULL)); + BA(SOLVE(box_scn, N, iprim, uv, tr, 1.0, Trad, Tref, &estimator)); tr[0] = 1; - BA(SOLVE(box_scn, N, iprim, uv, tr, 1.0, Trad, Tref, NULL)); + BA(SOLVE(box_scn, N, iprim, uv, tr, 1.0, Trad, Tref, &estimator)); tr[1] = 0; - BA(SOLVE(box_scn, N, iprim, uv, tr, 1.0, Trad, Tref, NULL)); + BA(SOLVE(box_scn, N, iprim, uv, tr, 1.0, Trad, Tref, &estimator)); + tr[1] = INF; + BA(SOLVE(box_scn, N, iprim, uv, tr, 1.0, Trad, Tref, &estimator)); OK(SOLVE(box_scn, N, iprim, uv, time_range, 1.0, Trad, Tref, &estimator)); OK(sdis_estimator_get_type(estimator, &type));