Automatic Report Generation Examples
Use hwCFDReport to create a .pptx or .pdf report with user defined visualization.
Create a Simple Input File
To create a simple input file with a cover page and summary, navigate to the simulation results folder, and create a file named report.img with the following contents:
COMMAND
, followed by curly
braces {}
with options specified inside the braces. The simulation
data to summarize is specified with the DATASET{}
command.DATASET{
resultFile = "uFX_fullData\uFX_output.case"
summary_file = " uFX_summary.txt"
summary_in_report = on
}
REPORT("Run summary"){
report_type = run_summary
format = pptx
}
>> hwcfdReport –img report.img
Add Images
IMAGE{}
command to tell the utility to create and display an
image. In the command options, specify which parts are to be shown and the views
from which the image is to be rendered. In this example, we define two views: front
and left.IMAGE("Car_view"){
parts = {"Car"}
views = {"front","left"}
image_type = static
}
PART{}
command. This particular command instance is named
Car and is referenced above with this name. A PART{} command
includes all boundaries and default visualization settings. These are optional and
can be customized as seen
below:PART("Car"){
show_boundary_names = {"_all"}
display_type = solid
color_type = constant
constant_color = "white"
}
Results Visualization Tools
The advanced options enable you to unlock more colorful possibilities. Visualization
mainstays such as Contours, Cut-planes, Iso-surfaces, and Streamlines have dedicated
commands. Two- dimensional plots such as Line-plots and Bar-charts can also be
created. All these commands can be further customized using the
VARIABLE{}
command that makes these commands more powerful and
portable across multiple simulations. Last but not the least, two simulation results
can be used to create a report that renders images side by side for a quick spot the
difference comparison.
Surface Contours
color_type
from constant to contour. This changes the
coloring of the car model from a constant color to a surface contour. We also
specify the contour function which controls the coloring of the contour, in this
example time_avg_pressure_coefficient
. This is followed by more
settings that control the legend on the right-hand corner in the
plot.IMAGE("Surface Cp"){
parts = {"Surface Cp"}
views = {"front_top_left"}
image_type = static
}
PART("Surface Cp"){
display_type = solid
solid_display_type = smooth
color_type = contour
contour_function = time_avg_pressure_coefficient
legend_display = on
legend_min = -1.0
legend_max = 1.0
}
Cut Planes
y = 0
is
defined. The instantaneous total pressure coefficient,
total_pressure_coefficient
, is used to color the plane and the
size of the plane is controlled by the inputs: x_min
,
x_max
, and z_max
.car_length
and
car_height
are needed for the command to work.IMAGE("Cut plane y total_pressure_coefficient"){
cut_planes = {"y cut total_pressure_coefficient"}
parts = {"Full vehicle - white"}
views = {"left"}
clip_parts = off
}
CUT_PLANE("y cut total_pressure_coefficient"){
normal_direction = y
cut_location = 0.0
color_type = contour
contour_function = total_pressure_coefficient
legend_display = on
legend_min = -1.0
legend_max = 1.0
x_min = -0.78 - car_length/4.0
x_max = 3.29 + car_length
z_max = 1.3 + 0.5*car_height
}
Variables
variable_name
, and an expression
associated
with it. The expression can be a constant, another variable, or a mathematical
expression containing more variables. The following variables,
car_length
and car_height
need to be defined
to get the CUT_Plane{} in the previous section to work
correctly.VARIABLE{
variable_name = car_length
expression = 4.07
}
VARIABLE{
variable_name = car_height
expression = 1.317
}
Iso-Surfaces
ISO_SURFACE{}
command. In this
example, the time averaged pressure coefficient,
time_avg_pressure_coefficient
, is used to create the
iso-surface which is then colored with a constant color, blue for
time_avg_pressure_coefficient=-0.3
and red for
time_avg_pressure_coefficient=0.5
.
IMAGE("Cp Iso""){
parts = {"Full vehicle - white"}
iso_surfaces = {"Cp = -0.3”,” Cp = 0.5"”}
views = {"left"}
image_type = static
}
ISO_SURFACE("Cp = -0.3"){
iso_function = time_avg_pressure_coeffient
iso_value = -0.3
display_type = solid
solid_display_type = smooth
color_type = constant
constant_color = blue
}
ISO_SURFACE("Cp = 0.5"){
iso_function = time_avg_pressure_coeffient
iso_value = 0.5
display_type = solid
solid_display_type = smooth
color_type = constant
constant_color = red
}
Line Plots
data_file
input. The data in the
ASCII file is organized
into rows and columns. Specify the column numbers in the x_column
and y_column
fields to get a line
plot.LINE_PLOT("Instantaneous drag"){
data_source = "file"
data_file = "./uFX_coefficientsData/uFX_coefficients_Inst.txt"
num_header_rows = 11
x_column = 1
y_columns = {2}
x_label = "Time (s)"
y_label = "Coefficients"
title = "Instantaneous Drag"
legend_labels = "C_d"
show_legend = on
show_grid = on
}