stardis

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

commit fb479daf34138db1769d747b44163420cca78230
parent 5c5b6524af1d39b4b0ad27bbf09d0b7087043e7c
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Tue, 19 May 2020 18:41:59 +0200

Documentation improvements

Diffstat:
Mcmake/CMakeLists.txt | 6+++---
Mdoc/stardis-input.5.txt | 3++-
Mdoc/stardis-output.5.txt | 625+++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
Mdoc/stardis.1.txt.in | 8++++----
4 files changed, 433 insertions(+), 209 deletions(-)

diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -40,11 +40,11 @@ set(STARDIS_ARGS_DEFAULT_COMPUTE_TIME "INF") set(STARDIS_ARGS_DEFAULT_RENDERING_FOV "70") # degrees set(STARDIS_ARGS_DEFAULT_RENDERING_IMG_HEIGHT "480") set(STARDIS_ARGS_DEFAULT_RENDERING_IMG_WIDTH "640") -set(STARDIS_ARGS_DEFAULT_RENDERING_POS "1,1,1") +set(STARDIS_ARGS_DEFAULT_RENDERING_POS "1, 1, 1") set(STARDIS_ARGS_DEFAULT_RENDERING_SPP "4") -set(STARDIS_ARGS_DEFAULT_RENDERING_TGT "0,0,0") +set(STARDIS_ARGS_DEFAULT_RENDERING_TGT "0, 0, 0") set(STARDIS_ARGS_DEFAULT_RENDERING_TIME "INF") -set(STARDIS_ARGS_DEFAULT_RENDERING_UP "0,0,1") +set(STARDIS_ARGS_DEFAULT_RENDERING_UP "0, 0, 1") set(STARDIS_ARGS_DEFAULT_REFERENCE_TEMP "300") set(STARDIS_ARGS_DEFAULT_SAMPLES_COUNT "10000") set(STARDIS_ARGS_DEFAULT_SCALE_FACTOR "1") diff --git a/doc/stardis-input.5.txt b/doc/stardis-input.5.txt @@ -116,7 +116,8 @@ _______ <cp> ::= REAL # in ]0, INF) -<delta> ::= "AUTO" # delta is automatically set to V/6S +<delta> ::= "AUTO" # delta is automatically set to V/6A (V and A being + # respectively the solid volume and its boundary area) | REAL # in [0, INF) <initial-temp> ::= REAL # in [0, INF) diff --git a/doc/stardis-output.5.txt b/doc/stardis-output.5.txt @@ -15,15 +15,14 @@ :toc: -stardis-output(5) -================== += stardis-output(5) + +== NAME -NAME ----- stardis-output - output format of stardis(1) results -DESCRIPTION ------------ +== DESCRIPTION + *stardis-output* describes the output format of the *stardis*(1) program. Any *stardis*(1) result is written to _standard output_, even though some additional information can be written in files. @@ -41,13 +40,13 @@ Finaly, some special options (*-v*, *-h* or *-d*) that does not involve any computation produce output including information on the *stardis*(1) software (their ouputs will not be described thereafter) or the provided thermal system. -UNITS ------ +== UNITS + As with the values in *stardis-input*(5), any physical quantity in output is in the International System of Units (second, metre, kilogram, kelvin). -OPTIONS -------- +== OPTIONS + Every top-level item of the output listed below is produced by one or more specific options of the *stardis*(1) program. The following list gives the correspondance: @@ -69,8 +68,8 @@ correspondance: *-d*: produces <geometry-dump> -GRAMMAR -------- +== GRAMMAR + In what follows, some lines end in *\*. This is used as a convenience to continue a description next line. However, this trick is not part of the actual output, that continues on a single line. On the other hand, multiple @@ -82,8 +81,7 @@ and '***', when not verbatim, are used with the usual meaning (like in #something+1). Finally, text introduced by the *#* character in a description, when neither verbatim nor count, is a comment and is not part of the output. -OUTPUT ------- +== OUTPUT [verse] _______ @@ -95,8 +93,8 @@ _______ | <infrared-image> _______ -SINGLE MONTE CARLO ------------------- +== SINGLE MONTE CARLO + When *stardis*(1) is used to produce a single Monte-Carlo result, either temperature or flux, this result is output first to _standard output_, possibly followed by some of the heat paths involved in the computation if option *-D* @@ -159,17 +157,19 @@ _______ _______ -ASCII GREEN ------------ -The Green function is generated when a green-compatible *stardis*(1) simulation -option is used in conjuction with the *-&#8288;g* option. For every successful -heat path sampled carrying out the simulation, the solver records all the -elements of the path history relevant to link the various imposed temperature, -fluxe and volumic power values to the simulation result. 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. +== GREEN + +The Green function is generated, either in binary or ascii format, when a +green-compatible *stardis*(1) simulation option is used in conjuction with +option *-G* for a binary outpur, or option *-g* for an ascii output. For +every successful heat path sampled carrying out the simulation, the solver +records all the elements of the path history relevant to link the various +imposed temperature, fluxe and volumic power values to the simulation result. +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. The output in green mode is made of tables containing the different media and boundaries and their imposed temperature, flux and volumic power values, @@ -184,144 +184,283 @@ follows: * Add the temperature gain of each power term; * Add the temperature gain of each flux term. +=== BINARY GREEN + +Thereafter is the format of binary Green outputs. This output is produced by +fwrite calls and does not take care of endianness. Comments include the C type +of the written data. + +[verse] +_______ +<binary-green> ::= "BINGREEN" # char[8] + #descriptions # unsigned + #solids # unsigned + #fluids # unsigned + #t-boundaries # unsigned + #h-boundaries # unsigned + #flux-boundaries # unsigned + #solid-fluid-connections # unsigned + names-pool-size # size of concatenated description names: unsigned + #ok-samples # size_t + #failed-samples # size_t + <descriptions> + <concatenated-names> # char[names-pool-size] + ambient-temperature # double + reference-temperature # double + <samples> + +<descriptions> ::= description # struct description + <descriptions> # #descriptions descriptions + +<samples> ::= <sample> + <samples> # #ok-samples samples + +--------------------- + +<sample> ::= <sample-header> # struct path_header + <ids> # unsigned[header.pcount + header.fcount] + <weights> # double[header.pcount + header.fcount] +_______ + +[literal] + /* The content of stuct str name members in descriptions is meaningless. + * The name of the ith description is the ith nul-terminated string in + * <concatenated-names>. + * As a convenience, one could use char* baz to store a pointer to the + * description's name into <concatenated-names>. */ + struct str { + void* foo; + size_t bar; + char* baz; + char qux[16]; + }; + + struct mat_fluid { + struct str name; + unsigned fluid_id; + double rho; + double cp; + double tinit; + double imposed_temperature; + }; + + struct mat_solid { + struct str name; + unsigned solid_id; + double lambda; + double rho; + double cp; + double delta; + double tinit; + double imposed_temperature; + double vpower; + }; + + struct t_boundary { + struct str name; + unsigned mat_id; + double emissivity; + double specular_fraction; + double hc; + double imposed_temperature; + }; + + struct h_boundary { + struct str name; + unsigned mat_id; + double emissivity; + double specular_fraction; + double hc; + double imposed_temperature; + }; + + struct solid_fluid_connect { + struct str name; + double emissivity; + double specular_fraction; + double hc; + }; + + enum description_type { + DESC_MAT_SOLID, + DESC_MAT_FLUID, + DESC_BOUND_H_FOR_FLUID, + DESC_BOUND_H_FOR_SOLID, + DESC_BOUND_T_FOR_FLUID, + DESC_BOUND_T_FOR_SOLID, + DESC_BOUND_F_FOR_SOLID, + DESC_SOLID_FLUID_CONNECT, + DESCRIPTION_TYPE_COUNT__, + DESC_OUTSIDE + }; + + struct f_boundary { + struct str name; + unsigned mat_id; + double imposed_flux; + }; + + struct description { + enum description_type type; + union { + struct mat_fluid fluid; + struct mat_solid solid; + struct t_boundary t_boundary; + struct f_boundary f_boundary; + struct h_boundary h_boundary; + struct solid_fluid_connect sf_connect; + } d; + }; + + struct path_header { + unsigned id; + unsigned pcount, fcount; + }; + +=== ASCII GREEN + +Thereafter is the format of ascii Green outputs. + [verse] _______ -<ascii-green> ::= "---BEGIN GREEN---" - "# #solids #fluids #t_boundaries #h_boundaries #f_boundaries \ - #ok #failures" - #solids #fluids #t_boundaries #h_boundaries #f_boundaries #ok \ - #failures - "# Solids" - "# ID Name lambda rho cp power" - <solids> - "# Fluids" - "# ID Name rho cp" - <fluids> - "# T Boundaries" - "# ID Name temperature" - <t-bounds> - "# H Boundaries" - "# ID Name emissivity specular_fraction hc T_env" - <h-bounds> - "# F Boundaries" - "# ID Name flux" - <f-bounds> - "# Radiative Temperatures" - "# ID Rad_Temp Lin_Temp" - <rad-temps> - "# Samples" - "# end #power_terms #flux_terms power_term_1 ... power_term_n \ - flux_term_1 ... flux_term_n" - "# end = end_type end_id; end_type = T | H | X | R | F | S" - "# power_term_i = power_id_i factor_i" - "# flux_term_i = flux_id_i factor_i" - <samples> - "---END GREEN---" - -<solids> ::= <solid> - <solids> # #solids solid descriptions - -<fluids> ::= <fluid> - <fluids> # #fluids fluid descriptions - -<t-bounds> ::= <t-bound> - <t-bounds> # #t-bounds t-bound descriptions - -<h-bounds> ::= <h-bound> - <h-bounds> # #h-bounds h-bound descriptions - -<f-bounds> ::= <f-bound> - <f-bounds> # #f-bounds f-bound descriptions - -<rad-temps> ::= <green-id> <rad-temp> <lin-temp> - -<samples> ::= <sample> - <samples> # #samples sample descriptions +<ascii-green> ::= "---BEGIN GREEN---" + "# #solids #fluids #t_boundaries #h_boundaries #f_boundaries \ + #ok #failures" + #solids #fluids #t_boundaries #h_boundaries #f_boundaries \ + #ok #failures + "# Solids" + "# ID Name lambda rho cp power" + <solids> + "# Fluids" + "# ID Name rho cp" + <fluids> + "# T Boundaries" + "# ID Name temperature" + <t-bounds> + "# H Boundaries" + "# ID Name emissivity specular_fraction hc T_env" + <h-bounds> + "# F Boundaries" + "# ID Name flux" + <f-bounds> + "# Radiative Temperatures" + "# ID Rad_Temp Lin_Temp" + <rad-temps> + "# Samples" + "# end #power_terms #flux_terms power_term_1 ... power_term_n \ + flux_term_1 ... flux_term_n" + "# end = end_type end_id; end_type = T | H | X | R | F | S" + "# power_term_i = power_id_i factor_i" + "# flux_term_i = flux_id_i factor_i" + <samples> + "---END GREEN---" + +<solids> ::= <solid> + <solids> # #solids solid descriptions + +<fluids> ::= <fluid> + <fluids> # #fluids fluid descriptions + +<t-bounds> ::= <t-bound> + <t-bounds> # #t-bounds t-bound descriptions + +<h-bounds> ::= <h-bound> + <h-bounds> # #h-bounds h-bound descriptions + +<f-bounds> ::= <f-bound> + <f-bounds> # #f-bounds f-bound descriptions + +<rad-temps> ::= <green-id> <rad-temp> <lin-temp> + +<samples> ::= <sample> + <samples> # #samples sample descriptions ------------------------------------- -<sample> ::= <end-spec> <power-count> <flux-count> <power-terms> <flux-terms> +<sample> ::= <end-spec> <power-count> <flux-count> <power-terms> <flux-terms> -<solid> ::= <green-id> <name> <lambda> <rho> <cp> <power> +<solid> ::= <green-id> <name> <lambda> <rho> <cp> <power> -<fluid> ::= <green-id> <name> <rho> <cp> +<fluid> ::= <green-id> <name> <rho> <cp> -<t-bound> ::= <green-id> <name> <temperature> +<t-bound> ::= <green-id> <name> <temperature> -<h-bound> ::= <green-id> <name> <emissivity> <specular_fraction> <hc> \ - <temperature> +<h-bound> ::= <green-id> <name> <emissivity> <specular_fraction> <hc> \ + <temperature> -<f-bound> ::= <green-id> <name> <flux> +<f-bound> ::= <green-id> <name> <flux> -<rad-temps> ::= <green-id> <ambient-temp> <lin-temp> +<rad-temps> ::= <green-id> <ambient-temp> <lin-temp> -<name> ::= STRING # no space allowed +<name> ::= STRING # no space allowed -<lambda> ::= REAL # in ]0, INF) +<lambda> ::= REAL # in ]0, INF) -<rho> ::= REAL # in ]0, INF) +<rho> ::= REAL # in ]0, INF) -<cp> ::= REAL # in ]0, INF) +<cp> ::= REAL # in ]0, INF) -<power> ::= REAL # in (-INF , INF) +<power> ::= REAL # in (-INF , INF) -<temperature> ::= REAL # in [0, INF) +<temperature> ::= REAL # in [0, INF) -<emissivity> ::= REAL # in [0, 1] +<emissivity> ::= REAL # in [0, 1] -<specular-fraction> ::= REAL # in [0, 1] +<specular-fraction> ::= REAL # in [0, 1] -<hc> ::= REAL # in [0, INF) +<hc> ::= REAL # in [0, INF) -<flux> ::= REAL # in (-INF , INF) +<flux> ::= REAL # in (-INF , INF) -<ambient-temp> ::= REAL # in [0, INF) +<ambient-temp> ::= REAL # in [0, INF) -<lin-temp> ::= REAL # in [0, INF) +<lin-temp> ::= REAL # in [0, INF) -<green-id> ::= INTEGER # in [0 #solids] +<green-id> ::= INTEGER # in [0 #solids] ------------------------------------- -<end-spec> ::= <end-type> <green-id> -<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 - | "F" # sample ends in a fluid with known temperature - | "S" # sample ends in a solid with known temperature +<end-spec> ::= <end-type> <green-id> +<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 + | "F" # sample ends in a fluid with known temperature + | "S" # sample ends in a solid with known temperature -<power-count> ::= INTEGER # in [0 INF) +<power-count> ::= INTEGER # in [0 INF) -<flux-count> ::= INTEGER # in [0 INF) +<flux-count> ::= INTEGER # in [0 INF) -<power-terms> ::= <power-term> - | <power-terms> # <power-count> power terms +<power-terms> ::= <power-term> + | <power-terms> # <power-count> power terms -<flux-terms> ::= <flux-term> - | <flux-terms> # <flux-count> flux terms +<flux-terms> ::= <flux-term> + | <flux-terms> # <flux-count> flux terms ------------------------------------- -<power-term> ::= "S" <green-id> <power-factor> +<power-term> ::= "S" <green-id> <power-factor> -<flux-term> ::= <green-id> <flux-factor> +<flux-term> ::= <green-id> <flux-factor> -<power-factor> ::= REAL # in ]0, INF); the temperature gain is power-factor * Power(green-id) +<power-factor> ::= REAL # in ]0, INF) + # the temperature gain is power-factor * Power(green-id) -<flux-factor> ::= REAL # in ]0, INF); the temperature gain is flux-factor * Flux(green-id) +<flux-factor> ::= REAL # in ]0, INF) + # the temperature gain is flux-factor * Flux(green-id) _______ -GEOMETRY DUMP -------------- +== GEOMETRY DUMP + A *geometry-file* is generated when *stardis*(1) is invoked with option *-d*. In this mode, *stardis*(1) outputs the system geometry, as submitted in -*stardis-input*(5) description, to _standard output_ in the VTK [1] format. +*stardis-input*(5) description, to _standard output_ in VTK [1] format. The output geometry is not the concatenation of the various geometry files used in *stardis-input*(5) description. It is the result of a deduplication -process that removes duplicate and degenerated triangles in the submited +process that removes duplicate and degenerated triangles from the submited geometry. Additionaly, as permitted by the VTK [1] format, the output geometry is @@ -332,80 +471,164 @@ If errors are detected, some optional error-related data fields are included in the geometry file. Some errors report a by-triangle error status, other errors report a by-enclosure error status. +Also, holes in the geometry, if any, are reported in geometry dumps. A hole is +defined by its frontier that is a collection of triangles surrounding the hole. +Such triangles are detected as having their 2 sides in the same enclosure, but +with a different medium on each side. + [verse] _______ -<geometry-file> ::= "# vtk DataFile Version 2.0" - "Dump of star-geometry-3d geometry" - "ASCII" - "DATASET POLYDATA" - "POINTS" #vertices "double" - <geometry-vertices> - "POLYGONS" #triangles #triangles*4 - <geometry-triangles> - "CELL_DATA" #triangles - "SCALARS Front_medium unsigned_int 1" - "LOOKUP_TABLE default" - <front_medium_ids> - -<front_medium_ids> ::= UNSIGNED # in [0, INF) - <front_medium_ids> # #media ids - -<trg-conflict-code> ::= NO_CONFLICT - | BOUND_H_FOR_FLUID_BETWEEN_2_DEFS - | BOUND_H_FOR_FLUID_BETWEEN_2_UNDEFS - | BOUND_H_FOR_FLUID_ENCLOSING_SOLID - | BOUND_H_FOR_SOLID_BETWEEN_2_DEFS - | BOUND_H_FOR_SOLID_BETWEEN_2_UNDEFS - | BOUND_H_FOR_SOLID_ENCLOSING_FLUID - | BOUND_T_FOR_FLUID_BETWEEN_2_DEFS - | BOUND_T_FOR_FLUID_BETWEEN_2_UNDEFS - | BOUND_T_FOR_FLUID_ENCLOSING_SOLID - | BOUND_T_FOR_SOLID_BETWEEN_2_DEFS - | BOUND_T_FOR_SOLID_BETWEEN_2_UNDEFS - | BOUND_T_FOR_SOLID_ENCLOSING_FLUID - | BOUND_F_FOR_SOLID_BETWEEN_2_DEFS - | BOUND_F_FOR_SOLID_BETWEEN_2_UNDEFS - | BOUND_F_FOR_SOLID_ENCLOSING_FLUID - | SFCONNECT_BETWEEN_2_SOLIDS - | SFCONNECT_BETWEEN_2_FLUIDS - | SFCONNECT_USED_AS_BOUNDARY - | SFCONNECT_BETWEEN_2_UNDEFS - | NO_CONNECTION_BETWEEN_2_FLUIDS - | NO_CONNECTION_BETWEEN_SOLID_AND_FLUID - | NO_BOUND_BETWEEN_FLUID_AND_UNDEF - | NO_BOUND_BETWEEN_SOLID_AND_UNDEF - -TRG_WITH_NO_PROPERTY - -NO_CONFLICT ::= 0 -BOUND_H_FOR_FLUID_BETWEEN_2_DEFS ::= 1 -BOUND_H_FOR_FLUID_BETWEEN_2_UNDEFS ::= 2 -BOUND_H_FOR_FLUID_ENCLOSING_SOLID ::= 3 -BOUND_H_FOR_SOLID_BETWEEN_2_DEFS ::= 4 -BOUND_H_FOR_SOLID_BETWEEN_2_UNDEFS ::= 5 -BOUND_H_FOR_SOLID_ENCLOSING_FLUID ::= 6 -BOUND_T_FOR_FLUID_BETWEEN_2_DEFS ::= 7 -BOUND_T_FOR_FLUID_BETWEEN_2_UNDEFS ::= 8 -BOUND_T_FOR_FLUID_ENCLOSING_SOLID ::= 9 -BOUND_T_FOR_SOLID_BETWEEN_2_DEFS ::= 10 -BOUND_T_FOR_SOLID_BETWEEN_2_UNDEFS ::= 11 -BOUND_T_FOR_SOLID_ENCLOSING_FLUID ::= 12 -BOUND_F_FOR_SOLID_BETWEEN_2_DEFS ::= 13 -BOUND_F_FOR_SOLID_BETWEEN_2_UNDEFS ::= 14 -BOUND_F_FOR_SOLID_ENCLOSING_FLUID ::= 15 -SFCONNECT_BETWEEN_2_SOLIDS ::= 16 -SFCONNECT_BETWEEN_2_FLUIDS ::= 17 -SFCONNECT_USED_AS_BOUNDARY ::= 18 -SFCONNECT_BETWEEN_2_UNDEFS ::= 19 -NO_CONNECTION_BETWEEN_2_FLUIDS ::= 20 -NO_CONNECTION_BETWEEN_SOLID_AND_FLUID ::= 21 -NO_BOUND_BETWEEN_FLUID_AND_UNDEF ::= 22 -NO_BOUND_BETWEEN_SOLID_AND_UNDEF ::= 23 +<geometry-file> ::= "# vtk DataFile Version 2.0" + "Dump of star-geometry-3d geometry" + "ASCII" + "DATASET POLYDATA" + <vertices> + <triangles> + "CELL_DATA" #triangles + <front-media> + <back-media> + <interfaces> + <unique-ids> + <user-ids> + [ <merge-conflicts> ] # if some merge conflict occured + [ <property-conflicts> ] # if some property conflict occured + <file-ranks> + [ <holes> ] # if there are holes + <enclosures> + +<vertices> ::= "POINTS" #vertices "double" + <vertex-list> + +<triangles> ::= "POLYGONS" #triangles #triangles*4 + <triangle-list> + +<front-media> ::= "SCALARS Front_medium unsigned_int 1" + "LOOKUP_TABLE default" + <front-medium-ids> + +<back-media> ::= "SCALARS Back_medium unsigned_int 1" + "LOOKUP_TABLE default" + <back-medium-ids> + +<interfaces> ::= "SCALARS Interface unsigned_int 1" + "LOOKUP_TABLE default" + <interface-ids> + +<unique-ids> ::= "SCALARS Unique_ID unsigned_int 1" + "LOOKUP_TABLE default" + <trg-unique-ids> + +<user-ids> ::= "SCALARS User_ID unsigned_int 1" + "LOOKUP_TABLE default" + <trg-user-ids> + +<merge-conflicts> ::= "SCALARS Merge_conflict int 1" + "LOOKUP_TABLE default" + <trg-merge-conflicts> + +<property-conflicts> ::= "SCALARS Property_conflict int 1" + "LOOKUP_TABLE default" + <trg-prop-conflicts> + +<file-ids> ::= "SCALARS Created_at_sg3d_geometry_add unsigned_int 1" + "LOOKUP_TABLE default" + <file-ranks> + +<holes> ::= "SCALARS Hole_frontiers unsigned_int 1" + "LOOKUP_TABLE default" + <hole-memberships> + +<enclosures> ::= "FIELD FieldData 1" + "Enclosure_ID" #enclosures #triangles "unsigned_char" + <encl-memberships> + +----------------- + +<vertex-list> ::= "3" <vertice_id> <vertice_id> <vertice_id> + <vertex-list> # #vertices vertices + +<triangle-list> ::= <real3> + <triangle-list> # #triangles triangles + +<front-medium-ids> ::= <medium-id> | <undef-medium> + <front-medium-ids> # #triangles ids + +<back-medium-ids> ::= <medium-id> | <undef-medium> + <back-medium-ids> # #triangles ids + +<interface-ids> ::= INTEGER # in [0 #interface[ + <interface-ids> # #triangles ids + +<trg-unique-ids> ::= INTEGER # in [0 #triangles[ + <trg-unique-ids> # #triangles ids + +<trg-user-ids> ::= INTEGER # in [0 #submitted triangles[ + <trg-user-ids> # #triangles ids + +<trg-merge-conflicts> ::= "0" # triangle without any merge conflict + | "1" # triangle with a merge conflict + <trg-merge-conflicts> # #triangles statuses + +<trg-prop-conflicts> ::= "0" # triangle with no property conflict + | "1" # H_BOUNDARY_FOR_FLUID between 2 defined media + | "2" # H_BOUNDARY_FOR_FLUID between 2 undefined media + | "3" # H_BOUNDARY_FOR_FLUID enclosing a solid + | "4" # H_BOUNDARY_FOR_SOLID between 2 defined media + | "5" # H_BOUNDARY_FOR_SOLID between 2 undefined media + | "6" # H_BOUNDARY_FOR_SOLID enclosing a fluid + | "7" # T_BOUNDARY_FOR_FLUID between 2 defined media + | "8" # T_BOUNDARY_FOR_FLUID between 2 undefined media + | "9" # T_BOUNDARY_FOR_FLUID enclosing a solid + | "10" # T_BOUNDARY_FOR_SOLID between 2 defined media + | "11" # T_BOUNDARY_FOR_SOLID between 2 undefined media + | "12" # T_BOUNDARY_FOR_SOLID enclosing a fluid + | "13" # F_BOUNDARY_FOR_FLUID between 2 defined media + | "14" # F_BOUNDARY_FOR_FLUID between 2 undefined media + | "15" # F_BOUNDARY_FOR_SOLID enclosing a fluid + | "16" # SOLID_FLUID_CONNECTION between 2 solids + | "17" # SOLID_FLUID_CONNECTION between 2 fluids + | "18" # SOLID_FLUID_CONNECTION used as boundary + | "19" # SOLID_FLUID_CONNECTION between 2 undefined media + | "20" # no connexion between 2 fluids + | "21" # no connexion between a solid and a fluid + | "22" # no boundary around a fluid + | "23" # no boundary around a solid + | "24" # invalid part of a compute surface + <trg-prop-conflicts> # #triangles statuses + +<real3> ::= REAL REAL REAL + +<vertice-id> ::= INTEGER # in [0 #vertices[ + +<file-ranks> ::= INTEGER # in [0 #submitted files[ + <file-ranks> # #triangles ranks + +<hole-memberships> ::= "0" # triangle not surrounding a hole + | "1" # triangle surrounding a hole + <hole-memberships> # #triangles hole memberships + +<encl-memberships> ::= <enclosure-status 0> ... <enclosure-status #enclosures-1> + <encl-memberships> # #triangles enclosure memberships + +<medium-id> ::= INTEGER # in [0, #medium[ + +<undef-medium> ::= "4294967295" + +----------------- + +<enclosure-status i> ::= <not-member> # the triangle is not part of the ith enclosure + | <member> # the triangle is part of the ith enclosure + +<not-member> ::= "0" + +<member> ::= "1" # valid enclosure + | "3" # invalid enclosure: more than 1 medium + | "5" # invalid enclosure: some triangles with no defined medium + | "7" # invalid enclosure: more than 1 "medium", including undefined _______ -INFRARED IMAGE --------------- +== INFRARED IMAGE When invoked with option *-R*, *stardis*(1) generates an infrared image of the system and write it to _standard output_ in VTK [1] file format. The image @@ -459,8 +682,8 @@ _______ <failures_counts> # <image-width>*<image-height> failures_counts _______ -DUMP HEAT PATHS ---------------- +== DUMP HEAT PATHS + When the *stardis*(1) option *-D* is used in conjunction with an option that computes a result, some of the heat paths (successful paths, erroneous paths, or both) sampled during the simulation are written to files. Each path is @@ -490,7 +713,7 @@ _______ "SCALARS Weight double 1" "LOOKUP_TABLE default" <weigths> - [ <vertices-time> ] + [ <vertices-time> ] # if not steady <path-vertices> ::= <real3> <path-vertices> # #vertices vertices @@ -514,24 +737,24 @@ _______ <durations> ::= REAL # in [0, INF) <durations> # #vertices durations -<vertice-type> ::= 0 # CONDUCTION - | 1 # CONVECTION - | 2 # RADIATIVE +<vertice-type> ::= "0" # CONDUCTION + | "1" # CONVECTION + | "2" # RADIATIVE -<path-type> ::= 0 # SUCCESS - | 1 # FAILURE +<path-type> ::= "0" # SUCCESS + | "1" # FAILURE _______ -NOTES ------ +== NOTES + 1. VTK file format - <http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf> 2. Paraview softawre - <https://www.paraview.org/> -SEE ALSO --------- +== SEE ALSO + *stardis*(1), *stardis-input*(5) \ No newline at end of file diff --git a/doc/stardis.1.txt.in b/doc/stardis.1.txt.in @@ -144,7 +144,7 @@ EXCLUSIVE OPTIONS **pos=**_x_**,**_y_**,**_z_;; Position of the camera. By default it is set to - {@STARDIS_ARGS_DEFAULT_RENDERING_POS@} or it is automatically computed to + { @STARDIS_ARGS_DEFAULT_RENDERING_POS@ } or it is automatically computed to ensure that the whole scene is visible, whether *tgt* is set or not, respectively. @@ -158,19 +158,19 @@ EXCLUSIVE OPTIONS **tgt=**_x_**,**_y_**,**_z_;; Position targeted by the camera. By default, it is set to - {@STARDIS_ARGS_DEFAULT_RENDERING_TGT@} or it is automatically computed to + { @STARDIS_ARGS_DEFAULT_RENDERING_TGT@ } or it is automatically computed to ensure that the whole scene is visible, whether *pos* is set or not, respectively. **up=**_x_**,**_y_**,**_z_;; Up vector of the camera. By default, it is set to - {@STARDIS_ARGS_DEFAULT_RENDERING_UP@}. + { @STARDIS_ARGS_DEFAULT_RENDERING_UP@ }. OTHER OPTIONS ------------- *-a* _ambient_:: Set the ambient radiative temperature for the whole system. By default - *ambient* is @STARDIS_ARGS_DEFAULT_AMBIANT_TEMP@. + *ambient* is @STARDIS_ARGS_DEFAULT_AMBIENT_TEMP@. *-d*:: Write the geometry to _standard output_ in VTK format along with various