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.