stardis

Perform coupled heat transfer calculations
git clone git://git.meso-star.fr/stardis.git
Log | Files | Refs | README | LICENSE

commit a82e1f3fbc3c0d9724ac6f6a6646b6641dfbf33e
parent 9dc4d0eee09862d0558e557d3d281cfa6d359a66
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Wed,  3 Nov 2021 18:23:00 +0100

Add missing Trad_ref to model descriptions

Trad and Trad_ref are now part of the desciption file (from command-line option)

Diffstat:
Mcmake/CMakeLists.txt | 3++-
Mdoc/stardis-input.5.txt | 13++++++++++---
Mdoc/stardis-output.5.txt | 21+++++++++++----------
Mdoc/stardis.1.txt.in | 4----
Msrc/stardis-app.c | 14++++++++++++--
Msrc/stardis-app.h | 4+++-
Msrc/stardis-default.h.in | 4++--
Msrc/stardis-intface.c | 2++
Msrc/stardis-output.c | 43++++++++++++++++++++++---------------------
Msrc/stardis-parsing.c | 78+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
Msrc/stardis-parsing.h | 1-
11 files changed, 123 insertions(+), 64 deletions(-)

diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -35,7 +35,8 @@ set_property(CACHE STARDIS_DOC PROPERTY STRINGS ############################################################################### # Generate files ############################################################################### -set(STARDIS_ARGS_DEFAULT_AMBIENT_TEMP "300") +set(STARDIS_ARGS_DEFAULT_TRAD "300") +set(STARDIS_ARGS_DEFAULT_TRAD_REFERENCE "300") set(STARDIS_ARGS_DEFAULT_COMPUTE_TIME "INF") set(STARDIS_ARGS_DEFAULT_RENDERING_FOV "70") # degrees set(STARDIS_ARGS_DEFAULT_RENDERING_IMG_HEIGHT "480") diff --git a/doc/stardis-input.5.txt b/doc/stardis-input.5.txt @@ -76,7 +76,6 @@ description. [verse] _______ <thermal-system> ::= <description-lines> - [ <scaling-factor> ] <description-lines> ::= <description-line> [ <description-lines> ] @@ -84,8 +83,8 @@ _______ <description-line> ::= [ <medium-frontier> ] [ <comment> ] | [ <medium-boundary> ] [ <comment> ] | [ <media-connection> ] [ <comment> ] - -<scaling-factor> ::= "SCALE" <scaling_factor> [ <comment> ] + | [ <scaling-factor> ] [ <comment> ] # at most once + | [ <radiative-temps> ] [ <comment > ] # at most once ------------------------------------- @@ -133,6 +132,10 @@ _______ <solid-solid-connect> ::= "SOLID_SOLID_CONNECTION" <bound-name> \ <contact-resistance> <triangles> +<scaling-factor> ::= "SCALE" <scaling_factor> [ <comment> ] + +<radiative-temps> ::= "TRAD" <radiative-temp> <radiative-temp-ref> + ------------------------------------- <medium-name> ::= STRING # no space allowed, must not be parsable as a @@ -177,6 +180,10 @@ _______ <triangles> ::= <file-name> [ <triangles> ] +<radiative-temp> ::= REAL # in [0, inf) + +<radiative-temp-ref> ::= REAL # in [0, inf) + ------------------------------------- <side-specifier> ::= "FRONT" | "BACK" | "BOTH" diff --git a/doc/stardis-output.5.txt b/doc/stardis-output.5.txt @@ -210,7 +210,7 @@ Note that to be able to explore different values of volumic power when applying the Green function, it must have been generated with these values being non-zero. On the other hand, any temperature or flux value in boundary descriptions can be modified when applying the Green function, as well as the -ambient temperature. +ambient radiative temperature (Trad). The output in green mode is made of tables containing the different media and boundaries and their imposed temperature, flux and volumic power values, @@ -222,7 +222,7 @@ be computed as the mean and standard deviation of the samples of the *Green function* computed using these settings. Each sample can be computed as follows: -* Get the temperature of the ending boundary, medium or ambient; +* Get the temperature of the ending boundary, medium or Trad; * Add the temperature gain of each power term; * Add the temperature gain of each flux term. @@ -248,7 +248,8 @@ _______ #failed-samples # size_t <descriptions> <concatenated-names> # char[names-pool-size] - ambient-temperature # double + Trad # double + Trad-reference # double time-range # double[2] <samples> @@ -398,7 +399,7 @@ _______ <f-bounds> "# Radiative Temperature" "# ID Rad_Temp" - <rad-temp> + <rad-temps> "# Samples" "# end #power_terms #flux_terms power_term_1 ... \ power_term_n flux_term_1 ... flux_term_n" @@ -426,7 +427,7 @@ _______ <f-bounds> ::= <f-bound> <f-bounds> # #f-bounds f-bound descriptions -<rad-temp> ::= <green-id> <ambient-temp> +<rad-temps> ::= <green-id> <Trad> <Trad-ref> <samples> ::= <sample> <samples> # #samples sample descriptions @@ -478,9 +479,9 @@ _______ <flux> ::= REAL # in (-INF, INF) -<ambient-temp> ::= REAL # in [0, INF) +<Trad> ::= REAL # in [0, INF) -<lin-temp> ::= REAL # in [0, INF) +<Trad-ref> ::= REAL # in [0, INF) <green-id> ::= INTEGER # in [0 #green-sources[ @@ -490,7 +491,7 @@ _______ <end-type> ::= "T" # sample ends at an t-bound | "H" # sample ends at an h-bound # a sample cannot end at an f-bound - | "A" # sample ends with ambient temperature + | "R" # sample ends with Trad | "F" # sample ends in a fluid with known temperature | "S" # sample ends in a solid with known temperature @@ -542,11 +543,11 @@ _______ ------------------------------------- <end-name> ::= STRING # the name of the boundary at the end of the - # heat path, or AMBIENT for radiative ending + # heat path, or TRAD for radiative ending <end-id> ::= INTEGER # in [0 #boundaries] # order is the order in the description file, - # AMBIENT's id being #boundaries + # TRAD's id being #boundaries <x> ::= REAL diff --git a/doc/stardis.1.txt.in b/doc/stardis.1.txt.in @@ -186,10 +186,6 @@ EXCLUSIVE OPTIONS OTHER OPTIONS ------------- -*-a* _ambient_:: - Set the ambient radiative temperature for the whole system, in Kelvin. By - default *ambient* is @STARDIS_ARGS_DEFAULT_AMBIENT_TEMP@. - *-d*:: Write the geometry to _standard output_ in VTK format along with various properties, including possible errors. If this option is used, no diff --git a/src/stardis-app.c b/src/stardis-app.c @@ -80,6 +80,12 @@ read_model stardis->scale_factor = STARDIS_DEFAULT_SCALE_FACTOR; logger_print(stardis->logger, LOG_OUTPUT, "Scaling factor is %g\n", stardis->scale_factor); + logger_print(stardis->logger, LOG_OUTPUT, + "Trad is %g, Trad reference is %g\n", stardis->trad, stardis->trad_ref); + stardis->tmax = MMAX(stardis->tmax, stardis->trad); + stardis->tmax = MMAX(stardis->tmax, stardis->trad_ref); + logger_print(stardis->logger, LOG_OUTPUT, + "System Tmax is %g\n", stardis->tmax); ASSERT(!f && !txtrdr); exit: @@ -235,7 +241,9 @@ stardis_init stardis->samples = args->samples; stardis->nthreads = args->nthreads; stardis->scale_factor = -1; /* invalid value */ - stardis->ambient_temp = args->ambient_temp; + stardis->trad = STARDIS_DEFAULT_TRAD; + stardis->trad_ref = STARDIS_DEFAULT_TRAD_REFERENCE; + stardis->trad_def = 0; stardis->dump_paths = SDIS_HEAT_PATH_NONE; if(args->dump_paths & DUMP_ERROR) stardis->dump_paths |= SDIS_HEAT_PATH_FAILURE; @@ -393,7 +401,9 @@ stardis_init scn_args.nprimitives = tcount; scn_args.nvertices = vcount; scn_args.fp_to_meter = stardis->scale_factor; - scn_args.trad = stardis->ambient_temp; + scn_args.trad.temperature = stardis->trad; + scn_args.trad.reference = stardis->trad_ref; + scn_args.tmax = stardis->tmax; scn_args.context = &create_context; res = sdis_scene_create(stardis->dev, &scn_args, &stardis->sdis_scn); if(res != RES_OK) { diff --git a/src/stardis-app.h b/src/stardis-app.h @@ -801,10 +801,12 @@ struct stardis { struct str rndgen_state_out_filename; struct str chunks_prefix; int mode; + int trad_def; size_t samples; unsigned nthreads; double scale_factor; - double ambient_temp, ref_temp; + double trad, trad_ref; + double tmax; struct mem_allocator* allocator; struct logger* logger; struct sdis_device* dev; diff --git a/src/stardis-default.h.in b/src/stardis-default.h.in @@ -17,7 +17,8 @@ #define STARDIS_DEFAULT_H #define STARDIS_RENDERING_FMT(Fmt) STARDIS_RENDERING_OUTPUT_FILE_FMT_ ## Fmt -#define STARDIS_DEFAULT_AMBIENT_TEMP @STARDIS_ARGS_DEFAULT_AMBIENT_TEMP@ +#define STARDIS_DEFAULT_TRAD @STARDIS_ARGS_DEFAULT_TRAD@ +#define STARDIS_DEFAULT_TRAD_REFERENCE @STARDIS_ARGS_DEFAULT_TRAD_REFERENCE@ #define STARDIS_DEFAULT_COMPUTE_TIME @STARDIS_ARGS_DEFAULT_COMPUTE_TIME@ #define STARDIS_DEFAULT_RENDERING_FOV @STARDIS_ARGS_DEFAULT_RENDERING_FOV@ #define STARDIS_DEFAULT_RENDERING_IMG_HEIGHT @STARDIS_ARGS_DEFAULT_RENDERING_IMG_HEIGHT@ @@ -28,7 +29,6 @@ #define STARDIS_DEFAULT_RENDERING_TGT @STARDIS_ARGS_DEFAULT_RENDERING_TGT@ #define STARDIS_DEFAULT_RENDERING_TIME @STARDIS_ARGS_DEFAULT_RENDERING_TIME@ #define STARDIS_DEFAULT_RENDERING_UP @STARDIS_ARGS_DEFAULT_RENDERING_UP@ -#define STARDIS_DEFAULT_REFERENCE_TEMP @STARDIS_ARGS_DEFAULT_REFERENCE_TEMP@ #define STARDIS_DEFAULT_SAMPLES_COUNT @STARDIS_ARGS_DEFAULT_SAMPLES_COUNT@ #define STARDIS_DEFAULT_SCALE_FACTOR @STARDIS_ARGS_DEFAULT_SCALE_FACTOR@ #define STARDIS_DEFAULT_VERBOSE_LEVEL @STARDIS_ARGS_DEFAULT_VERBOSE_LEVEL@ diff --git a/src/stardis-intface.c b/src/stardis-intface.c @@ -254,6 +254,7 @@ create_intface else front_med = media[ext_id]; interface_shader.convection_coef_upper_bound = connect->d.h_boundary.hc; interface_props->hc = connect->d.h_boundary.hc; + interface_props->ref_temperature = connect->d.h_boundary.ref_temperature; interface_props->emissivity = connect->d.h_boundary.emissivity; interface_props->alpha = connect->d.h_boundary.specular_fraction; if(connect->d.h_boundary.hc > 0) { @@ -324,6 +325,7 @@ create_intface solid_fluid_connection_count++; interface_shader.convection_coef_upper_bound = connect->d.sf_connect.hc; interface_props->hc = connect->d.sf_connect.hc; + interface_props->ref_temperature = connect->d.sf_connect.ref_temperature; interface_props->emissivity = connect->d.sf_connect.emissivity; interface_props->alpha = connect->d.sf_connect.specular_fraction; if(connect->d.sf_connect.hc > 0) { diff --git a/src/stardis-output.c b/src/stardis-output.c @@ -440,11 +440,11 @@ dump_sample_end ERR(sdis_green_path_get_elapsed_time(path, &elapsed)); ERR(sdis_green_path_get_end_type(path, &end_type)); if(end_type == SDIS_GREEN_PATH_END_RADIATIVE) { - size_t ambient_id = darray_descriptions_size_get(e_ctx->desc); - ASSERT(ambient_id <= UINT_MAX); + size_t trad_id = darray_descriptions_size_get(e_ctx->desc); + ASSERT(trad_id <= UINT_MAX); /* End, End ID, X, Y, Z, Elapsed time */ - fprintf(stream, "AMBIENT, %u, 0, 0, 0, %g\n", - (unsigned)ambient_id, elapsed); + fprintf(stream, "TRAD, %u, 0, 0, 0, %g\n", + (unsigned)trad_id, elapsed); } else { struct sdis_point pt = SDIS_POINT_NULL; struct sdis_data* data = NULL; @@ -471,10 +471,10 @@ dump_sample_end data = sdis_medium_get_data(pt.data.mdmvert.medium); pos = pt.data.mdmvert.vertex.P; if(pt.data.mdmvert.vertex.P[0] == INF) { - /* Radiative output (ambient temperature) */ + /* Radiative output (Trad) */ size_t sz = darray_descriptions_size_get(e_ctx->desc); ASSERT(sz <= UINT_MAX); - id = (unsigned)sz; /* Ambient ID */ + id = (unsigned)sz; /* Trad ID */ } else if(type == SDIS_FLUID) { struct fluid* d__ = sdis_data_get(data); @@ -519,10 +519,10 @@ dump_sample stream = w_ctx->stream; ERR(sdis_green_path_get_end_type(path, &end_type)); if(end_type == SDIS_GREEN_PATH_END_RADIATIVE) { - size_t ambient_id = darray_descriptions_size_get(w_ctx->desc); - ASSERT(ambient_id <= UINT_MAX); + size_t trad_id = darray_descriptions_size_get(w_ctx->desc); + ASSERT(trad_id <= UINT_MAX); header.at_initial = 0; - header.id = (unsigned)ambient_id; + header.id = (unsigned)trad_id; } else { struct sdis_point pt = SDIS_POINT_NULL; struct sdis_data* data = NULL; @@ -557,10 +557,10 @@ dump_sample t0 = medium_get_t0(pt.data.mdmvert.medium); header.at_initial = (pt.data.mdmvert.vertex.time <= t0); if(pt.data.mdmvert.vertex.P[0] == INF) { - /* Radiative output (ambient temperature) */ + /* Radiative output (Trad) */ sz = darray_descriptions_size_get(w_ctx->desc); ASSERT(sz <= UINT_MAX); - header.id = (unsigned)sz; /* Ambient ID */ + header.id = (unsigned)sz; /* Trad ID */ } else if(type == SDIS_FLUID) { struct fluid* d__ = sdis_data_get(data); @@ -722,8 +722,9 @@ dump_green_bin if(name_pool_sz) FW(name_pool, name_pool_sz); - /* Write ambient temperatures */ - FW(&stardis->ambient_temp, 1); + /* Write radiative temperatures */ + FW(&stardis->trad, 1); + FW(&stardis->trad_ref, 1); /* Write time range */ FW(&stardis->time_range, 2); @@ -791,7 +792,7 @@ print_sample /* For each path, prints: * # end #power_terms #flux_terms power_term_1 ... power_term_n flux_term_1 ... flux_term_n * with: - * - end = end_type end_id; end_type = T | H | A | F | S + * - end = end_type end_id; end_type = T | H | R | F | S * - power_term_i = power_type_i power_id_i factor_i * - flux_term_i = flux_id_i factor_i */ @@ -822,10 +823,10 @@ print_sample type = sdis_medium_get_type(pt.data.mdmvert.medium); data = sdis_medium_get_data(pt.data.mdmvert.medium); if(pt.data.mdmvert.vertex.P[0] == INF) { - /* Radiative output (ambient temperature)*/ + /* Radiative output (Trad)*/ size_t sz = darray_descriptions_size_get(w_ctx->desc); ASSERT(sz <= UINT_MAX); - fprintf(w_ctx->stream, "A\t%u", (unsigned)sz); + fprintf(w_ctx->stream, "R\t%u", (unsigned)sz); } else if(type == SDIS_FLUID) { struct fluid* d__ = sdis_data_get(data); @@ -1014,15 +1015,15 @@ dump_green_ascii } /* Radiative Temperature */ - fprintf(stream, "# Radiative Temperature\n"); - fprintf(stream, "# ID Amb_Temp\n"); - fprintf(stream, "%u\t%g\n", - szd, stardis->ambient_temp); + fprintf(stream, "# Radiative Temperatures\n"); + fprintf(stream, "# ID Trad Trad_Ref\n"); + fprintf(stream, "%u\t%g\t%g\n", + szd, stardis->trad, stardis->trad_ref); fprintf(stream, "# Samples\n"); fprintf(stream, "# end #power_terms #flux_terms power_term_1 ... power_term_n flux_term_1 ... flux_term_n\n"); - fprintf(stream, "# end = end_type end_id; end_type = T | H | A | F | S\n"); + fprintf(stream, "# end = end_type end_id; end_type = T | H | R | F | S\n"); fprintf(stream, "# power_term_i = power_id_i factor_i\n"); fprintf(stream, "# flux_term_i = flux_id_i factor_i\n"); diff --git a/src/stardis-parsing.c b/src/stardis-parsing.c @@ -337,7 +337,6 @@ init_args args->nthreads = SDIS_NTHREADS_DEFAULT; d2(args->pos_and_time+3, STARDIS_DEFAULT_COMPUTE_TIME, STARDIS_DEFAULT_COMPUTE_TIME); - args->ambient_temp = STARDIS_DEFAULT_AMBIENT_TEMP; args->verbose = STARDIS_DEFAULT_VERBOSE_LEVEL; end: @@ -463,9 +462,6 @@ short_help fprintf(stream, "\nOther options\n"); fprintf(stream, "-------------------\n"); - fprintf(stream, "\n -a AMBIENT_TEMP\n"); - fprintf(stream, " Set the ambient radiative temperature.\n"); - fprintf(stream, "\n -c NAMES_PREFIX\n"); fprintf(stream, " Dump the geometry and property ids to stdout as C chunks.\n"); @@ -571,7 +567,7 @@ parse_args { int opt = 0, n_used = 0; size_t len = 0; - const char option_list[] = "a:c:dD:eF:gG:hm:M:n:p:P:R:s:S:t:vV:x:X:"; + const char option_list[] = "c:dD:eF:gG:hm:M:n:p:P:R:s:S:t:vV:x:X:"; char buf[128]; struct str keep; char** line = NULL; @@ -598,19 +594,6 @@ parse_args goto error; } - case 'a': - res = cstr_to_double(optarg, &args->ambient_temp); - if(res != RES_OK - || args->ambient_temp < 0) - { - if(res == RES_OK) res = RES_BAD_ARG; - logger_print(args->logger, LOG_ERROR, - "Invalid argument for option -%c: %s\n", - opt, optarg); - goto error; - } - break; - case 'c': if(args->mode & USE_STDOUT_MODES) { res = RES_BAD_ARG; @@ -1138,7 +1121,8 @@ description_set_name const char* keywords[] = { "AUTO", "BACK", "BOTH", "FLUID", "FRONT", "F_BOUNDARY_FOR_SOLID", "H_BOUNDARY_FOR_FLUID", "H_BOUNDARY_FOR_SOLID", "SCALE", "SOLID", - "SOLID_FLUID_CONNECTION", "T_BOUNDARY_FOR_SOLID", "UNKNOWN" }; + "SOLID_FLUID_CONNECTION", "SOLID_SOLID_CONNECTION", "TRAD", + "T_BOUNDARY_FOR_SOLID", "UNKNOWN" }; int i; ASSERT(name && tk); @@ -1231,6 +1215,7 @@ process_h if(res == RES_OK) res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.h_boundary.ref_temperature); CHK_TOK(strtok_r(NULL, " \t", tok_ctx), "emissivity"); res = cstr_to_double(tk, &desc->d.h_boundary.emissivity); if(res != RES_OK @@ -1270,6 +1255,7 @@ process_h if(res == RES_OK) res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.h_boundary.imposed_temperature); if(type == DESC_BOUND_H_FOR_FLUID) desc->d.h_boundary.mat_id = get_dummy_solid_id(stardis, dummies); @@ -1344,6 +1330,7 @@ process_t if(res == RES_OK) res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.t_boundary.imposed_temperature); ASSERT(sz <= UINT_MAX); ERR(read_sides_and_files(stardis, 1, (unsigned)sz, tok_ctx)); @@ -1454,6 +1441,7 @@ process_sfc if(res == RES_OK) res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.sf_connect.ref_temperature); CHK_TOK(strtok_r(NULL, " \t", tok_ctx), "emissivity"); res = cstr_to_double(tk, &desc->d.sf_connect.emissivity); if(res != RES_OK @@ -1708,6 +1696,7 @@ process_solid if(res == RES_OK) res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.solid.tinit); ERR(read_imposed_temperature(stardis, &desc->d.solid.imposed_temperature, tok_ctx)); if(desc->d.solid.imposed_temperature >= 0 @@ -1719,6 +1708,7 @@ process_solid desc->d.solid.tinit, desc->d.solid.imposed_temperature); res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.solid.imposed_temperature); CHK_TOK(strtok_r(NULL, " \t", tok_ctx), "volumic power"); res = cstr_to_double(tk, &desc->d.solid.vpower); if(res != RES_OK) { @@ -1804,6 +1794,7 @@ process_fluid if(res == RES_OK) res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.fluid.tinit); ERR(read_imposed_temperature(stardis, &desc->d.fluid.imposed_temperature, tok_ctx)); @@ -1816,6 +1807,7 @@ process_fluid desc->d.fluid.tinit, desc->d.fluid.imposed_temperature); res = RES_BAD_ARG; goto end; } + stardis->tmax = MMAX(stardis->tmax, desc->d.fluid.imposed_temperature); ERR(create_solver_fluid(stardis, &desc->d.fluid)); @@ -1862,6 +1854,51 @@ error: goto end; } +/* TRAD Trad Trad_ref */ +static res_T +process_radiative + (struct stardis* stardis, + char** tok_ctx) +{ + char* tk = NULL; + res_T res = RES_OK; + + ASSERT(stardis && tok_ctx); + + if(stardis->trad_def) { + logger_print(stardis->logger, LOG_ERROR, + "TRAD cannot be specified twice\n"); + res = RES_BAD_ARG; + goto end; + } + CHK_TOK(strtok_r(NULL, " \t", tok_ctx), "Trad"); + res = cstr_to_double(tk, &stardis->trad); + if(res != RES_OK + || stardis->trad < 0) + { + logger_print(stardis->logger, LOG_ERROR, + "Invalid Trad: %s\n", tk); + if(res == RES_OK) res = RES_BAD_ARG; + goto end; + } + CHK_TOK(strtok_r(NULL, " \t", tok_ctx), "Trad reference"); + res = cstr_to_double(tk, &stardis->trad_ref); + if(res != RES_OK + || stardis->trad_ref < 0) + { + logger_print(stardis->logger, LOG_ERROR, + "Invalid Trad reference: %s\n", tk); + if(res == RES_OK) res = RES_BAD_ARG; + goto end; + } + stardis->trad_def = 1; + +end: + return res; +error: + goto end; +} + /* Read medium or boundary line; should be one of: * SOLID Name lambda rho cp delta Tinit Timposed volumic_power STL_filenames * FLUID Name rho cp Tinit Timposed STL_filenames @@ -1871,6 +1908,7 @@ error: * F_BOUNDARY_FOR_SOLID Name F STL_filenames * SOLID_FLUID_CONNECTION Name ref_temperature emissivity specular_fraction hc STL_filenames * SCALE scale_factor + * TRAD Trad Trad_ref * * STL_filenames = { { FRONT | BACK | BOTH } STL_filename }+ */ @@ -1909,6 +1947,8 @@ process_model_line ERR(process_fluid(stardis, &tok_ctx)); else if(0 == strcasecmp(tk, "SCALE")) ERR(process_scale(stardis, &tok_ctx)); + else if(0 == strcasecmp(tk, "TRAD")) + ERR(process_radiative(stardis, &tok_ctx)); else { logger_print(stardis->logger, LOG_ERROR, "Unknown description type: %s\n", tk); diff --git a/src/stardis-parsing.h b/src/stardis-parsing.h @@ -114,7 +114,6 @@ struct args { unsigned nthreads; double pos_and_time[5]; enum stardis_mode mode; - double ambient_temp; char* camera; enum dump_path_type dump_paths; int verbose;