|
As your geometries and grid systems get more and more
complex, you may find it desirable to simplify your
life by "simplifying" your DTF files.
It is not uncommon these days for you to build a grid
system that contains hundreds if not thousands of
boundary condition patches. Likewise models often
have hundreds of volume condition regions as well.
Many of these boundaries are artifacts of the grid
generation process (blocking strategies and
construction entities) and not necessarily
representative of the physical part. The problem is
that each of these entities (BCs and VCs) take up
resources which can have a significant impact on the
time it takes to read or write a DTF file. Not to
mention the complexity of working with a model that
has 2000 BCs from which you are trying to pick the
single BC that needs to be set to isothermal @
350K!
This note describes a process that can be performed
on most DTF files to "simplify" them. After
simplifying the file you will be left with a DTF file
that contains a single zone and has only enough BC
and VC records needed to describe the model. That is,
all BC/VC records with the same information (name and
values) will be combined into one record. This can
often take a model file with more than 1000 BCs and
simplify it to a model with less than 10 BCs. This
greatly speeds up file read/writes and makes model
setup much more easy and error free.
Notice in the table below the drastic change in the
number of entities and file load times for the
"simplified" versions of a typical fuel cell or hard
disk drive model file.
|
Model
|
#BCs
|
#VCs
|
GUI Load Time
|
|
Fuel Cell (Orig)
|
3096
|
279
|
135 sec
|
|
Fuel Cell (Simplified)
|
8
|
11
|
20 sec
|
|
Disk Drive (Orig)
|
5247
|
783
|
322 sec
|
|
Disk Drive (Simplified)
|
20
|
1
|
23 sec
|
If you have ever thought it would be nice to reduce
the number of BCs or VCs that you have to deal with,
then please read on for an example of how to simplify
your file.
Simplifying Example
Note: All files used for this example can be
downloaded by clicking
here.
Let's look at a simple example of a cylinder geometry
where the bottom side of the cylinder must be broken
into several unique patches for specifying special
boundary conditions, while the outer side of the
cylinder will be considered a wall and the top of the
cylinder will be an outlet. The entire volume of the
cylinder will be considered as a single fluid region.
View from Bottom (cyan=wall,
yellow=inlet)
|
View from Top (cyan=wall,
green=outlet)
|
The easiest way to make this grid system is to grid
the bottom (unique) side of the cylinder and then
extrude it to make the full cylinder. In this case we
have made a prismatic grid system. So 2D unstructured
domains were made and then extruded to make the 3D
prism grids.
At the completion of the gridding we have 17 volumes
(one for each prism domain) and 100 boundaries (tops,
bottoms, sides, and internal interfaces between the
domains). The picture below gives you some indication
of the complexity of the grid system (several
surfaces have been removed for clarity).
Now for the trick! Based on the problem spec given
above we know that we only need to physically specify
1 volume region (since everything is fluid) and 4
unique boundary conditions:
- INLET on the bottom pieces
- WALL on the bottom pieces
- WALL on the side
- OUTLET on the top
Before we can simplify the model we need to make
sure that we have uniquely identified the
boundaries. In this case we have used CFD-GEOM's
BC/VC editor to set the BC names and types
appropriately (e.g., bottom_inlet, bottom_wall,
side_wall, and top_outlet).
We can then use the dtf_decompose utility with
the -combined option to automatically simplify
this file for us.
dtf_decompose -combined -file_out
cylinder_simple.DTF cylinder.DTF 1 1
The above command should be run from the ms-dos
command prompt or unix shell. (Make sure you are in
the directory where the model DTF file is located!)
The syntax can be explained as follows:
-
dtf_decompose
-
The utility we are going to use. Included with the
ACE_SOLVER package and must be version 3.0.24 or
greater (You can check the version you have
by running "dtf_decompose -v" from the command
line. On MS-Windows systems the version number will
be written to a file dtf_decompose.version in the
current directory.)
-
-combined
-
The -combined option will collect all of the BCs
which have the same name and same properties into
one record. Likewise for VCs.
-
-file_out
-
The next argument will be the output DTF file
-
cylinder_simple.DTF
-
This is the new file that will be created from this
operation
-
cylinder.DTF
-
This is the input file which will be processed
-
1 1
-
First number is the sim# to process in the input
file (almost always will be 1).
The second number is the number of zones to be
created in the output file (must be 1).
After running this command you will have a new DTF
file (cylinder_simple.DTF) which will be a single zone
file with only 1 volume condition and 4 boundary
conditions! You can now use this simplified file just
like any other, including parallel simulations.
When you load the simplified file into CFD-ACE-GUI
you will see only 4 boundary conditions to pick
(hence the "grouping" has already been done for you).
CFD-ACE-GUI BC Explorer List Before
Simplification
(only 10 of 102 BCs shown here!)
|
CFD-ACE-GUI BC Explorer List After
Simplification
(4 BCs total! - bottom_wall picked and
highlighted)
|
This was a simple example but this trick can be used
on many models to help make your problem setup easier
and on more complicated examples this will often cut
file read/save by an order of magnitude. Try this
process the next time you are faced with a complex
model where simplification might make your modeling
efforts easier and more efficient.
If you have any questions about this feature or would
like us to discuss some other topic in the future,
please let us know.
Regards,
Richard Thoms
ESI CFD Customer Support
|
Caveats:
While this is a great feature it does have a
few limitations. Since we are using the
dtf_decompose utility we are faced with it's
limitations, most notably the lack of full
support for models with thin walls and
arbitrary interfaces. There are ways to handle
these, but it is beyond the scope of this note,
please contact us if you need help.
You must be aware that after processing the
file you will end up with a single zone
unstructured grid system. So a structured block
coming in will be converted into an
unstructured hexahedral grid system. This
should not cause any problem except maybe if
you are using the grid deformation module which
handles structured and unstructured deformation
differently.
The conversion to fully unstructured grid
system also means that you will no longer be
able to use structured IJK sliders in CFD-VIEW
but rather should use XYZ cuts to view the data
on the simplified file.
The simplification process obviously alters the
DTF file. Because of this, CFD-GEOM will not be
able to update the grid system in a simplified
DTF file. Instead you can update the grid
system in the original DTF file and then
perform the simplification process again.
|
User Feedback!
Martin asks:
Just a question on this feature: How about
a model that has more than a single material, e.
g. two different solids, one fluid. Does the
dtf_decompose utility take care of combining
blocks and domains to the corresponding number of
zones, according to VC-names (or material
names?). What to do to enforce this?
|
Richard responds:
Hello Martin,
I did not go into the VCs because it was
going to make the note too long but you can
replace all instances of BC in the note with VC
and everything works the same way.
That is, if you go into CFD-GEOM and name
each VC uniquely you will get all of them
collected into a single VC.
So for the 17 zones (and VCs) in the
cylinder.DTF file, if you named 5 of them to
"solid_part" and the remainder you left as
"NoName" or the default setting, then after the
dtf_decompose -combined operation you would be
left with a DTF file that still has 1 zone but
it would contain 2 VCs. Give it a try.
Personally, I use VC names to make this
happen but you could also use material name.
The idea is that a "simple" VC will be made for
every unique combination, therefore:
Key, Name, Material, Type
100, housing, steel, solid
102, housing, steel, solid
103, housing, steel, solid
104, housing, steel, solid
Would all collapse to a single VC
Key, Name, Material, Type
100, front, steel, solid
102, front, steel, solid
103, top, steel, solid
104, bottom, steel, solid
Would collapse to 3 VCs (only 100,102
would be combined).
Thanks for the feedback on the
note!
|
|