HTRDR-COMBUSTION(1) | General Commands Manual | HTRDR-COMBUSTION(1) |
NAME
htrdr‑combustion
—
simulate radiative transfer in a combustion
medium
SYNOPSIS
htrdr‑combustion |
[-fhINsv ] [-C
persp_camera_opt[:persp_camera_opt
...]] [-D
laser_flux_density] [-d
dump_type] [-F
rdgfa_opt[:rdgfa_opt
...]] [-g
combustion_chamber_opt[:combustion_chamber_opt
...]] [-i
image_opt[:image_opt
...]] [-l
laser_opt[:laser_opt
...]] [-O
cache] [-o
output] [-P
ortho_camera_opt[:ortho_camera_opt
...]] [-R
flux_sensor_opt[:flux_sensor_opt
...]] [-T
optical_thickness] [-t
threads_count] [-V
accel_struct_definition] [-w
laser_wavelength] -m
medium_geometry -p
thermo_properties -r
refractive_ids |
DESCRIPTION
The purpose of htrdr‑combustion
is to
perform radiative transfer computations in a scene representing a
semi-transparent combustion medium enlightened by a laser sheet. The medium
may be surrounded by solid boundaries (inner limits of the combustion
chamber). The program will currently compute, in the visible at a given
frequency, the monochromatic image or the radiative flux density of the
combustion medium: collected light comes from the laser, and is scattered by
soot aggregates within the flame before eventually reaching the sensor.
Data relating to the gaseous medium are stored on the vertices of an unstructured tetrahedral mesh: pressure, temperature and concentrations of H2O, CO2 and CO are provided for each vertex. In the visible range, these data are useless, since the gas is assumed to be transparent, but they are part of the data expected to anticipate future developments in the longwave domain.
Soot optical properties are computed using the Rayleigh-Debye Gans theory, for Fractal Aggregates (RDG-FA). This requires the knowledge of: soot volumic fraction, soot number density (number of primary particles per aggregate) and primary particles diameter, for each vertex of the tetrahedral mesh. For any position in the volume, these quantities are first interpolated from the values retrieved at the nodes of the current tetrahedron, and are then interpolated for the position of interest. Which then makes possible to compute the absorption and scattering cross-sections of soot aggregates, as well as their scattering function.
The Monte Carlo algorithm that accounts for the visible intensity is inspired from the algorithm used for solar radiation in htrdr-atmosphere(1). It was adapted to partially illuminated scenes in order to solve onvergence issues.
In htrdr‑combustion
the spatial unit 1.0
corresponds to one meter while the estimated monochromatic radiances and
flux densities are saved in W/sr/m^2 and W/m^2 respectively. The results are
written to the output file if the -o
option is set
and otherwise to standard output. The output image is a list of raw ASCII
data formatted using the
htrdr-image(5) file
format.
htrdr‑combustion
implements mixed
parallelism. On a single computer (that is, a node), it uses shared memory
parallelism while it relies on Message Passing Interface (MPI) to
parallelize calculations between multiple nodes.
htrdr‑combustion
can therefore be launched either
directly or via a process launcher such as
mpirun(1) to distribute the
calculation on several computers.
The options are as follows:
-C
persp_camera_opt[:persp_camera_opt ...]- Set up a pinhole or thin-lens perspective camera.
The options for a perspective camera are as follows:
focal-dst=
distance- Distance to focus on with a thin lens camera, that is, a camera whose
lens-radius
is not zero. The default focal distance is 1 meters. focal-length=
length- Focal length of a camera lens. It is another way to control the field
of view of a thin lens camera. By default, the field of view is set
through the
fov
parameter. fov=
angle- Vertical field of view of the camera in ]0.0, 180.0[ degrees. The default field of view is 70 degrees.
lens-radius=
radius- Radius of the camera lens. A non-zero radius means that the camera is a thin lens camera while a zero radius defines a pinhole camera. The default lens radius is 0.
pos=
x,y,z- Camera position. Default is 0,0,0.
tgt=
x,y,z- Targeted position Default is 0,1,0.
up=
x,y,z- Upward vector that the top of the camera is pointing towards. Default is 0,0,1.
-D
laser_flux_density- Laser flux density in W/m^2. Default is 1.
-d
dump type- Write the data defined by dump_type to
output instead of performing a normal calculation.
The dump_type values supported are as follows:
laser
- Write the geometry of the laser sheet in legacy VTK format.
octree
- Write the leaves of the space partitioning structures used to speed up radiative transfer calculations. Each leaf stores the minimum and maximum extinction coefficients of the tetrahedra it covers. Data are written in legacy VTK format.
-F
rdgfa_opt[:rdgfa_opt ...]- RDG-FA phase function parameters.
The parameters of the RDG-FA phase function are as follows:
dimension=
real- Fractal dimension. Default is 1.80.
prefactor=
real- Fractal prefactor. Default is 1.30.
-f
- Force overwriting of output file.
-g
combustion_chamber_opt[:combustion_chamber_opt ...]- Define the combustion chamber.
Note that the combustion chamber does not prevent the camera from seeing the medium, nor the laser from illuminating the medium, even if either is outside the chamber. The rendering algorithm ensures that they are not occluded by the combustion chamber, like with a two-way mirror. When the laser is out of chamber, its emissive surface is seen as if it were following its interior surface. Likewise, the radiance seen by the camera outside the chamber is the radiance that reaches it as if its image plane were following the surface of the geometry.
The combustion chamber options are as follows:
mats=
materials- Combustion chamber materials saved in htrdr-materials(5) format.
obj=
mesh- Combustion chamber geometry saved in
htrdr-obj(5) format.
In accordance with the htrdr-obj(5) file format, the mesh interface must be defined as a fine interface, i.e. it must be composed of 3 elements separated by the
:
character. By convention,htrdr‑combustion
expects the external environment to be called "air" and the medium inside the combustion chamber to be called "chamber". No assumptions are made about the name of the surface material, except that it must refer to a valid material.
-h
- Display short help and exit.
-I
- Use an isotropic phase function rather than the RDG-FA phase function
(option
-F
). -i
image_opt[:image_opt ...]- Configure sensor image.
The image options are as follows:
-l
laser_opt[:laser_opt ...]- Laser emission surface.
The laser options are as follows:
pos=
x,y,z- Center of the laser emission surface. Default is 0,0,0.
tgt=
x,y,z- Targeted position, i.e.
tgt
-pos
is the normal of the laser surface. Default is 0,0,1. up=
x,y,z- Upward vector that the top of thr laser is pointer towards. Default is 0,1,0.
sz=
width,height- Size of laser surface in meters. Default is 1,1
-m
medium_geometry- Tetrahedra of the combustion medium saved in smsh(5) format.
-N
- This speeds up runtime performance by calculating normals once and for all rather than re-evaluating them every time a tetrahedron is queried at a given position. In return, the memory space used to store normals increases the memory footprint.
-O
cache- File where acceleration structure is stored/loaded. If the
cache file does not exist, it is created and
filled with the acceleration structure constructed from the medium
geometry (option
-m
), termodynamic properties (option-p
) and refractive indices (option-r
) input files. This cached data can then be reused in subsequent executions, provided that the input files supplied to the command are the same as those used to set up the cache, thus considerably speeding up the pre-processing stage.If cache contains data generated from input files that are not those submitted on the command line, an error is notified and execution is aborted, thus avoiding the use of bad cached data.
-o
output- Output file. If not defined, data is written to standard output.
-P
ortho_camera_opt[:ortho_camera_opt ...]- Set up an orthographic camera.
The options for an orthographic camera are as follows:
height=
lenght- Image plane height. Its width is calculated from this length and the
image ratio to guarantee square pixels (see
-i
option). pos=
x,y,z- Camera position. Default is 0,0,0.
tgt=
x,y,z- Targeted position. Default is 0,1,0.
up=
x,y,z- Upward vector that the top of the camera is pointing towards. Default is 0,0,1.
-p
thermo_properties- Thermodynamic properties of the combustion medium saved in atrtp(5) format.
-R
flux_sensor_opt[:flux_sensor_opt ...]- Set up a flux sensor.
The flux sensor options are as follow:
-r
refrative_ids- Refrative indices of the combustion medium as a function of wavelength, saved in atrri(5) format.
-s
- Use Single Instruction Multiple Data (SIMD) instruction sets if available. This should speed up calculation time.
-T
optical_thickness- Optical thickness used as threshold criterion for building the acceleration structure. Default is 1.0.
-t
- Advice on the number of threads to use. By default,
htrdr‑combustion
uses many threads as processor cores. -V
accel_struct_definition- Definition of the discrete field storing the upper limit of the radiative
coefficients from which the acceleration structure is built. The extent of
the grid corresponds to the axis aligned bounding box of the combustion
medium.
The definition can be established as follows:
- x,y,z
- Define grid definition on X, Y and Z axes.
- expected_definition
- Provide an expected definition of the grid along its longest axis. The definition along the two remaining axes is then calculated internally to tend towards cubic cells. This is the default behavior with an expected definition set to 256.
-v
- Make
htrdr‑combustion
verbose. -w
laser_wavelength- Laser wavelength in nanometers, which is also the wavelength at which calculations are performed. Default is 532.
OUTPUT IMAGE
Images calculated by htrdr‑combustion
are
saved in htrdr-image(5)
format. This section describes the nature and arrangement of image data
depending on the type of calculation performed.
Shortwave monochromatic image
For a monochromatic image rendering, the expected value and the standard deviation of the pixel radiance (in W/sr/m^2) are saved on the first and the second components. All other components are unused excepted the seventh and eighth components that store the estimate of the radiative path computation time in microseconds and its standard error.
Shortwave flux density map
A flux density map (option -R
) store on
its first and second component the expected value and the standard error of
the pixel radiative flux density (in W/m^2). All other components are unused
excepted the seventh and eighth components that store the estimate of the
radiative path computation time (in microseconds) and its standard
error.
EXIT STATUS
The htrdr‑combustion
utility
exits 0 on success, and >0 if an error occurs.
EXAMPLES
Make htrdr‑combustion
verbose (option
-v
) and render an image of a combustion medium whose
tetrahedral mesh is stored in tetra.smsh and whose
associated thermodynamic properties are recorded in
thermprops.atrtp. Refractive indices are listed in
refract_ids.atrri. The laser's surface emission
center is positioned at the origin and its direction aligned with the Y axis
(option -l
). The calculated image resolution is
800 by
600 pixels (option -i
) and the
monochromatic radiance of each pixel is estimated at
500 nanometers (option -w
)
with 64 Monte Carlo realisations (option
-i
). The resulting image is written to
output unless the file already exists, in which case
an error is notified, the program stops and the output file remains
unchanged:
htrdr-combustion -v \ -m tetra.smsh \ -p thermprops.atrtp \ -r refract_ids.atrri \ -l pos=0,0,0:tgt=0,1,0:up=0,0,1:sz=0.001,0.2 \ -w 500 \ -C pos=0.6,0,0.1:tgt=0.5,0,0.1:up=0,0,1:fov=30 \ -i def=800x600:spp=64 \ -o output
Add a combustion chamber to the previous example (option
-g
): its mesh is defined in
chamber.obj while its materials are listed in
materials.mtls. Save the acceleration structure in
octree.cache or reuse it if it has already been
filled in a previous run with compatible input data. Set the finest
resolution of this acceleration structure to 1000
voxels along the main extension of the medium (option
-V
) and use an optical thickness criterion of
5 to build it (option -T
). Use
the -f
option to force overwriting of the
output file if it exists, and use the
-s
option to accelerate rendering with available
SIMD instruction sets:
htrdr-combustion -v \ -m tetra.smsh \ -p thermprops.atrtp \ -r refract_ids.atrri \ -g obj=chamber.obj:mats=materials.mtls \ -l pos=0,0,0:tgt=0,1,0:up=0,0,1:sz=0.001,0.2 \ -w 500 \ -C pos=0.6,0,0.1:tgt=0.5,0,0.1:up=0,0,1:fov=30 \ -i def=800x600:spp=64 \ -O octree.cache \ -V 1000 \ -T 5 \ -fo output \ -s
Calculate a flux density map (option -R
).
The sensor on which the flux density is calculated is a square with sides
measuring 0.05 meters. Its center is placed at the
origin and points towards the Z axis. The flux density map has a resolution
of 500 by
500 pixels (option -i
). The
flux density per pixel is estimated with 64
realisations; the flux density for the entire sensor is therefore calculated
with 16 million realizations (500*500*64):
htrdr-combustion -v \ -m tetra.smsh \ -p thermprops.atrtp \ -r refract_ids.atrri \ -l pos=0,0,0:tgt=0,1,0:up=0,0,1:sz=0.001,0.2 \ -w 500 \ -R pos=0,0,0:tgt=0,0,1:up=0,1,0:sz=0.05,0.05 \ -i def=500x500:spp=64 \ -O octree.cache \ -V 1000 \ -T 5 \ -fo map.txt -s
-d
):
htrdr-combustion -v \ -m tetra.smsh \ -p thermprops.atrtp \ -r refract_ids.atrri \ -O octree.cache \ -d octree \ -o accel_struct.vtk
SEE ALSO
htrdr-atmosphere(1), atrri(5), atrtp(5), htrdr-image(5), htrdr-materials(5), htrdr-obj(5), smsh(5)
Morgan Sans, Mouna El Hafi, Vincent Eymet, Vincent Forest, Richard Fournier, and Najda Villefranque, Null-collision meshless Monte Carlo - A new reverse Monte Carlo algorithm designed for laser-source emission in absorbing/scattering inhomogeneous media, Journal of Quantitative Spectroscopy and Radiative Transfer, 271, https://doi.org/10.1016/j.jqsrt.2021.107725, 2021.
Jérôme Yon, Fengshan Liu, Alexandre Bescond, Chloé Caumont-Prim, Claude Rozé, François-Xavier Ouf, and Alexis Coppalle, Effects of multiple scattering on radiative properties of soot fractal aggregates, Journal of Quantitative Spectroscopy and Radiative Transfer, 133, https://doi.org/10.1016/j.jqsrt.2013.08.022, 374-381, 2014.
STANDARDS
OpenMP Architecture Review Board, OpenMP C and C++ Application Interface, March 2002, version 2.0.
Message Passing Interface Forum, MPI-2: Extensions to The Message-Passing Interface, July 1997.
HISTORY
htrdr‑combustion
has been developed as
part of ANR-18-CE05-0015
Astoria project.
January 24, 2024 | UNIX |