sfepy.discrete.iga.fields module¶
Fields for isogeometric analysis.
- class sfepy.discrete.iga.fields.IGField(name, dtype, shape, region, approx_order=None, **kwargs)[source]¶
Bezier extraction based NURBS approximation for isogeometric analysis.
Notes
The field has to cover the whole IGA domain. The field’s NURBS basis can have higher degree than the domain NURBS basis.
- create_eval_mesh()[source]¶
Create a mesh with the original NURBS connectivity for evaluating the field. The mesh coordinates are the NURBS control points.
- create_mesh(extra_nodes=True)[source]¶
Create a mesh corresponding to the field region. For IGA fields, this is directly the topological mesh. The extra_nodes argument is ignored.
- create_output(dofs, var_name, dof_names=None, key=None, **kwargs)[source]¶
Convert the DOFs corresponding to the field to a dictionary of output data usable by Mesh.write().
- Parameters:
- dofsarray, shape (n_nod, n_component)
The array of DOFs reshaped so that each column corresponds to one component.
- var_namestr
The variable name corresponding to dofs.
- dof_namestuple of str
The names of DOF components.
- keystr, optional
The key to be used in the output dictionary instead of the variable name.
- Returns:
- outdict
The output dictionary.
- family_name = 'volume_H1_iga'¶
- get_data_shape(integral, integration='cell', region_name=None)[source]¶
Get element data dimensions.
- Parameters:
- integralIntegral instance
The integral describing used numerical quadrature.
- integration‘cell’
The term integration type. Only ‘cell’ type is implemented.
- region_namestr
The name of the region of the integral.
- Returns:
- data_shape4 ints
The (n_el, n_qp, dim, n_en) for volume shape kind.
Notes
n_el = number of elements
n_qp = number of quadrature points per element/facet
dim = spatial dimension
n_en = number of element nodes
- get_dofs_in_region(region, merge=True)[source]¶
Return indices of DOFs that belong to the given region and group.
Notes
merge is not used.