ngsPETSc.utils.fenicsx
======================

.. py:module:: ngsPETSc.utils.fenicsx

.. autoapi-nested-parse::

   This module contains all the functions related to wrapping NGSolve meshes to FEniCSx
   We adopt the same docstring conventiona as the FEniCSx project, since this part of
   the package will only be used in combination with FEniCSx.



Attributes
----------

.. autoapisummary::

   ngsPETSc.utils.fenicsx._ngs_to_cells


Classes
-------

.. autoapisummary::

   ngsPETSc.utils.fenicsx.GeometricModel


Module Contents
---------------

.. py:data:: _ngs_to_cells

.. py:class:: GeometricModel(geo, comm: mpi4py.MPI.Comm)

   This class is used to wrap a Netgen geometric model to a DOLFINx mesh.
   Args:
           geo: The Netgen model
           comm: The MPI communicator to use for mesh creation


   .. py:attribute:: geo


   .. py:attribute:: comm


   .. py:method:: model_to_mesh(hmax: float, gdim: int = 2, partitioner: Callable[[mpi4py.MPI.Comm, int, int, dolfinx.cpp.graph.AdjacencyList_int32], dolfinx.cpp.graph.AdjacencyList_int32] = dolfinx.mesh.create_cell_partitioner(dolfinx.mesh.GhostMode.none), transform: Any = None, routine: Any = None) -> dolfinx.mesh.Mesh

      Given a NetGen model, take all physical entities of the highest
      topological dimension and create the corresponding DOLFINx mesh.

      This function only works in serial, at the moment.

      Args:
          hmax: The maximum diameter of the elements in the triangulation
          model: The NetGen model
          gdim: Geometrical dimension of the mesh
          partitioner: Function that computes the parallel
              distribution of cells across MPI ranks
          transform: PETSc DMPLEX Transformation to be applied to the mesh
          routine: Function to be applied to the mesh after generation
              takes as plan the mesh and the NetGen model and returns the
              same objects after the routine has been applied.

      Returns:
          A DOLFINx mesh for the given NetGen model.



