Using Blender to create solids for Gerris

From Gerris

(Difference between revisions)
Jump to: navigation, search
Revision as of 14:29, 14 March 2008
Prhlava (Talk | contribs)

← Previous diff
Current revision
GeordieMcBain (Talk | contribs)
(Transform the wing.gts - linked transform to its page and reformatted code automatically using two-space indent)
Line 1: Line 1:
-== Using Blender to create solids for Gerris == 
This is a short introduction to using [http://www.blender.org Blender] for creation of solid bodies for inclusion in Gerris simulation. This is a short introduction to using [http://www.blender.org Blender] for creation of solid bodies for inclusion in Gerris simulation.
=== How to create a wing === === How to create a wing ===
Line 98: Line 97:
==== Convert from .stl to .gts ==== ==== Convert from .stl to .gts ====
-<pre>+ [[stl2gts]] < wing.stl > wing.gts
-stl2gts < wing.stl > wing.gts+
-</pre>+
==== Transform the wing.gts ==== ==== Transform the wing.gts ====
-<pre>+ [[transform]] -o < wing.gts | transform -t 1 > blender_1.gts
-transform -o < wing.gts | transform -t 1 > blender_1.gts +
-</pre>+
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. 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 === === Example simulation ===
-[[file:blender_1.gfs|gfs]]+ 
-[[file:blender_1.gfv|gfv]]+(download links below)
-[[file:blender_1.gts|gts]]+ 
 +<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.gfv gfv]
 +[http://www.dearm.co.uk/blender/blender_1.gts gts]
 + 
 +To run the simulation:
 + 
 +<pre>
 +gerris2D blender_1.gfs | gfsview2D blender_1.gfv
 +</pre>
[[Image:blender_1_simulation.jpeg|frame|The result]] [[Image:blender_1_simulation.jpeg|frame|The result]]

Current revision

This is a short introduction to using Blender for creation of solid bodies for inclusion in Gerris simulation.

Contents

How to create a wing

Start with an empty scene (camera and light is OK)

Start

Add Bezier curve

<space> -> add -> curve -> bezier curve

Image:blender_1_002.jpeg

Close the curve

<TAB>
<C>

Image:blender_1_003.jpeg

Subdivide it

(curve) -> segments -> subdivide

Image:blender_1_004.jpeg

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

Image:blender_1_005.jpeg

Image:blender_1_006.jpeg

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

Image:blender_1_007.jpeg

<A>
<B> - border select (select the bottom nodes)

(mesh) -> faces -> fill

Image:blender_1_008.jpeg

Recalculate normals

<A>
<A>

Now you should have all mesh nodes selected.

(mesh) -> normals -> recalculate inside

The result

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

(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):

gfs gfv gts

To run the simulation:

gerris2D blender_1.gfs | gfsview2D blender_1.gfv
The result
The result
Personal tools
communication