# esys.dudley Package

A domain meshed with triangles or tetrahedra only. Imports submodules into its namespace

## Classes

- `DudleyDomain`
- `GMSHDesign`

class `esys.dudley.``DudleyDomain`

  Bases: `esys.escriptcore.escriptcpp.ContinuousDomain`

  A concrete class representing a dudley domain. For more details, please consult the C++ documentation.

  `__init__`((object)arg1, (DudleyDomain)arg2) → None
  `MPIBarrier`((DudleyDomain)arg1) → None :

    Wait until all processes have reached this point

  `addPDEToLumpedSystem`((DudleyDomain)arg1, (Data)arg2, (Data)arg3, (Data)mat, (Data)D, (bool)d) → None :

    adds a PDE onto the lumped stiffness matrix

    Parameters:

    - mat (`Data`) –
    - D (`Data`) –
    - d (`Data`) –
    - useHRZ (bool) –

  `addPDEToRHS`((DudleyDomain)arg1, (Data)arg2, (Data)rhs, (Data)X, (Data)Y, (Data)y, (Data)y_contact) → None :

    adds a PDE onto the stiffness matrix mat and a rhs

    Parameters:

    - rhs (`Data`) –
    - X (`Data`) –
    - Y (`Data`) –
    - y (`Data`) –
    - y_contact (`Data`) –

  `addPDEToSystem`((DudleyDomain)arg1, (Operator)arg2, (Data)arg3, (Data)mat, (Data)rhs, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact) → None :

    adds a PDE onto the stiffness matrix mat and a rhs

    Parameters:

    - mat (`OperatorAdapter`) –
    - rhs (`Data`) –
    - A (`Data`) –
    - B (`Data`) –
    - C (`Data`) –
    - D (`Data`) –
    - X (`Data`) –
    - Y (`Data`) –
    - d (`Data`) –
    - d_contact (`Data`) –
    - y_contact (`Data`) –

  `addPDEToTransportProblem`((DudleyDomain)arg1, (TransportProblem)arg2, (Data)arg3, (Data)tp, (Data)source, (Data)M, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact) → None :

    Parameters:

    - tp (`AbstractTransportProblem`) –
    - source (`Data`) –
    - M (`Data`) –
    - A (`Data`) –
    - B (`Data`) –
    - C (`Data`) –
    - D (`Data`) –
    - X (`Data`) –
    - Y (`Data`) –
    - d (`Data`) –
    - y (`Data`) –
    - d_contact (`Data`) –
    - y_contact (`Data`) –

  `dump`((DudleyDomain)arg1, (str)fileName) → None :

    dumps the mesh to a file with the given name.

  `getDataShape`((DudleyDomain)arg1, (int)functionSpaceCode) → object :

    Returns: | a pair (dps, ns) where dps=the number of data points per sample, and ns=the number of samples
    Return type: | `tuple`

  `getDescription`((DudleyDomain)arg1) → str :

    Returns: | a description for this domain
    Return type: | `string`

  `getDim`((DudleyDomain)arg1) → int :

    Return type: | `int`

  `getMPIRank`((DudleyDomain)arg1) → int :

    Returns: | the rank of this process
    Return type: | `int`

  `getMPISize`((DudleyDomain)arg1) → int :

    Returns: | the number of processes used for this `Domain`
    Return type: | `int`

  `getNormal`((DudleyDomain)arg1) → Data :

    Returns: | boundary normals at the quadrature point on the face elements
    Return type: | `Data`

  `getNumDataPointsGlobal`((DudleyDomain)arg1) → int :

    Returns: | the number of data points summed across all MPI processes
    Return type: | `int`

  `getSize`((DudleyDomain)arg1) → Data :

    Returns: | the element size
    Return type: | `Data`

  `getStatus`((Domain)arg1) → int :

    The status of a domain changes whenever the domain is modified

    Return type: | int

  `getSystemMatrixTypeId`((DudleyDomain)arg1, (object)options) → int :

    Returns: | the identifier of the matrix type to be used for the global stiffness matrix when particular solver options are used.
    Return type: | `int`
    Parameters: | options (`SolverBuddy`) –

  `getTag`((DudleyDomain)arg1, (str)name) → int :

    Returns: | tag id for `name`
    Return type: | `string`

  `getTransportTypeId`((DudleyDomain)arg1, (int)solver, (int)preconditioner, (int)package, (bool)symmetry) → int :

    Returns: | the identifier of the transport problem type to be used when a particular solver, preconditioner, package and symmetric matrix is used.
    Return type: | `int`

    Parameters:

    - solver (`int`) –
    - preconditioner (`int`) –
    - package (`int`) –
    - symmetry (`int`) –

  `getX`((DudleyDomain)arg1) → Data :

    Returns: | locations in the FEM nodes
    Return type: | `Data`

  `isValidTagName`((DudleyDomain)arg1, (str)name) → bool :

    Returns: | True is `name` corresponds to a tag
    Return type: | `bool`

  `newOperator`((DudleyDomain)arg1, (int)row_blocksize, (FunctionSpace)row_functionspace, (int)column_blocksize, (FunctionSpace)column_functionspace, (int)type) → Operator :

    creates a stiffness matrix and initializes it with zeros

    Parameters:

    - row_blocksize (`int`) –
    - row_functionspace (`FunctionSpace`) –
    - column_blocksize (`int`) –
    - column_functionspace (`FunctionSpace`) –
    - type (`int`) –

  `newTransportProblem`((DudleyDomain)theta, (int)blocksize, (FunctionSpace)functionspace, (int)type) → TransportProblem :

    creates a TransportProblem

    Parameters:

    - theta (`float`) –
    - blocksize (`int`) –
    - functionspace (`FunctionSpace`) –
    - type (`int`) –

  `onMasterProcessor`((DudleyDomain)arg1) → bool :

    Returns: | True if this code is executing on the master process
    Return type: | `bool`

  `print_mesh_info`((DudleyDomain)arg1[, (bool)full=False]) → None :

    Parameters: | full (`bool`) –

  `setTagMap`((DudleyDomain)arg1, (str)name, (int)tag) → None :

    Give a tag number a name.

    Parameters:

    - name (`string`) – Name for the tag
    - tag (`int`) – numeric id

    Note: | Tag names must be unique within a domain

  `setX`((DudleyDomain)arg1, (Data)arg) → None :

    assigns new location to the domain

    Parameters: | arg (`Data`) –

  `showTagNames`((DudleyDomain)arg1) → str :

    Returns: | A space separated list of tag names
    Return type: | `string`

  `supportsContactElements`((Domain)arg1) → bool :

    Does this domain support contact elements.

  `write`((DudleyDomain)arg1, (str)filename) → None :

    Write the current mesh to a file with the given name.

