stardis-solver

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

commit df0ff90c75cb418873c3303c70d6e15a9525d8bf
parent fa403f13a85230402ffb965f0968bb4821aa937c
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 13 Apr 2018 10:03:55 +0200

Clean up the volumic and probe_boundary tests

Diffstat:
Msrc/test_sdis_solve_probe_boundary.c | 62--------------------------------------------------------------
Msrc/test_sdis_utils.h | 61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/test_sdis_volumic_power.c | 62+-------------------------------------------------------------
3 files changed, 62 insertions(+), 123 deletions(-)

diff --git a/src/test_sdis_solve_probe_boundary.c b/src/test_sdis_solve_probe_boundary.c @@ -51,68 +51,6 @@ #define LAMBDA 0.1 /******************************************************************************* - * Geometry 3D - ******************************************************************************/ -static void -box_get_indices(const size_t itri, size_t ids[3], void* context) -{ - (void)context; - CHK(ids); - ids[0] = box_indices[itri*3+0]; - ids[1] = box_indices[itri*3+1]; - ids[2] = box_indices[itri*3+2]; -} - -static void -box_get_position(const size_t ivert, double pos[3], void* context) -{ - (void)context; - CHK(pos); - pos[0] = box_vertices[ivert*3+0]; - pos[1] = box_vertices[ivert*3+1]; - pos[2] = box_vertices[ivert*3+2]; -} - -static void -box_get_interface(const size_t itri, struct sdis_interface** bound, void* context) -{ - struct sdis_interface** interfaces = context; - CHK(context && bound); - *bound = interfaces[itri]; -} - -/******************************************************************************* - * Geometry 2D - ******************************************************************************/ -static void -square_get_indices(const size_t iseg, size_t ids[2], void* context) -{ - (void)context; - CHK(ids); - ids[0] = square_indices[iseg*2+0]; - ids[1] = square_indices[iseg*2+1]; -} - -static void -square_get_position(const size_t ivert, double pos[2], void* context) -{ - (void)context; - CHK(pos); - pos[0] = square_vertices[ivert*2+0]; - pos[1] = square_vertices[ivert*2+1]; -} - -static void -square_get_interface - (const size_t iseg, struct sdis_interface** bound, void* context) -{ - struct sdis_interface** interfaces = context; - CHK(context && bound); - *bound = interfaces[iseg]; -} - - -/******************************************************************************* * Media ******************************************************************************/ static double diff --git a/src/test_sdis_utils.h b/src/test_sdis_utils.h @@ -58,6 +58,37 @@ static const size_t box_indices[12/*#triangles*/*3/*#indices per triangle*/] = { }; static const size_t box_ntriangles = sizeof(box_indices) / sizeof(size_t[3]); +static INLINE void +box_get_indices(const size_t itri, size_t ids[3], void* context) +{ + (void)context; + CHK(ids); + CHK(itri < box_ntriangles); + ids[0] = box_indices[itri*3+0]; + ids[1] = box_indices[itri*3+1]; + ids[2] = box_indices[itri*3+2]; +} + +static INLINE void +box_get_position(const size_t ivert, double pos[3], void* context) +{ + (void)context; + CHK(pos); + CHK(ivert < box_nvertices); + pos[0] = box_vertices[ivert*3+0]; + pos[1] = box_vertices[ivert*3+1]; + pos[2] = box_vertices[ivert*3+2]; +} + +static INLINE void +box_get_interface(const size_t itri, struct sdis_interface** bound, void* context) +{ + struct sdis_interface** interfaces = context; + CHK(context && bound); + CHK(itri < box_ntriangles); + *bound = interfaces[itri]; +} + /******************************************************************************* * Square geometry ******************************************************************************/ @@ -77,6 +108,36 @@ static const size_t square_indices[4/*#triangles*/*2/*#indices per segment*/]= { }; static const size_t square_nsegments = sizeof(square_indices)/sizeof(size_t[2]); +static INLINE void +square_get_indices(const size_t iseg, size_t ids[2], void* context) +{ + (void)context; + CHK(ids); + CHK(iseg < square_nsegments); + ids[0] = square_indices[iseg*2+0]; + ids[1] = square_indices[iseg*2+1]; +} + +static INLINE void +square_get_position(const size_t ivert, double pos[2], void* context) +{ + (void)context; + CHK(pos); + CHK(ivert < square_nvertices); + pos[0] = square_vertices[ivert*2+0]; + pos[1] = square_vertices[ivert*2+1]; +} + +static INLINE void +square_get_interface + (const size_t iseg, struct sdis_interface** bound, void* context) +{ + struct sdis_interface** interfaces = context; + CHK(context && bound); + CHK(iseg < square_nsegments); + *bound = interfaces[iseg]; +} + /******************************************************************************* * Medium & interface ******************************************************************************/ diff --git a/src/test_sdis_volumic_power.c b/src/test_sdis_volumic_power.c @@ -51,67 +51,6 @@ #define P0 10 /******************************************************************************* - * Geometry 3D - ******************************************************************************/ -static void -box_get_indices(const size_t itri, size_t ids[3], void* context) -{ - (void)context; - CHK(ids); - ids[0] = box_indices[itri*3+0]; - ids[1] = box_indices[itri*3+1]; - ids[2] = box_indices[itri*3+2]; -} - -static void -box_get_position(const size_t ivert, double pos[3], void* context) -{ - (void)context; - CHK(pos); - pos[0] = box_vertices[ivert*3+0]; - pos[1] = box_vertices[ivert*3+1]; - pos[2] = box_vertices[ivert*3+2]; -} - -static void -box_get_interface(const size_t itri, struct sdis_interface** bound, void* context) -{ - struct sdis_interface** interfaces = context; - CHK(context && bound); - *bound = interfaces[itri]; -} - -/******************************************************************************* - * Geometry 2D - ******************************************************************************/ -static void -square_get_indices(const size_t iseg, size_t ids[2], void* context) -{ - (void)context; - CHK(ids); - ids[0] = square_indices[iseg*2+0]; - ids[1] = square_indices[iseg*2+1]; -} - -static void -square_get_position(const size_t ivert, double pos[2], void* context) -{ - (void)context; - CHK(pos); - pos[0] = square_vertices[ivert*2+0]; - pos[1] = square_vertices[ivert*2+1]; -} - -static void -square_get_interface - (const size_t iseg, struct sdis_interface** bound, void* context) -{ - struct sdis_interface** interfaces = context; - CHK(context && bound); - *bound = interfaces[iseg]; -} - -/******************************************************************************* * Media ******************************************************************************/ static double @@ -365,3 +304,4 @@ main(int argc, char** argv) CHK(mem_allocated_size() == 0); return 0; } +