star-ck

Describe the radiative properties of gas mixtures
git clone git://git.meso-star.fr/star-ck.git
Log | Files | Refs | README | LICENSE

commit 4f6e487209b76ef0b11f258f3a26b83a7379686b
parent 50b66a33792008632fbb542ab89b5a1bda5ae125
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Mon,  2 Nov 2020 13:56:00 +0100

Test the loading of arbitrary files

Diffstat:
Msrc/test_atrck_load.c | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+), 0 deletions(-)

diff --git a/src/test_atrck_load.c b/src/test_atrck_load.c @@ -156,6 +156,56 @@ test_load(struct atrck* atrck) fclose(fp); } +static void +test_load_files(struct atrck* atrck, int argc, char** argv) +{ + int i; + CHK(atrck); + FOR_EACH(i, 1, argc) { + size_t nnodes; + size_t nbands; + size_t iband; + + printf("Load %s\n", argv[1]); + + CHK(atrck_load(atrck, argv[i]) == RES_OK); + nbands = atrck_get_bands_count(atrck); + nnodes = atrck_get_nodes_count(atrck); + CHK(nbands); + CHK(nnodes); + + FOR_EACH(iband, 0, nbands) { + struct atrck_band band = ATRCK_BAND_NULL; + size_t iqpt; + + CHK(atrck_get_band(atrck, iband, &band) == RES_OK); + printf("band %lu in [%g, %g] cm^-1 with %lu quadrature points\n", + (unsigned long)band.id, + band.lower, band.upper, + (unsigned long)band.quad_pts_count); + + CHK(band.lower == band.lower); /* !NaN */ + CHK(band.upper == band.upper); /* !NaN */ + CHK(band.lower < band.upper); + CHK(band.quad_pts_count); + + FOR_EACH(iqpt, 0, band.quad_pts_count) { + struct atrck_quad_pt qpt; + size_t inode; + + CHK(atrck_band_get_quad_pt(atrck, &band, iqpt, &qpt) == RES_OK); + CHK(qpt.abscissa == qpt.abscissa); /* !NaN */ + CHK(qpt.weight == qpt.weight); /* !NaN */ + CHK(qpt.weight > 0); + + FOR_EACH(inode, 0, nnodes) { + CHK(qpt.ka_list[inode] == qpt.ka_list[inode]); /* !NaN */ + } + } + } + } +} + /******************************************************************************* * Main function ******************************************************************************/ @@ -168,6 +218,7 @@ main(int argc, char** argv) CHK(atrck_create(NULL, &mem_default_allocator, 1, &atrck) == RES_OK); test_load(atrck); + test_load_files(atrck, argc, argv); CHK(atrck_ref_put(atrck) == RES_OK); CHK(mem_allocated_size() == 0);