Code Monkey home page Code Monkey logo

pymmg's Introduction

pymmg - Surface and volume remeshers

Build

Bringing MMG surface and volume remeshers to Python. This package is a wrapper around the MMG tools

Features

Installation

pip install pymmg

NOTE: you can use the full-blown pymmg converter with netcdf4 and h5py by doing: pip install pymmg[all]

Usage

Surface remeshing

mmgs input.mesh output.mesh

Volume remeshing

mmg3d input.mesh output.mesh

2D remeshing

mmg2d input.mesh output.mesh

pymmg's People

Contributors

dependabot[bot] avatar gnikit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pymmg's Issues

Create documentation webpage

I should create a documentation webpage + some realistic examples of the package and usage with other common packages like trimesh, gmsh, etc.

build: fetch scotch & VTK

download and install scotch when doing an SKBUILD.
Maybe fetch VTK as a build dependency in pyproject.toml?

feat: use binary MEDIT for temporary file

Currently we use the ascii version of the MEDIT file format (.mesh) while doing a file conversion. The reason being that somewhere in the conversion process, either meshio or mmg are not able to read meshb. Investigate this issue further and fix.

build: add option to set tag at config time

Use a cmake option to pull a specific tag from mmg.
This tag should then be overwritten by the GitHub release event to create the wheels.

Also I need to setup the pypi wheels upload.

feat: allow multiple file formats for input/output

We can use meshio to handle and natively convert between multiple file formats.
The main issue I see is handling all CLI options e.g.

  • mmgs filename.ext produces filename.o.ext
  • mmgs -in filename.ext, produces filename.o.ext
  • mmgs filename.ext output.ext
  • mmgs filename.ext -out output.ext
  • mmgs -in filename.ext -out output.ext

The other thing that needs to be decided is whether the VTK and Gmsh file-formats will be natively supported or we will be converting them to meshb (binary medit) with meshio.

For VTK I am in favour of native support (since we will be compiling and linking to libVTK) but for Gmsh I think it would be better if we used meshio. What we might be missing is passing custom fields as metadata in the Gmsh file format.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.