Create progressive 2D structured mesh with Z-set mesher
When simulating large domains with structured mesh (to avoid border effects for instance), it could be usefull to use the NG_extension mesher function of Z-Set (which - of course - is not even mentioned in Z-Set documentation).
This function allows to extend a 2D quadrilateral mesh, divinding the mesh size by two. The function takes the following parameters:
- *bset _bset_ : the border set to extend
- *length _float_ : total length of the extension
- *nb\_extension _int_ : number of extension (2 will for instance consists of two extension floor divinding th initial size by 4)
- *direction _x y z_ : direction of extension
The following example computes a simple 2D extension
****mesher ***mesh deraf **mesh_lin_rectangle *ncutx 20 *ncuty 1 *sizex 1 *sizey 0.05 **bset toExtend *use_nset y0 **NG_extension *bset toExtend *length 0.05 *nb_extension 1 *direction (0. -1.) **translate 0. 0.1 0. ***mesh deraf **mesh_lin_rectangle *ncutx 10 *ncuty 1 *sizex 1 *sizey 0.05 **union *add deraf.geof ****return
What about 3D ?
For 3D meshes, a simple way to use the above function is to combine two extension planes as follows:
****mesher ***mesh deraf **mesh_lin_rectangle *ncutx 20 *ncuty 1 *sizex 1 *sizey 0.05 **bset toExtend *use_nset y0 **elset toDel *add_elset ALL_ELEMENT **NG_extension *bset toExtend *length 0.05 *nb_extension 1 *direction (0. -1.) **delete_elset toDel **extension *distance 1. *num 20 *dir (0. 0. -1.) ***mesh deraf **mesh_lin_rectangle *ncutx 20 *ncuty 1 *sizex 1 *sizey 0.05 **bset toExtend *use_nset y0 **elset toDel *add_elset ALL_ELEMENT **NG_extension *bset toExtend *length 0.05 *nb_extension 1 *direction (0. -1.) **delete_elset toDel **extension *distance 1. *num 10 *dir (0. 0. -1.) **translate 0. -0.05 0. **rotate x1 0. 0. -1. x3 1. 0. 0. **translate 1. 0. 0. **union *add deraf.geof ****return