# sfepy.discrete.iga.domain_generators module

IGA domain generators.

sfepy.discrete.iga.domain_generators.create_from_igakit(inurbs, verbose=False)

  Create `IGDomain` data from a given igakit NURBS object.

  Parameters:
    inurbs igakit.nurbs.NURBS instance

      The igakit NURBS object.

  Returns:
    nurbs NurbsPatch instance

      The NURBS data. The igakit NURBS object is stored as nurbs attribute.

    bmesh Struct instance

      The Bezier mesh data.

    regions dict

      The patch surface regions.

sfepy.discrete.iga.domain_generators.gen_patch_block_domain(dims, shape, centre, degrees, continuity=None, cp_mode='greville', name='block', verbose=True)

  Generate a single IGA patch block in 2D or 3D of given degrees and continuity using igakit.

  Parameters:
    dims array of D floats

      Dimensions of the block.

    shape array of D ints

      Numbers of unique knot values along each axis.

    centre array of D floats

      Centre of the block.

    degrees array of D floats

      NURBS degrees along each axis.

    continuity array of D ints, optional

      NURBS continuity along each axis. If None, degrees-1 is used.

    cp_mode‘greville’ or ‘uniform’

      The control points mode. The default ‘greville’ results in a uniform Bezier mesh, while the ‘uniform’ mode results in a uniform grid of control points a finer Bezier mesh inside the block and a coarser Bezier mesh near the block boundary.

    name string

      Domain name.

    verbose bool

      If True, report progress of the domain generation.

  Returns:
    nurbs NurbsPatch instance

      The NURBS data. The igakit NURBS object is stored as nurbs attribute.

    bmesh Struct instance

      The Bezier mesh data.

    regions dict

      The patch surface regions.