ngsPETSc.utils.firedrake.hierarchies

This module contains all the functions related

Attributes

fd

refinementTypes

Functions

snapToNetgenDMPlex(ngmesh, petscPlex)

This function snaps the coordinates of a DMPlex mesh to the coordinates of a Netgen mesh.

snapToCoarse(coarse, linear, degree, snap_smoothing, cg)

This function snaps the coordinates of a DMPlex mesh to the coordinates of a Netgen mesh.

uniformRefinementRoutine(ngmesh, cdm)

Routing called inside of NetgenHierarchy to compute refined ngmesh and plex.

uniformMapRoutine(meshes)

This function computes the coarse to fine and fine to coarse maps

alfeldRefinementRoutine(ngmesh, cdm)

Routing called inside of NetgenHierarchy to compute refined ngmesh and plex.

alfeldMapRoutine(meshes)

This function computes the coarse to fine and fine to coarse maps

NetgenHierarchy(mesh, levs, flags)

This function creates a Firedrake mesh hierarchy from Netgen/NGSolve meshes.

Module Contents

ngsPETSc.utils.firedrake.hierarchies.fd = None
ngsPETSc.utils.firedrake.hierarchies.snapToNetgenDMPlex(ngmesh, petscPlex)

This function snaps the coordinates of a DMPlex mesh to the coordinates of a Netgen mesh.

ngsPETSc.utils.firedrake.hierarchies.snapToCoarse(coarse, linear, degree, snap_smoothing, cg)

This function snaps the coordinates of a DMPlex mesh to the coordinates of a Netgen mesh.

ngsPETSc.utils.firedrake.hierarchies.uniformRefinementRoutine(ngmesh, cdm)

Routing called inside of NetgenHierarchy to compute refined ngmesh and plex.

ngsPETSc.utils.firedrake.hierarchies.uniformMapRoutine(meshes)

This function computes the coarse to fine and fine to coarse maps for a uniform mesh hierarchy.

ngsPETSc.utils.firedrake.hierarchies.alfeldRefinementRoutine(ngmesh, cdm)

Routing called inside of NetgenHierarchy to compute refined ngmesh and plex.

ngsPETSc.utils.firedrake.hierarchies.alfeldMapRoutine(meshes)

This function computes the coarse to fine and fine to coarse maps for a alfeld mesh hierarchy.

ngsPETSc.utils.firedrake.hierarchies.refinementTypes
ngsPETSc.utils.firedrake.hierarchies.NetgenHierarchy(mesh, levs, flags)

This function creates a Firedrake mesh hierarchy from Netgen/NGSolve meshes.

Parameters:
  • mesh – the Netgen/NGSolve mesh

  • levs – the number of levels in the hierarchy

  • netgen_flags – either a bool or a dictionray containing options for Netgen.

If not False the hierachy is constructed using ngsPETSc, if None hierarchy constructed in a standard manner. Netgen flags includes:

-degree, either an integer denoting the degree of curvature of all levels of the mesh or a list of levs+1 integers denoting the degree of curvature of each level of the mesh. -tol, geometric tolerance adopted in snapToNetgenDMPlex. -refinement_type, the refinment type to be used: uniform (default), Alfeld