Skip to main content

The fc_meshtools package contains some simplicial meshes given by their vertices array and connectivity array

Project description

.. |gmsh_link| raw:: html

<a href="http://gmsh.info" target="_blank">gmsh</a>

.. |fc-meshtools_link| raw:: html

<a href="http://www.math.univ-paris13.fr/~cuvelier/software/fc-meshtools-Python.html" target="_blank">fc_meshtools</a>

.. |fc-oogmsh_link| raw:: html

<a href="http://www.math.univ-paris13.fr/~cuvelier/software/fc-oogmsh-Python.html" target="_blank">fc_oogmsh</a>

.. |matplotlib_link| raw:: html

<a href="https://matplotlib.org/" target="_blank">fc_meshtools</a>

.. |python_link| raw:: html

<a href="http://www.python.org" target="_blank">www.python.org</a>

.. |canopy_link| raw:: html

<a href="https://www.enthought.com/product/canopy/" target="_blank">Canopy</a>

.. |anaconda_link| raw:: html

<a href=https://www.anaconda.com" target="_blank">Anaconda</a>

.. |mayavi_link| raw:: html

<a href=http://docs.enthought.com/mayavi/mayavi/" target="_blank">Mayavi</a>

.. raw:: html

<div class="clearfix">

.. image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/pyfc-meshtools_400.png
:width: 200px
:align: left

The **fc\_meshtools** Python package contains some simplicial meshes
given by their vertices array **q** and connectivity array **me**. Theses meshes can be easily used in
other Python codes for debugging or testing purpose.

.. raw:: html

</div>

|

Introduction:
-------------

A simplicial mesh is given by its vertices array **q** and its connectivity array **me**.
For demonstration purpose, some simplicial meshes are given in this package and stored in the fc_meshtools/data directory.
They can be load by using the functions ``getMesh2D``, ``getMesh3D`` or ``getMesh3Ds``
of the ``fc_meshtools.simplicial`` module.
Here are the kind of simplicial meshes present in this package:

- a triangular mesh in dimension 2, made with 2-simplices (ie. triangles),
- a tetrahedral mesh in dimension 3, made with 3-simplices (ie. tetrahedron),
- a triangular mesh in dimension 3 (surface mesh), made with 2-simplices,
- a line mesh in dimension 2 or 3 made with 1-simplices (ie. lines).

One can go to the dedicated web page |fc-meshtools_link| for more informations.

Installation:
-------------

The **fc\_meshtools** Python package is available from the Python Package Index, so to install/upgrade simply type

.. code::

pip install fc_meshtools -U


Thereafter, it's possible to run one of the demo functions

.. code:: python

import fc_meshtools
fc_meshtools.demos.plot3D()


.. |plot3D_fig1| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot3D_fig1_Python360.png
:width: 300
:align: middle

.. |plot3D_fig2| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot3D_fig2_Python360.png
:width: 300
:align: middle

.. |plot3D_fig3| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot3D_fig3_Python360.png [
:width: 300
:align: middle

+---------------+---------------+---------------+
| |plot3D_fig1| | |plot3D_fig2| | |plot3D_fig3| |
+---------------+---------------+---------------+

.. code:: python

import fc_meshtools
fc_meshtools.demos.plot2D()


.. |plot2D_fig1| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot2D_fig1_Python360.png
:width: 300
:align: middle

.. |plot2D_fig2| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot2D_fig2_Python360.png
:width: 300
:align: middle

.. |plot2D_fig3| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot2D_fig3_Python360.png
:width: 300
:align: middle

+---------------+---------------+---------------+
| |plot2D_fig1| | |plot2D_fig2| | |plot2D_fig3| |
+---------------+---------------+---------------+

Example:
--------

There is a complete source code used to represent the function

.. math::

(x,y,z)\mapsto \cos(3x-1)\sin(2y-2)\sin(3z)

on the upper half of a sphere.

.. code:: python

import matplotlib.pyplot as plt
from fc_tools.Matplotlib import set_axes_equal
import fc_meshtools as plt4sim
from fc_meshtools.demos import getMesh3Ds
import numpy as np
q2,me2=getMesh3Ds(2)
q1,me1=getMesh3Ds(1)
f=lambda x,y,z: np.cos(3*x-1)*np.sin(2*y-2)*np.sin(3*z)
u2=f(q2[:,0],q2[:,1],q2[:,2])
u1=f(q1[:,0],q1[:,1],q1[:,2])
plt.ion()
plt.figure(1)
pp=plt4sim.plot(q2,me2,u2)
plt4sim.plotmesh(q1,me1,color='Black',linewidths=2)
plt.colorbar(pp)
plt.axis('off')
set_axes_equal()
plt.figure(2)
pp=plt4sim.plot(q1,me1,u1,linewidths=2,vmin=min(u2),vmax=max(u2))
plt4sim.plotmesh(q2,me2,color='LightGray',alpha=0.1)
plt.colorbar(pp)
plt.axis('off')
set_axes_equal()

.. |plot3Ds_fig1| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot3Ds_fig1_Python360.png
:width: 300
:align: middle

.. |plot3Ds_fig2| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-meshtools/snapshots/meshtools_plot3Ds_fig2_Python360.png
:width: 300
:align: middle

+----------------+----------------+
| |plot3Ds_fig1| | |plot3Ds_fig2| |
+----------------+----------------+

Project details


Download files

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

Files for fc-meshtools, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size fc_meshtools-0.1.0.tar.gz (672.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page