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.initialize
(problem)Return a condensed one line str describing the object