Skip to main content

Python wrapper around blockMeshDict creation

Project description

#+TITLE: pyblockmesh
#+AUTHOR: Vishakh Pradeep Kumar
#+EMAIL: grokkingStuff@gmail.com

Python Library

#+BEGIN_SRC sh :exports results
.
├── CHANGELOG.md
├── CONTRIBUTING.md
├── index.org
├── LICENSE
├── pyblockmesh
│   ├── edge.py
│   ├── face.py
│   ├── hexahedron.py
│   ├── __init__.py
│   └── vertex.py
├── pytest.ini
├── README.md
├── README.org
├── requirements.txt
├── script
│   └── test
├── setup.py
└── tests
├── helpers
│   ├── __init__.py
│   └── my_helper.py
├── __init__.py
├── tests_helper.py
└── unit
├── __init__.py
├── test_example.py
└── test_version.py

5 directories, 22 files
#+END_SRC

* Example


#+BEGIN_SRC python
import pyblockmesh as pbm


v0 = pbm.Vertex(-1,-1,-1)
v1 = pbm.Vertex( 1,-1,-1)
v2 = pbm.Vertex( 1, 1,-1)
v3 = pbm.Vertex(-1, 1,-1)
v4 = pbm.Vertex(-1,-1, 1)
v5 = pbm.Vertex( 1,-1, 1)
v6 = pbm.Vertex( 1, 1, 1)
v7 = pbm.Vertex(-1, 1, 1)

h1 = pbm.Hexahedron([v0,v1,v2,v3,v4,v5,v6,v7],numberOfCells=[3,3,3])
h1.add_edge(v0,v1,'line')
h1.add_face([v0,v1,v2,v3],name='inlet',patchType='wall')

string = pbm.buildBlockMesh()

print(string)
blockMeshDict = open("blockmeshdict.txt", "w")
blockMeshDict.write(string)
blockMeshDict.close()
#+END_SRC

#+RESULTS:
: None

#+BEGIN_EXAMPLE
vertices
(
(-1 -1 -1)
(1 -1 -1)
(1 1 -1)
(-1 1 -1)
(-1 -1 1)
(1 -1 1)
(1 1 1)
(-1 1 1)
)

blocks
(
hex 0 1 2 3 4 5 6 7 ( 3 3 3 )
)

edges
(
line 0 1
)

boundary
(
inlet
{
type wall;
faces
(
( 0 3 2 1 )
);
}
)
#+END_EXAMPLE



* Requirements

Package requirements are handled using pip. To install them do

#+BEGIN_SRC sh
pip install -r requirements.txt
#+END_SRC

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

pyblockMesh-0.0.3.tar.gz (5.4 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: pyblockMesh-0.0.3.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.1

File hashes

Hashes for pyblockMesh-0.0.3.tar.gz
Algorithm Hash digest
SHA256 a1f03cf1b5c662e88c5c1cb9c5b61b030ca70018b8b3b6b9a6f0b26115e0f76c
MD5 e282f1f54d04d0be091668b3928e34f3
BLAKE2b-256 bc12affac98a41e4df4400932028ee50e7b522d9080e1040babc7d65a5d972f7

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