Skip to main content

Creates structured hexahedral meshes for OpenFOAM

Project description

hexmeshcyl

HexMeshCylinders generates hexagonal meshes for OpenFOAM. It is restricted to volumes with radial-rotational symmetry, i.e. solids that can be described as a "stack" of cylinders.

Build Status

I've created this simple tool after having problems with spurious currents (a.k.a. parasitic currents) in interFoam. I was working on microfluidics cases, but the results were not good because spurious currents were deforming the droplets. It is known that regular meshes can attenuate the problems with spurious currents, therefore I wanted to try that. I tried to create these meshes using blockMesh and gmsh, however, because my volumes were cylindrical (nozzles, reservoirs, etc.), I didn't manage to get what I wanted. So I decided to write this tool.

The problem I was working on was the formation of droplets out of nozzles measuring 50 micrometers in diameter. The regular mesh solved my problems with spurious currents. (I hope to upload a video of it soon).

Installation

pip install hexmeshcylinders

Usage example

The following example generates the mesh shown in the image bellow. For more demos, please refer to the examples folder.

from HexMeshCylinders import Stack
from HexMeshCylinders.Shapes import Rectangle, Circle

stack = Stack(cell_edge=.015, verbose=True)

stack.add_solid(
    shape2d=Rectangle(len_x=.8, len_y=1.2),
    height=1.,
    n_layers=20,
)
stack.add_solid(
    shape2d=Circle(diameter=.6),
    height=.8,
)

stack.build_mesh()
stack.export('/tmp/HexMeshCylinders/basic')

basic_1

Requirements

Requires numpy. If you want to run the tests, you will also need to have OpenFOAM installed.

Meta

Gui Miotto – @gmiotto

Distributed under the MIT license. See LICENSE for more information.

https://github.com/gui-miotto

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

HexMeshCylinders-0.0.3.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

HexMeshCylinders-0.0.3-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file HexMeshCylinders-0.0.3.tar.gz.

File metadata

  • Download URL: HexMeshCylinders-0.0.3.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.2

File hashes

Hashes for HexMeshCylinders-0.0.3.tar.gz
Algorithm Hash digest
SHA256 c37114c3fe87bda518a123d8389291de8a91b851d9d258d1d3c31f3893632733
MD5 0730971285a78644831fcc947a9089ad
BLAKE2b-256 c4d0fb187a94e3e940603cba6e6ecf462d93e26b0252349ac70bccf80324e194

See more details on using hashes here.

File details

Details for the file HexMeshCylinders-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: HexMeshCylinders-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.2

File hashes

Hashes for HexMeshCylinders-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a4104c72d64771951a52269bf6d4f872791f04822574c3144da30f5f1ce299a4
MD5 ad0b6c2bc19c3c421a8a57f974482d0d
BLAKE2b-256 c8dfeda8ba32879bfcf577d0edb3356f9b0082b7fac596bff34eb98d6a3009f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page