Difference between revisions of "Contrib AlignMeshSurf"

From OpenFOAMWiki
 
Line 41: Line 41:
 
[[Image:alignMeshSurf_newMesh.jpg]]
 
[[Image:alignMeshSurf_newMesh.jpg]]
  
=== scourCylinder case '''TODO'''===
+
=== scourCylinder case ===
 +
[[Media:AlignMeshSurf_scourCylinder.tar.gz|Case gzipped]]
  
 +
[[Image:alignMeshSurf_cylMesh.jpg]]
  
The case still needs a description. It uses the <tt>m4</tt> preprocessor for original mesh generation. It may be useful for those simulating flow around cylinders or piers, especially with a scoured bed.
 
  
Sources and mesh view are provided below.  
+
This case may be useful for those simulating flow around cylinders or piers, especially with a scoured irregular bed.
  
 +
The <tt>m4</tt> preprocessor is used for initial mesh generation -
 +
there is a scheme of mesh blocks and flow domain dimensions in the tar file. If you need explanation on the preprocessing, please, see [[HowTo_blockMesh_with_m4]].
  
[[Media:AlignMeshSurf_scourCylinder.tar.gz|Case gzipped]]
+
Create the initial mesh with <tt>blockMesh</tt> and move the points with:
  
[[Image:alignMeshSurf_cylMesh.jpg]]
+
alignMeshSurf . scourCylinder Scour.stl Top.stl
 +
 
 +
The new mesh is written to <tt>0.005</tt> directory (<tt>deltaT</tt>). Change the <tt>startTime</tt> value in the <tt>controlDict</tt> and you can now start the simulation - the case is defined for <tt>icoFoam</tt> solver.
  
 
== Download ==
 
== Download ==

Latest revision as of 12:00, 27 November 2006

Valid versions: OF version 13.png

1 Short description

Moves mesh points in the Z direction so that the bottom and top faces are aligned with provided surfaces,

2 Usage

Needs two inputs:

  1. lower and
  2. upper surface file name


The code assumes the following about the original mesh and the surfaces:

  • both surfaces have to cover original mesh in the XY-plane - it needs surfaces height Z for XY-position of each mesh point
  • internal mesh points keep their relative distance between bottom and top faces - the original relative distance is based on mesh bounding box rather than local faces height. It is good idea to have your original top and bottom faces flat (const Z).


The command

alignMeshSurf . alignMeshTest bottomSurf.stl topSurf.ftr

will :

  • take alignMeshTest case mesh for startFrom time,
  • align the bottom mesh face with bottomSurf.stl surface and the top mesh face with topSurf.ftr surface
  • move internal mesh points vertically and
  • write the new mesh for next time step


3 Examples

3.1 alignMeshTest case

Case gzipped

Original mesh (only a cut) and surfaces of a test case

AlignMeshSurf oldMesh.jpg

and the aligned mesh

AlignMeshSurf newMesh.jpg

3.2 scourCylinder case

Case gzipped

AlignMeshSurf cylMesh.jpg


This case may be useful for those simulating flow around cylinders or piers, especially with a scoured irregular bed.

The m4 preprocessor is used for initial mesh generation - there is a scheme of mesh blocks and flow domain dimensions in the tar file. If you need explanation on the preprocessing, please, see HowTo_blockMesh_with_m4.

Create the initial mesh with blockMesh and move the points with:

alignMeshSurf . scourCylinder Scour.stl Top.stl

The new mesh is written to 0.005 directory (deltaT). Change the startTime value in the controlDict and you can now start the simulation - the case is defined for icoFoam solver.

4 Download

A tar file with the alignMeshSurf sources. Works with OpenFOAM 1.3.


--Rpasiok 18:25, 22 Nov 2006 (CET)