Phasta Meshing

From PHASTA Wiki
Revision as of 12:47, 21 January 2012 by Jema6380 (talk | contribs)
Jump to: navigation, search

Creating the Boundary Layer Attribute File

  • To begin, we need a geometry model. It can be created using commercial softwares such as SolidWorks or NX and saved as *.x_t
  • Create a new directory, which will contain the new geometric model and boundary layer attribute file (BLattr.inp). Make a link to the geometric model:
  ln -s "model_name.x_t" geom.xmt_txt

Now copy whichever BLattr.inp file you wish to start from to your working directory.

  • Each face of the geometric model needs specific mesh and boundary layer characteristics. This is the purpose of BLattr.inp. Open it by typing:
  vim BLattr.inp

A vim command cheat sheet can be found at http://www.tuxfiles.org/linuxhelp/vimcheat.html

  • To create attributes for each model entity, two lines in the following format are being used.
 <entity dimension> <entity tag> <size type> <attribute type> <extra> 
 <value or expression for mesh size on this entity>
  • Note that a blank line between these two lines is not allowed.
  • The parameters in the first line, respectively are:
- Entity dimension:          This will be 2 if the BL is being specified on a face
- Entity tag:                     You can find the entity tag using simapps
- Size type on entity:       1 for absolute mesh size and 2 for relative mesh size
- Attribute type on entity:  
                             0 just imposes the size on entity. <extra> field is NULL
                             1 for entity with boundary layers. <extra> field is explained below.
                             2 for periodic entity: In this case, <extra> field is followed with slave entity tag
                             3 for refinement source. Specify entity dimension as -1 in this case. <extra> field is explained below.

For Boundary layer:

   the <extra> field consists of (a) faceSide/useDir (BL orientation), (b) numEndEnts (==0, layers with fixed heigths), (c) firstLayerHeight, (d) totalHeight, 
  (e) nLayers, (f) blMixed, (g) blBlends, (h) blPropagate and (i) edgeBLFaceTag (only if 2D BL on edge)
  • You can insert text by hitting the "a" or "i" keys. Hit escape to go back to visual mode
  • You can comment out lines or parts of lines by placing a # symbol before the text you want to comment out. This is useful for suppressing BL's and

assigning names to the face numbers

  • To save and quit the changes you've made to BLattr.inp, get back to visual mode and type ":wq" and hit enter.


Creating an Initial Mesh

  • FIRST, MAKE SURE YOU ARE CONNECTED TO ONE OF THE VIZ NODES AND NOT PORTAL0!!
  • To do this, type:
  "vglconnect viz001" or "vglonnect viz002". You should also type "top" to see who is currently working and that enough memory is available
  • cd back to your working directory and type
  /users/mrasquin/develop/Meshing/BLMesher/bin/x86_64_linux/BLMesher geom.xmt_txt geom_ver63.sms 0.05 1 BLattr.inp BLMesher.log

or cp runBLMesher.sh into your working directory and type

  ./runBLMesher.sh geom.xmt_txt geom_ver63.sms 0.05 1 BLattr.inp BLMesher.log
  • This creates geom_ver63.sms. If it aborts immediately, look at BLMesher.log to get a sense of where in BLattr.inp it failed.
  • Next, you need to convert geom_ver63.sms into geom_ver2.sms so that the BL can be trimmed later. cp runConvertSMSVersion.sh to your working directory and type:
  ./runConvertSMSVersion.sh
  • Now you can trim the boundary layer:
  /users/mrasquin/develop/Meshing/BLTrim-2011-08-25/bin/x86_64_linux-icc/BLTrim-O geom.xmt_txt geom_ver2.sms 1 0 0 0 geom_test_bl.sms 2 1
  • Questions:
  Enter option [1/0] to write trimmed BL mesh: 1
  Enter output filename: geom-trimmed.sms
  Enter number of BL surfaces to be visualized: 0
  • Tetrahedronize the mesh:
  /users/chitak/develop/Meshing/tetrahedronizeBL-for-curve/bin/x86_64_linux-icc/tetrahedronizeBL-for-curve-O geom.xmt_txt geom-trimmed.sms geom-trimmed-tets.sms
  • Alternatively, to save time you can mesh, trim, and tetrahedronize all in one fell swoop. cp runBLMesher.sh, runConvertSMSVersion.sh, and runMeshAll.sh to your working directory. Run the command:
  ./runMeshAll.sh geom.xmt_txt BLattr.inp
  • You can now view the trimmed, tetrahedronized mesh (geom-trimmed-tets.sms) using ThreeDViewer.