sfepy.discrete.iga.domain_generators module

IGA domain generators.

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

Create IGDomain data from a given igakit NURBS object.

Parameters:
inurbsigakit.nurbs.NURBS instance

The igakit NURBS object.

Returns:
nurbsNurbsPatch instance

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

bmeshStruct instance

The Bezier mesh data.

regionsdict

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)[source]

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

Parameters:
dimsarray of D floats

Dimensions of the block.

shapearray of D ints

Numbers of unique knot values along each axis.

centrearray of D floats

Centre of the block.

degreesarray of D floats

NURBS degrees along each axis.

continuityarray 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.

namestring

Domain name.

verbosebool

If True, report progress of the domain generation.

Returns:
nurbsNurbsPatch instance

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

bmeshStruct instance

The Bezier mesh data.

regionsdict

The patch surface regions.