创建并将立方体球体网格转换为非结构网格

csgrid2unstr的Python项目详细描述


https://img.shields.io/pypi/v/csgrid2unstr.svghttps://img.shields.io/pypi/l/csgrid2unstr.svg

简介

网格生成器来自here, I/O由meshio处理。

此软件包是为教育/研究目的而创建的。就我个人而言,我用这个 csgrid与 球面质心voronoi镶嵌(scvt)。

demo.png

安装

您可以通过PIP轻松安装此软件包,即

$ pip install csgrid2unstr --user

当然,您可以直接从存储库安装它:

$ git clone https://github.com/chiao45/csgrid2unstr.git
$cd csgrid2unstr && python setup.py install --user

请注意,此包取决于:

  1. numpy
  2. setuptools
  3. meshio

用法

作为可执行二进制文件

安装软件包后,打开终端并键入:

$ csgrid2unstr -h
usage: csgrid2unstr [-h] [-n SIZE] [-o OUTPUT] [-r REFINE]
                [-f {vtk,vtu,gmsh,off,exodus,xdmf,dolfin-xml,stl}] [-b]
                [-V] [-v]

write CSGrid to unstr

optional arguments:
  -h, --help            show this help message and exit
  -n SIZE, --size SIZE  Number of intervals of a square face
  -o OUTPUT, --output OUTPUT
                        Output file name, w/o extension
  -r REFINE, --refine REFINE
                        Level of refinements, default is 1
  -f {vtk,vtu,gmsh,off,exodus,xdmf,dolfin-xml,stl}, --format {vtk,vtu,gmsh,off,exodus,xdmf,dolfin-xml,stl}
                        Output file format, default is VTK
  -b, --binary          Use BINARY. Notice that this flag is ignored for
                        some formats
  -V, --verbose         Verbose output
  -v, --version         Check version

如果有command not found: csgrid2unstr,请确保csgrid2unstr是 在你的$PATH里。

必须提供两个参数,即-n--size)和-o--output)。前者是定义一个正方形的间隔数 面,即面的四边形数是n*n,后者是 提供输出文件名(,不带扩展名)。例如:

$ csgrid2unstr -n 20 -o demo

将为每个面构造400个四边形的CSGrid,并将其转换为 一个非结构化网格并将其存储在demo.vtk中。

通过添加^{tt9},可以创建一系列统一的优化网格$ (--refine)开关,例如:

$ csgrid2unstr -n 10 -r 3 -o demo -f xdmf

将构建三个CSGrid,每个面有100、400和1600个四边形, 将它们转换为三个非结构化网格并存储在demo0.xdmfdemo1.xdmf,和demo2.xdfm,分别是。

作为模块

使用csgrid2unstr作为python模块也很简单。

from__future__importprint_functionfromcsgrid2unstr.cubed_sphereimportCSGridfromcsgrid2unstr.unstrimportUnstr# create a CSGrid of 25 quads per facecs=CSGrid(5)# convert it into an unstructured meshmesh=Unstr(cs)# two attributes, points and cells, of np.ndarrayprint('Nodes {}-by-3'.format(len(mesh.points)))print(mesh.points)print('Cells {}-by-4'.format(len(mesh.cells)))print(mesh.cells)

许可证

麻省理工学院许可证

版权所有(c)2018乔晨

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java对ServiceListener和ServiceTracker调用提供了哪些排序保证?   java找不到方法格式的符号(DateTimeFormatter)?   mysql有没有一种方法可以将TCPDump输出到一个文件中,并用Java对其进行过滤,每5秒钟用新数据覆盖一次该文件?   java如何最好地配置用户上传支持文件的上传位置   java我在Android上使用OData4j,我无法获取实体   JPA实体关系简单示例中的java获取错误   JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager   Eclipse中javaoo代码分析   java MethodVisitor抛出类格式错误   java为什么在从ViewModel调用时,改型排队不起作用?   调试小程序Java控制台:删除跟踪消息大小限制   java复杂安卓活动动画   java如何在使用JDOM2解析XML时忽略注释内容   java通过循环创建文本字段   即使在bufferedwriter关闭后也未发现java文件异常   单链表恢复中的java错误