sfepy.discrete.common.dof_info module¶
Classes holding information on global DOFs and mapping of all DOFs  equations (active DOFs).
Helper functions for the equation mapping.

class
sfepy.discrete.common.dof_info.
DofInfo
(name)[source]¶ Global DOF information, i.e. ordering of DOFs of the state (unknown) variables in the global state vector.

append_raw
(self, name, n_dof)[source]¶ Append raw DOFs.
 Parameters
 namestr
The name of variable the DOFs correspond to.
 n_dofint
The number of DOFs.

append_variable
(self, var, active=False)[source]¶ Append DOFs of the given variable.
 Parameters
 varVariable instance
The variable to append.
 activebool, optional
When True, only active (nonconstrained) DOFs are considered.

get_info
(self, var_name)[source]¶ Return information on DOFs of the given variable.
 Parameters
 var_namestr
The name of the variable.


class
sfepy.discrete.common.dof_info.
EquationMap
(name, dof_names, var_di)[source]¶ Map all DOFs to equations for active DOFs.

get_operator
(self)[source]¶ Get the matrix operator corresponding to the equation mapping, such that the restricted matrix can be obtained from the full matrix by . All the matrices are w.r.t. a single variables that uses this mapping.
 Returns
 mtxcoo_matrix
The matrix .

map_equations
(self, bcs, field, ts, functions, problem=None, warn=False)[source]¶ Create the mapping of active DOFs from/to all DOFs.
 Parameters
 bcsConditions instance
The Dirichlet or periodic boundary conditions (single condition instances). The dof names in the conditions must already be canonized.
 fieldField instance
The field of the variable holding the DOFs.
 tsTimeStepper instance
The time stepper.
 functionsFunctions instance
The registered functions.
 problemProblem instance, optional
The problem that can be passed to user functions as a context.
 warnbool, optional
If True, warn about BC on nonexistent nodes.
 Returns
 active_bcsset
The set of boundary conditions active in the current time.
Notes
Periodic bc: master and slave DOFs must belong to the same field (variables can differ, though).


sfepy.discrete.common.dof_info.
expand_nodes_to_dofs
(nods, n_dof_per_node)[source]¶ Expand DOF node indices into DOFs given a constant number of DOFs per node.

sfepy.discrete.common.dof_info.
expand_nodes_to_equations
(nods, dof_names, all_dof_names)[source]¶ Expand vector of node indices to equations (DOF indices) based on the DOFpernode count.
DOF names must be already canonized.
 Returns
 eqarray
The equations/DOF indices in the nodebynode order.