solstice-pp

Post-processing utilities for the solstice app
git clone git://git.meso-star.com/solstice-pp.git
Log | Files | Refs | README | LICENSE

commit c7ba3ecf69e86428358352ea5fc9346fa7aeab64
parent aa5719a884cbfda1bd334fc0b92a3e9daf540b6a
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 19 Sep 2017 09:58:53 +0200

Rename the name of the post-processed data

Rename irradiance in flux and the absorptivity and reflectivity losses
in atmospheric and materials losses, respectively.

Diffstat:
Msolpp.c | 33++++++++++++++++-----------------
Msolpp.h | 66+++++++++++++++++++++++++++++++++---------------------------------
Msolppraw.c | 44++++++++++++++++++++++----------------------
3 files changed, 71 insertions(+), 72 deletions(-)

diff --git a/solpp.c b/solpp.c @@ -16,7 +16,6 @@ #include "solpp.h" struct mesh { - BUF(double) coords; BUF(size_t) ids; BUF(size_t) entities; @@ -129,14 +128,14 @@ mesh_write_prim_data_vtk } (void)0 FOR_EACH(ircv, 0, BUF_SZ(simul->rcvs)) { const struct rcv* rcv = &BUF_AT(simul->rcvs, ircv); - WRITE(FRONT, absorbed_irradiance); - WRITE(FRONT, irradiance); - WRITE(FRONT, reflectivity_loss); - WRITE(FRONT, absorptivity_loss); - WRITE(BACK, absorbed_irradiance); - WRITE(BACK, irradiance); - WRITE(BACK, reflectivity_loss); - WRITE(BACK, absorptivity_loss); + WRITE(FRONT, absorbed_flux); + WRITE(FRONT, flux); + WRITE(FRONT, materials_loss); + WRITE(FRONT, atmospheric_loss); + WRITE(BACK, absorbed_flux); + WRITE(BACK, flux); + WRITE(BACK, materials_loss); + WRITE(BACK, atmospheric_loss); } #undef WRITE } @@ -163,15 +162,15 @@ mesh_write_rcv_data_vtk } \ } \ } (void)0 - WRITE(FRONT, absorbed_irradiance); - WRITE(FRONT, irradiance); - WRITE(FRONT, reflectivity_loss); - WRITE(FRONT, absorptivity_loss); + WRITE(FRONT, absorbed_flux); + WRITE(FRONT, flux); + WRITE(FRONT, materials_loss); + WRITE(FRONT, atmospheric_loss); WRITE(FRONT, efficiency); - WRITE(BACK, absorbed_irradiance); - WRITE(BACK, irradiance); - WRITE(BACK, reflectivity_loss); - WRITE(BACK, absorptivity_loss); + WRITE(BACK, absorbed_flux); + WRITE(BACK, flux); + WRITE(BACK, materials_loss); + WRITE(BACK, atmospheric_loss); WRITE(BACK, efficiency); #undef WRITE diff --git a/solpp.h b/solpp.h @@ -85,10 +85,10 @@ read_line(buf_char_T* b, FILE* stream) * Per receiver double sided estimations ******************************************************************************/ struct rcv { - struct mc absorbed_irradiance[2]; - struct mc irradiance[2]; - struct mc reflectivity_loss[2]; - struct mc absorptivity_loss[2]; + struct mc absorbed_flux[2]; + struct mc flux[2]; + struct mc materials_loss[2]; + struct mc atmospheric_loss[2]; struct mc efficiency[2]; BUF(struct mc) map[2]; char* name; @@ -122,27 +122,27 @@ static inline void prim_release(struct prim* p) {free(p->name);} * Per receiver X primary estimations ******************************************************************************/ struct rcvXprim { - struct mc absorbed_irradiance[2]; - struct mc irradiance[2]; - struct mc reflectivity_loss[2]; - struct mc absorptivity_loss[2]; + struct mc absorbed_flux[2]; + struct mc flux[2]; + struct mc materials_loss[2]; + struct mc atmospheric_loss[2]; size_t rcv_id; size_t prim_id; }; static inline void rcvXprim_init(struct rcvXprim* r) {memset(r, 0, sizeof(*r));} -static inline void rcvXprim_release(struct rcvXprim* r) { /*Do nothing*/} +static inline void rcvXprim_release(struct rcvXprim* r) { /*Do nothing*/ } /******************************************************************************* * Overall estimations of a simulation ******************************************************************************/ struct simul { - struct mc potential_irradiance; - struct mc absorbed_irradiance; + struct mc potential_flux; + struct mc absorbed_flux; struct mc cos_factor; struct mc shadow_loss; struct mc missing_loss; - struct mc reflectivity_loss; - struct mc absorptivity_loss; + struct mc materials_loss; + struct mc atmospheric_loss; BUF(struct rcv) rcvs; BUF(struct prim) prims; @@ -301,13 +301,13 @@ read_simulation(struct simul* simul, FILE* input) CHK(line = read_line(&buf, input)); \ CHK(sscanf(line, "%lf %lf", &simul->Name.E, &simul->Name.SE) == 2); \ } (void)0 - READ(potential_irradiance); - READ(absorbed_irradiance); + READ(potential_flux); + READ(absorbed_flux); READ(cos_factor); READ(shadow_loss); READ(missing_loss); - READ(reflectivity_loss); - READ(absorptivity_loss); + READ(materials_loss); + READ(atmospheric_loss); #undef READ /* Read per receiver results */ @@ -328,15 +328,15 @@ read_simulation(struct simul* simul, FILE* input) "%lf %lf %lf %lf %lf %lf %lf %lf %lf %lf " "%lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", &rcv->id, &rcv->area, - GET(FRONT, absorbed_irradiance), - GET(FRONT, irradiance), - GET(FRONT, reflectivity_loss), - GET(FRONT, absorptivity_loss), + GET(FRONT, absorbed_flux), + GET(FRONT, flux), + GET(FRONT, materials_loss), + GET(FRONT, atmospheric_loss), GET(FRONT, efficiency), - GET(BACK, absorbed_irradiance), - GET(BACK, irradiance), - GET(BACK, reflectivity_loss), - GET(BACK, absorptivity_loss), + GET(BACK, absorbed_flux), + GET(BACK, flux), + GET(BACK, materials_loss), + GET(BACK, atmospheric_loss), GET(BACK, efficiency)) == 22); #undef GET } @@ -372,14 +372,14 @@ read_simulation(struct simul* simul, FILE* input) "%lf %lf %lf %lf %lf %lf %lf %lf " "%lf %lf %lf %lf %lf %lf %lf %lf", &rcvXprim->rcv_id, &rcvXprim->prim_id, - GET(FRONT, absorbed_irradiance), - GET(FRONT, irradiance), - GET(FRONT, reflectivity_loss), - GET(FRONT, absorptivity_loss), - GET(BACK, absorbed_irradiance), - GET(BACK, irradiance), - GET(BACK, reflectivity_loss), - GET(BACK, absorptivity_loss)) == 18); + GET(FRONT, absorbed_flux), + GET(FRONT, flux), + GET(FRONT, materials_loss), + GET(FRONT, atmospheric_loss), + GET(BACK, absorbed_flux), + GET(BACK, flux), + GET(BACK, materials_loss), + GET(BACK, atmospheric_loss)) == 18); #undef GET } diff --git a/solppraw.c b/solppraw.c @@ -19,11 +19,11 @@ static inline void print_rcv_side(FILE* output, const enum side side, struct rcv* rcv) { #define W(Name) rcv->Name[side].E, rcv->Name[side].SE - fprintf(output, " Absorbed irradiance | %16g +/- %-16g\n", W(absorbed_irradiance)); - fprintf(output, " Irradiance | %16g +/- %-16g\n", W(irradiance)); - fprintf(output, " Reflectivity loss | %16g +/- %-16g\n", W(reflectivity_loss)); - fprintf(output, " Absorptivity loss | %16g +/- %-16g\n", W(absorptivity_loss)); - fprintf(output, " Efficiency | %16g +/- %-16g\n", W(efficiency)); + fprintf(output, " Absorbed flux | %16g +/- %-16g\n", W(absorbed_flux)); + fprintf(output, " Flux | %16g +/- %-16g\n", W(flux)); + fprintf(output, " Materials loss | %16g +/- %-16g\n", W(materials_loss)); + fprintf(output, "Atmospheric loss | %16g +/- %-16g\n", W(atmospheric_loss)); + fprintf(output, " Efficiency | %16g +/- %-16g\n", W(efficiency)); #undef W } @@ -31,10 +31,10 @@ static inline void print_rcvXprim_side(FILE* output, const enum side side, struct rcvXprim* rXp) { #define W(Name) rXp->Name[side].E, rXp->Name[side].SE - fprintf(output, " Absorbed irradiance | %16g +/- %-16g\n", W(absorbed_irradiance)); - fprintf(output, " Irradiance | %16g +/- %-16g\n", W(irradiance)); - fprintf(output, " Reflectivity loss | %16g +/- %-16g\n", W(reflectivity_loss)); - fprintf(output, " Absorptivity loss | %16g +/- %-16g\n", W(absorptivity_loss)); + fprintf(output, " Absorbed flux | %16g +/- %-16g\n", W(absorbed_flux)); + fprintf(output, " Flux | %16g +/- %-16g\n", W(flux)); + fprintf(output, " Materials loss | %16g +/- %-16g\n", W(materials_loss)); + fprintf(output, "Atmospheric loss | %16g +/- %-16g\n", W(atmospheric_loss)); #undef W } @@ -47,24 +47,24 @@ print_simulation(FILE* output, struct simul* simul) #define W(Name) simul->Name.E, simul->Name.SE fprintf(output, " Overall results (#Samples = %zu)\n", simul->nsamps); fprintf(output, "------------------------------------------------------------\n"); - fprintf(output, "Potential irradiance | %16g +/- %-16g\n", W(potential_irradiance)); - fprintf(output, " Absorbed irradiance | %16g +/- %-16g\n", W(absorbed_irradiance)); - fprintf(output, " Cosine factor | %16g +/- %-16g\n", W(cos_factor)); - fprintf(output, " Shadow loss | %16g +/- %-16g\n", W(shadow_loss)); - fprintf(output, " Missing loss | %16g +/- %-16g\n", W(missing_loss)); - fprintf(output, " Reflectivity loss | %16g +/- %-16g\n", W(reflectivity_loss)); - fprintf(output, " Absorptivity loss | %16g +/- %-16g\n", W(absorptivity_loss)); + fprintf(output, " Potential flux | %16g +/- %-16g\n", W(potential_flux)); + fprintf(output, " Absorbed flux | %16g +/- %-16g\n", W(absorbed_flux)); + fprintf(output, " Cosine factor | %16g +/- %-16g\n", W(cos_factor)); + fprintf(output, " Shadow loss | %16g +/- %-16g\n", W(shadow_loss)); + fprintf(output, " Missing loss | %16g +/- %-16g\n", W(missing_loss)); + fprintf(output, " Materials loss | %16g +/- %-16g\n", W(materials_loss)); + fprintf(output, "Atmospheric loss | %16g +/- %-16g\n", W(atmospheric_loss)); fprintf(output, "\n"); #undef W /* Per receivers results */ FOR_EACH(i, 0, BUF_SZ(simul->rcvs)) { struct rcv* rcv = &BUF_AT(simul->rcvs, i); fprintf(output, " Receiver `%s' (Area = %g)\n", rcv->name, rcv->area); - if(rcv->irradiance[FRONT].E >= 0) { + if(rcv->flux[FRONT].E >= 0) { fprintf(output, "------------------[Front]-----------------------------------\n"); print_rcv_side(output, FRONT, rcv); } - if(rcv->irradiance[BACK].E >= 0) { + if(rcv->flux[BACK].E >= 0) { fprintf(output, "-------------------[Back]-----------------------------------\n"); print_rcv_side(output, BACK, rcv); } @@ -77,8 +77,8 @@ print_simulation(FILE* output, struct simul* simul) prim->name, prim->area, prim->nsamps); #define W(Name) prim->Name.E, prim->Name.SE fprintf(output, "------------------------------------------------------------\n"); - fprintf(output, " Cosine factor | %16g +/- %-16g\n", W(cos_factor)); - fprintf(output, " Shadow loss | %16g +/- %-16g\n", W(shadow_loss)); + fprintf(output, " Cosine factor | %16g +/- %-16g\n", W(cos_factor)); + fprintf(output, " Shadow loss | %16g +/- %-16g\n", W(shadow_loss)); fprintf(output, "\n"); #undef W } @@ -88,11 +88,11 @@ print_simulation(FILE* output, struct simul* simul) struct rcv* rcv = find_receiver_by_id(simul, rXp->rcv_id); struct prim* prim = find_primary_by_id(simul, rXp->prim_id); fprintf(output, " Receiver `%s' X Primary `%s'\n", rcv->name, prim->name); - if(rXp->irradiance[FRONT].E >= 0) { + if(rXp->flux[FRONT].E >= 0) { fprintf(output, "------------------[Front]-----------------------------------\n"); print_rcvXprim_side(output, FRONT, rXp); } - if(rXp->irradiance[BACK].SE >= 0) { + if(rXp->flux[BACK].SE >= 0) { fprintf(output, "-------------------[Back]-----------------------------------\n"); print_rcvXprim_side(output, BACK, rXp); }