Using Blender to create solids for Gerris
From Gerris
(Difference between revisions)
| Revision as of 14:10, 15 March 2008 Prhlava (Talk | contribs) ← Previous diff |
Revision as of 15:43, 15 March 2008 Prhlava (Talk | contribs) Next diff → |
||
| Line 111: | Line 111: | ||
| === Example simulation === | === Example simulation === | ||
| - | (use "right click" + "save as" to download) | + | The simulation file (download links below): |
| + | |||
| + | <pre> | ||
| + | 4 3 GfsSimulation GfsBox GfsGEdge {} { | ||
| + | Time { end = 100 } | ||
| + | Solid blender_1.gts | ||
| + | Refine 6 | ||
| + | RefineSolid 8 | ||
| + | Init {} { U = 1 } | ||
| + | OutputTime { istep = 10 } stderr | ||
| + | |||
| + | OutputSimulation { istep = 4 } stdout | ||
| + | |||
| + | # EventScript { istep = 4 } { echo "Save stdout { width = 1024 height = 768 }" } | ||
| + | |||
| + | } | ||
| + | GfsBox { left = BoundaryInflowConstant 1 top = BoundaryOutflow bottom = BoundaryOutflow } | ||
| + | GfsBox { top = BoundaryOutflow bottom = BoundaryOutflow } | ||
| + | GfsBox { top = BoundaryOutflow bottom = BoundaryOutflow } | ||
| + | GfsBox { right = BoundaryOutflow top = BoundaryOutflow bottom = BoundaryOutflow } | ||
| + | 1 2 right | ||
| + | 2 3 right | ||
| + | 3 4 right | ||
| + | </pre> | ||
| + | |||
| + | Simulation files (use "right click" + "save as" to download): | ||
| [http://www.dearm.co.uk/blender/blender_1.gfs gfs] | [http://www.dearm.co.uk/blender/blender_1.gfs gfs] | ||
Revision as of 15:43, 15 March 2008
This is a short introduction to using Blender for creation of solid bodies for inclusion in Gerris simulation.
How to create a wing
Start with an empty scene (camera and light is OK)
Add Bezier curve
<space> -> add -> curve -> bezier curve
Close the curve
<TAB> <C>
Subdivide it
(curve) -> segments -> subdivide
Disable the Back and Front for the curve
De-select "Back" and "Front" (this is done in bottom window in blender)
Extrude the curve
Set the extrude level to 1
Convert the curve to mesh
<TAB> - Switch to object mode
(object) -> convert object type: Mesh
Close the top and bottom parts of the mesh
numpad<3> - switch to the side view <Tab> <B> - border select (select the top nodes)
(mesh) -> faces -> fill
<A> <B> - border select (select the bottom nodes)
(mesh) -> faces -> fill
Recalculate normals
<A> <A>
Now you should have all mesh nodes selected.
(mesh) -> normals -> recalculate inside
Export the mesh in STL format
<TAB> - go to object mode
Select the wing...
(File) -> Export -> STL
Save the file as wing.stl
STL to GTS
Convert from .stl to .gts
stl2gts < wing.stl > wing.gts
Transform the wing.gts
transform -o < wing.gts | transform -t 1 > blender_1.gts
The first transform normalizes the wing, the 2nd one moves it to 2nd cell along X axis. The resulting file "blender_1.gts" is ready for use in Gerris simulation.
Example simulation
The simulation file (download links below):
4 3 GfsSimulation GfsBox GfsGEdge {} {
Time { end = 100 }
Solid blender_1.gts
Refine 6
RefineSolid 8
Init {} { U = 1 }
OutputTime { istep = 10 } stderr
OutputSimulation { istep = 4 } stdout
# EventScript { istep = 4 } { echo "Save stdout { width = 1024 height = 768 }" }
}
GfsBox { left = BoundaryInflowConstant 1 top = BoundaryOutflow bottom = BoundaryOutflow }
GfsBox { top = BoundaryOutflow bottom = BoundaryOutflow }
GfsBox { top = BoundaryOutflow bottom = BoundaryOutflow }
GfsBox { right = BoundaryOutflow top = BoundaryOutflow bottom = BoundaryOutflow }
1 2 right
2 3 right
3 4 right
Simulation files (use "right click" + "save as" to download):
To run the simulation:
gerris2D blender_1.gfs | gfsview2D blender_1.gfv