`esys.dudley.``GMSHDesign`

  alias of `Design`

## Functions

`esys.dudley.``Brick`(n0=1, n1=1, n2=1, order=1, l0=1.0, l1=1.0, l2=1.0, periodic0=False, periodic1=False, periodic2=False, integrationOrder=-1, reducedIntegrationOrder=-1, useElementsOnFace=False, useFullElementOrder=False, optimize=False, **kwargs)

  __Brick_driver( (list)args) -> Domain

`esys.dudley.``LoadMesh`([(str)fileName='file.nc']) → Domain :

  Return type: | `DudleyDomain`

`esys.dudley.``MakeDomain`(design, integrationOrder=-1, reducedIntegrationOrder=-1, optimizeLabeling=True, useMacroElements=False)

  Creates a Dudley `Domain` from a `esys.pycad.design.Design` object. Currently only gmsh is supported.

  Parameters:

  - design (`esys.pycad.design.Design`) – the geometry
  - integrationOrder (`int`) – integration order. If -1 the default is used.
  - reducedIntegrationOrder (`int`) – reduced integration order. If -1 the default is used.
  - optimizeLabeling (`bool`) – if set the labeling of the mesh nodes is optimized
  - useMacroElements (`bool`) – for compatibility with finley. Must be False

  Returns: | the Dudley domain defined by the design
  Return type: | `Domain`

`esys.dudley.``ReadGmsh`((str)fileName='file.msh', (int)numDim[, (int)integrationOrder=-1[, (int)reducedIntegrationOrder=-1[, (bool)optimize=True]]]) → Domain :

  Read a gmsh mesh file

  Return type: | `Domain`

  Parameters:

  - fileName (`string`) –
  - integrationOrder (`int`) – order of the quadrature scheme. Always 2.
  - reducedIntegrationOrder – order of reduced quadrature scheme. Always 0.
  - optimize (`bool`) – Enable optimisation of node labels

`esys.dudley.``ReadMesh`([(str)fileName='file.fly'[, (int)integrationOrder=-1[, (int)reducedIntegrationOrder=-1[, (bool)optimize=True]]]]) → Domain :

  Read a mesh from a fly file. For MPI parallel runs fan out the mesh to multiple processes.

  Return type: | `Domain`

  Parameters:

  - fileName (`string`) –
  - integrationOrder (`int`) – order of the quadrature scheme. Ignored.
  - reducedIntegrationOrder – order of reduced quadrature scheme. Ignored.
  - optimize (`bool`) – Enable optimisation of node labels

`esys.dudley.``Rectangle`(n0=1, n1=1, order=1, l0=1.0, l1=1.0, periodic0=False, periodic1=False, integrationOrder=-1, reducedIntegrationOrder=-1, useElementsOnFace=False, useFullElementOrder=False, optimize=False, **kwargs)

  __Rectangle_driver( (list)args) -> Domain

## Others

- __builtins__
- __copyright__
- __doc__
- __file__
- __license__
- __name__
- __nodocorecursion
- __package__
- __path__
- __url__
- division
- print_function