***global_bifurcation#

Description#

This procedure and its options define the rate boundary value problems for which the Hill’s uniqueness criterion (uniqueness in terms of velocity fields) is performed [U5]. For elastic material in a finite deformation framework this also informs on the equilibrium’s stability.

The standard bifurcation analysis consists in the evaluation of the smallest eigenvalues of the global stiffness matrix after kinematic conditions (like Dirichlet BCs and/or MPCs) are taken into account. It may capture buckling, necking or localization. When the smallest eigenvalue becomes negative, it is known that a bifurcation point has been bypassed.

In a more general way, the uniqueness of various rate boundary value problems can be analyzed thanks to this tool. This is the concept of “weakened stability analysis” and “weakened problem” introduced in [Ph.D. thesis - AL KOTOB 2019]. This approach relies the eigen value analysis of the global stiffness matrix after apply a given set of \(\left\{DBC\right\}\) (Dirichlet Boundary Conditions) that differ from the incremental problem’s \(\left\{DBC\right\}\). This may be useful to analyze the uniqueness of the response of a single member in a contact problem.

The equation to solve for each rate boundary value problem is given by:

(85)#\[\left(\left[ K^{\left\{DBC\right\}} \right] - \lambda\left[I\right]\right)\left\{X\right\}=\left\{0\right\}\]

where \(\left[ K^{\left\{DBC\right\}} \right]\) is the global tangent matrix modified by the set of Dirichlet Boundary Conditions \(\left\{DBC\right\}\).

The eigenvalues are outputed in the problem.msg file during the computation and in the problem-CASENAME.eigen file if the option is specified. The eigen vectors associated to the smallest eigenvalues are saved in the problem.node file if the option is specified.

To visualize these modes as displacement field use the global parameter Zmaster.deformed_by_Ufields 1 (default value is 0).

Syntax#

***global_bifurcation [ **stop_if_unstable [num_case nb_incr] ] [ **standard [n_mode n_subspace] ] [ \(~\,\) **change_bcs [max_number_of_cases] \(~\,~\,\) *file_for_bcs BC_FILE_NAME`` \(~\,~\,\) *case [n_mode n_subspace] \(~\,~\,\) [ read_bcs bc_n1 bc_n2`` …] \(~\,~\,\) [ read_mpc mpc_n1 mpc_n2 …] \(~\,\) [ *case [n_mode n_subspace] \(~\,~\,\) [ read_bcs bc_n1 bc_n2 …] \(~\,~\,\) [ read_mpc mpc_n1 mpc_n2 …] … ] ] [ ***output \(~\,\) **extra global_bifurcation[_2D] ]

**stop_if_unstable

option indicates that the incremental problem should be interrupted if the smallest eigenvalue of the num_case rate boundary value problem is negative for nb_incr consecutive increments. Default is: num_case\(=1\) and nb_incr\(=1\) (which means as soon a one eigenvalue becomes negative for the first rate boundary value problem specified). Note that num_case refers to the order in which the rate boundary value prblems were declared. This option can be declared multiple times to set various interruption counters for the different rate boundary value problems.

**standard

this command indicates that the rate boundary value problem to analyze is the one specified in the incremental problem. If only **global_bifurcation is specified, this option is activated by default. n_mode and n_subspace are respectively the number of eigenvalues to compute and the number of vectors to build the subspace for the eigenvalue extraction. Default is n_mode\(=10\) and n_subspace\(=4*\)n_mode. n_mode must be specified if one wants to specify n_subspace.

**change_bcs

indicates that the rate boundary value problem is to be given by bcs other than the ones used for the incremental problem. If this option is activated, then the *standard option must be specified if one needs to run the standard analysis too.

****calcul
  ...
 ***bc % bcs specified to solve incremental problem
 ...
 ***equation  % mpc specified to solve incremental problem
 ...
 ...
 ***global_bifurcation
  **stop_if_unstable 1 2
  **stop_if_unstable 3 1
  **standard 2 20
  **change_bcs
   *file_for_bcs bifurcation.bcs
   *case 2 20
   read_bcs 1

   *case 2  20
   read_bcs 2
   read_mpc 2

 ***output
  **extra global_bifurcation
****return

/in file bifurcation.bcs/
***bc
 **impose_nodal_dof
    top U1 0.
    top U2 0.
    top U3 0.
***return

***bc
 **impose_nodal_dof
    bottom U1 0.
    bottom U2 0.
    bottom U3 0.
***return

***equation
  **mpc1 top U1
***return

***equation
  **mpc1 top U2
***return

***equation
  **mpc1 top U3
***return