Contrib AlignMeshSurf

From OpenFOAMWiki
Jump to: navigation, search

Valid versions: OF version 13.png

Contents

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)