ngsPETSc.plex
This module contains all the functions related to wrapping NGSolve meshes to PETSc DMPlex using the petsc4py interface.
Attributes
Classes
dummy class |
|
A mapping between a Netgen/NGSolve mesh and a PETSc DMPlex |
Functions
|
Return a numpy.array with the vertices of each simplex in the plex |
|
Add simplices to a Netgen mesh |
|
Create a Netgen mesh from the local part of a PETSc DMPlex |
|
Create a PETSc DMPlex from a Netgen/NGSolve mesh object |
Module Contents
- ngsPETSc.plex.FACE_SETS_LABEL = 'Face Sets'
- ngsPETSc.plex.CELL_SETS_LABEL = 'Cell Sets'
- ngsPETSc.plex.EDGE_SETS_LABEL = 'Edge Sets'
- class ngsPETSc.plex.MeshMapping(mesh, comm=None, geo=None, name='Default')
A mapping between a Netgen/NGSolve mesh and a PETSc DMPlex
- Parameters:
mesh – the source mesh, either a Netgen/NGSolve mesh or a PETSc DMPlex
comm – an optional MPI.Comm
geo – the underlying Netgen geometry, ignored if mesh is a Netgen mesh
name – the name of to be assigned to the PETSc DMPlex, by default this is set to “Default”
- petscPlex
- ngMesh
- comm = None
- geo
- geoInfo
- ngsPETSc.plex.buildSimplices(plex, points=None)
Return a numpy.array with the vertices of each simplex in the plex
- Parameters:
plex – PETSc DMPlex
points – iterable of DMPlex points (must be of the same dimension)
- ngsPETSc.plex.addSimplices(ngMesh, dim, index, data, project_geometry, isoccgeom, edgenr_mapping)
Add simplices to a Netgen mesh
- Parameters:
ngMesh – the Netgen Mesh
dim – the simplex dimension
index – the region index
data – a numpy.array with the vertices of each simplex
- Project_geometry:
whether to project points to the geometry
- Isoccgeom:
whether we have an OCCGeometry, required to decide index conventions
- Edgenr_mapping:
a dict mapping from region index to edgenr
- ngsPETSc.plex.createNetgenMesh(plex, geo)
Create a Netgen mesh from the local part of a PETSc DMPlex
- Parameters:
plex – the PETSc DMPlex to be converted in NGSolve mesh object
geo – Netgen geometry or Netgen mesh to extract geometry from
- ngsPETSc.plex.createPETScDMPlex(ngMesh, comm, name)
Create a PETSc DMPlex from a Netgen/NGSolve mesh object
- Parameters:
ngMesh – the serial Netgen mesh object to be converted
comm – the MPI.Comm object
- Returns:
a tuple of Netgen mesh and DMPlex