BLOOM3 Example Cases Tutorial
Data files for several BLOOM3 sample cases are provided. Package
archives with all of the example cases are provided in bloom3-examples.tar.gz (tar-gzip archive for Linux/MacOSX) and bloom3-examples.zip (zip archive
for Windows). Copy the package archive files and unpackage them in a location
of your choosing to run the example cases. All cases have relatively moderate
spacing and require minimal resources. The input surface mesh files provided
for the sample cases are ASCII formatted SURF or MESH type files. In the
following case examples the output mesh file is a binary MESHB type file.
Alternative file types can be used. By default the output volume mesh
with be a binary format UGRID file type named case_name.b8.ugrid.
It is recommended to use either a case_name.b8.ugrid or case_name.meshb
output volume mesh file as the reduced memory mesh writer (mw_merged=1)
only accepts UGRID, MESH, or MESHB types.
See the BLOOM3 documentation
for information on available options and usage. Alternatively, you can view
text-based documentation at the command line with the following command.
bloom3 -help
A number of systems can be used to visualize the resulting volume mesh. Vizir
is one very good example that is freely available to the public (Linux, MacOSX
and Windows) from Inria on their Adaptive Mesh Generation site
and will open and display LibMesh files (mesh,
meshb, sol, solb).
Use of another visualization systems
may require conversion of the output mesh file to one of another type (Ensight, FieldView, and others
are available).
The UG_IO file converter UGC can be used to convert the file
using the following command.
ugc case_name.meshb case_name.output_type
See the UGC documentation for a
description of usage and options. Alternatively, you can view text-based
documentation at the command line with the following command.
ugc -help
Note that BLOOM3 can output the mesh file in a number of file types.
However, subsequent conversion to another file type may not be possible if the
output mesh is not a UGRID, MESH, or MESHB file type. The documentation
describes whether or not a file type can be used as an input mesh for
conversion.
Multiple options are required to
generate a pseudo-structured anisotropic BL type mesh adjacent to
selected boundaries. Several options are available to control the BL mesh
generation and a thorough review of the documentation is recommended. BL meshes
with very different characteristics can be generated with the appropriate
options. A unique set of characteristics that is suitable for particular
applications and solvers can be obtained. It is recommended to develop the
appropriate set of options that meets the needs of your cases with a relatively
simple configuration.
Primary BLOOM3
options are listed below.
bloom3 |
[options] |
|
|
-i input_file |
input file |
|
-o output_file |
output file |
|
-log |
generate a log file |
|
-aflr3 |
use AFLR3 to generate the interior mesh |
|
-tetgen |
use TetGen to generate the interior mesh |
|
-blc |
generate a BL and create prism-elements (default is
tet-elements only) |
|
-blds spacing |
set the initial BL normal spacing (default is 0) |
|
should be physically based, e.g.
chord length |
|
|
or |
|
|
-Re_l Reynolds_Number |
Reynolds Number based on reference length for setting
initial BL normal spacing (default is 0) |
|
-ref_len reference_length |
reference length for setting initial BL normal spacing
(default is 0) |
|
-y+ spacing_y+ |
turbulent BL initial normal spacing y+ value
(default is 1) |
|
-blrm max_rate |
maximum BL normal spacing growth rate (default is 1.5) |
|
-nbldiff number_of_levels |
maximum difference in BL levels (default 0 – means
no maximum) |
|
-mblend value |
BL termination mode flag (default is 1) if mblend=0 then use local
termination only if mblend=1 then use global
termination |
|
-bl_ids list_of_IDs |
list of IDs for BL generating solid surface grid BCs |
|
-bl_int_ids list_of_IDs |
list of IDs for BL region intersecting surface grid BCs |
|
-ff_ids list_of_IDs |
list of IDs for farfield surface grid BCs |
|
-std_ids list_of_IDs |
list of IDs for solid surface grid BCs |
|
-trnsp_bl_ids list_of_IDs |
list of IDs for BL generating transparent surface grid BCs |
|
-trnsp_ids list_of_IDs |
list of IDs for transparent surface grid BCs |
|
-trnsp_intl_bl_ids list_of_IDs |
list of IDs for BL generating internal transparent surface
grid BCs |
|
-trnsp_intl_ids list_of_IDs |
list of IDs for internal transparent surface grid BCs |
|
-psids ID_pair_list |
surface ID pairs for periodic surfaces note that these surface IDs must also be set to BL
intersecting surface grid BCs (-bl_int_ids) |
|
-psns node_pair_list |
node pairs for periodic surfaces |
Note that the BL initial normal
spacing must be set by either -blds or -Re_l, -ref_len, and
-y+. See the BLOOM3 documentation
for information on all available options. Alternative names, if any, for
all options are included in that documentation. You can also view a text-based
version of that documentation at the command line with the following command.
bloom3 -help or aflr4 -help
An overview of BLOOM3
example cases is provided in the following along with run parameters for BL
type mesh generation. Surface meshes for the example cases provided were
generated using AFLR4 and already have grid boundary condition
information set. If the grid boundary condition is not set within the input
surface mesh file, then you must use the parameter options available for BLOOM3
to set appropriate values.
All of the cases shown here are run
in open mode using the optional bloom3_open library for BL termination
and optional AFLR3 library to generate the interior tet-element mesh. BLOOM3
can be built to operate in either open or closed modes with appropriate external
libraries. In open mode alternative tet-meshing codes can be used, such as GHS3D or TetGen. The BLOOM3 executable provided
operates only in open mode as no external mesh movement code is supplied. A
separate code Wolf-Bloom
has been created at Inria that uses the Wolf moving mesh algorithm.
Cube. A
simple cube configuration with two symmetry planes on opposite ends.
bloom3
-i cube_new.surf
-o cube_new.meshb -blc -blds 0.001
-bl_ids 1,2,3,4 -bl_int_ids 5,6
-log
A
second simple cube configuration with four symmetry planes.
bloom3
-i cube_new2.surf -o cube_new2.meshb -blc -blds 0.001 \
-bl_ids 1,2 -bl_int_ids 3,4,5,6
-log
Dome. A
simple dome configuration with a curved surface that intersects the BL region.
bloom3
-i dome_new.surf
-o dome_new.meshb -blc -blds 0.0001 -blrm 1.3 \
-bl_ids 1, -bl_int_ids 2, -log
Glider. A
glider configuration with a simple wing body.
bloom3
-i glider_new2.surf -o glider_new2.meshb -blc -ref_len 3 -Re_l 1e6 \
-blrm 1.3 -bl_ids 7-16 -ff_ids 1-6 -log
Launch
Vehicle. A launch vehicle with two strap-on boosters. The AFLR4
surface mesh is refined in the areas where the strap-on boosters are adjacent
to the main booster.
bloom3
-i lv2b_new.surf -o
lv2b_new.meshb -blc -ref_len
20 -Re_l 125e6 \
-bl_ids 22-44,48-67,71,72,73 -bl_int_ids 45,46,47,68,69,70 -ff_ids
16-21 \
-log
A
second launch vehicle with two strap-on boosters and a symmetry plane.
bloom3
-i lv2b_sym_new.surf -o
lv2b_sym_new.meshb -blc -ref_len
20 \
-Re_l 125e6 -bl_ids 4-26 -bl_int_ids 74,27,28,29 -ff_ids
1,2,3 -log
Nacelle/Engine. A
nacelle/engine configuration. The AFLR4 mesh is refined in the regions
where components are in close proximity.
bloom3
-i nacelle_engine_new.surf -o nacelle_engine_new.meshb
-blc \
-ref_len 100 -Re_l
110e6 -blrm 1.3 -nbldiff 2
-mblend 0 \
-bl_ids 1-52 -ff_ids 53-56 -log
A
second nacelle/engine configuration with a symmetry plane.
bloom3
-i nacelle_engine_sym_new.surf -o nacelle_engine_sym_new.meshb
-blc \
-ref_len 20 -Re_l
125e6 \
-bl_ids 4-26 -bl_int_ids
74,27,28,29 -ff_ids 1,2,3 -log
Rocket. A
simple rocket configuration with an extended nozzle.
bloom3
-i rocket_new.surf
-o rocket_new.meshb -blc -ref_len 1.75 -Re_l 125e6 \
-bl_ids 23-50 -bl_int_ids 51,52 -ff_ids 17-22 -log
V-Sphere. A
sphere with a v-cut. The AFLR4 surface mesh is refined in the v-cut
region where surfaces are in close proximity.
bloom3
-i vsphere_new.surf
-o vsphere_new.meshb -blc -ref_len 1 -Re_l 1e6 \
-blrm 1.3 -bl_ids 1-4 -ff_ids 5-10 -log
Periodic
Duct. A periodic duct with an inlet (rectangular and forward
facing in the image below) and two outlets (rectangular, slightly concave on
the left and slightly convex on the right in the image below). The interior of
the duct has a vertical pillar very close to the left outlet. The BL region of
the BLOOM3 volume mesh near the pillar interferes with nearby BL regions
as seen on the upper and lower BL regions of the left outlet. This interference
is duplicated on the right outlet since it is periodic with the left outlet.
bloom3
-i periodic_duct.surf
-o periodic_duct.meshb -blc
-blds 0.00002 \
-blrm 1.3 -bl_ids
1,2,4,10,11,12 -bl_int_ids 3,5,6 \
-psids
6,5 -psns 11,16 -log
EM. An
electronic multi-material/component device for EM analysis requires a mesh
inside each material/component region sphere with a v-cut. Material/component
surface interfaces require a transparent grid BC. The output BLOOM3
volume mesh includes all of the embedded transparent interfaces and each region
is given a unique ID number 1,2,3 …11 (each region is shown with a
different color in the tetrahedral field cut).
bloom3 -i em.surf -o em2.meshb -nbl 0 -std_ids 7, -trnsp_ids 2,8,14,3,4,5,6,9 -log
Missile. A
generic missile with plume. This configuration uses a transparent BL generating
grid BC to model the plume interface. The input mesh includes an internal
transparent grid BC control surface around the missile and plume to control
near-field spacing. The plume interface is used only for BL generation and
neither it nor the control surface is included in the output BLOOM3
volume mesh. However, the output volume ID does reflect the regions inside and
outside of the control surface.
bloom3
-i missile2.surf -o missile2.meshb -blc2 -blds 0.0001 \
-bl_ids 4,5 -ff_ids
6, -bl_int_ids 1, -trnsp_intl_bl_ids
3, -trnsp_intl_ids 2, \
-log
Two-Blade-Wake. This configuration includes a pair
of airfoils with attached wake surfaces and a symmetry plane. The two wake
surfaces merge into one wake surface and all are modeled with a grid BC of a BL
generating internal transparent surface. For illustration, the volume ID is
generated to identify each BL generation layer. Volume IDs for BL regions are
given a negative number.
bloom3
-i two_blade_wake_sym.surf -o two_blade_wake_sym.meshb
-blc2 \
-blrm 1.4 -blds
0.0001 -bl_ids 4,5 -ff_ids 36,37,38,39,40,42,43
\
-bl_int_ids 33,34,35 -trnsp_intl_bl_ids
1,2,3 -vid2 -log