fedoo.MPC

class MPC(list_node_sets, list_variables, list_factors, constant=None, time_func=None, start_constant=None, name='')

Class that define multi-point constraints

__init__(list_node_sets, list_variables, list_factors, constant=None, time_func=None, start_constant=None, name='')

Create a linear multi-point constraint object To create a MPC of the equation 4*Ux_12 - 2*Uz_15 = 7 (Ux_12 is the displacement along x of the 12th node) use the following MPC:

>>> MPC([12,15], ['Disp_X', 'Disp_Z'], [4, -2], 7)
Parameters:
  • list_node_sets (list of str or list of list of int (or array)) – List of node_set names (list of str) or list of node indexes (list of list of int)

  • list_variables (list of str, or list of int) – list of variable names (list of str) or list of variable ranks (list of int)

  • list_factors (list of scalars or numpy array) – list of factor (MPC). To define several mpc at once, it is possible to give an array of factors, where each line is associated to a signe mpc.

  • constant (scalar, optional) – constant value on the MPC equation if not specified, no constant value.

  • time_func (function) –

    Function that gives the temporal evolution of the constant value. The function should be on the form:

    y=f(x) where x in [0,1] and y in [0,1]. For x, 0 denote the begining of the step and 1 the end.

  • start_constant (float, array or None (default)) – if None, the start_constant is keep to the current state. if scalar value: The start_value is the same for all dof defined in BC if array: the len of the array should be = to the number of dof defined in the BC

  • name (str, optional) – Define an name for the Boundary Conditions. Default is “”. The same name may be used for several BC.

Notes

  • To define many MPC in one operation, use array where each line define a single MPC

  • In fedoo, the mpc are applied with an elimination method. The first dof specified in list_node_sets[0] and list_variable[0] is the slave dof and will eliminated from the linear system. No other boundary conditions should be applied on this dof.

Methods

MPC.generate(problem, t_fact[, t_fact_old])

MPC.get_all()

MPC.initialize(problem)

MPC.str_condensed()

Return a condensed one line str describing the object

MPC.name