Author Topic: Displacement BC on nodes  (Read 3889 times)

K.Li

  • Full Member
  • ***
  • Posts: 191
Displacement BC on nodes
« on: July 18, 2019, 01:36:28 PM »
Hi, Prof. Taylor and FEAP users:

I would like to know if it is possible to impose the following two kinds of BCs on nodes in a 3D analysis,

(1) set the displacement of node A in one coordinate axis equal to that of node B

(2) set the distance between node D and C along one coordinate axis equal to the distance of node E and node C


Thanks! I am using FEAP 8.5.

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: Displacement BC on nodes
« Reply #1 on: July 18, 2019, 02:35:11 PM »
(1) set the displacement of node A in one coordinate axis equal to that of node B

Is this: u_A = u_B?  If so does the LINK command do what you want?  Or do you want all the nodes on the axis to have the same displacement -- LINK should be able to this also.

(2) set the distance between node D and C along one coordinate axis equal to the distance of node E and
node C

Is this: X_d + u_d - X_c - u_c = X_e + u_e - X_c - u_c  ?   Here X_d are reference coordinate values.

I do not think there is any way to currently do this.  We have not implemented multi-point constraints.  One way is to write it as an element using Lagrange multipliers and element variables.  Using Pardiso the equations should solve.  Feap vers 8.5 should be able to handle single such constraints   

JStorm

  • Sr. Member
  • ****
  • Posts: 250
Re: Displacement BC on nodes
« Reply #2 on: July 18, 2019, 11:25:54 PM »
I have send an implementation of linear multi-point constraints via the very efficient elimination (condensation) method to FEAP last year. It affects several kernel parts of FEAP, e.g. size, profile an optimisation of the stiffness matrix, and the assembling process. If there is a demand for multi-point constraints, maybe Prof. Govindjee and Prof. Taylor could consider this approach to become an optional package of official FEAP.

Lagrangian multipliers are far more expansive and no option in case of many constraints, e.g. for periodic BCs at large models.

K.Li

  • Full Member
  • ***
  • Posts: 191
Re: Displacement BC on nodes
« Reply #3 on: July 19, 2019, 12:31:40 AM »
Thank you for the information, Prof. Taylor! I forgot about the "link". I think it should work for (1).

For (2), I am looking for a multi-point constraint like the one in Abaqus:

https://abaqus-docs.mit.edu/2017/English/SIMACAECSTRefMap/simacst-c-equation.htm

To JStorm: are you able to share your implementation of the linear multi-point constraint?

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: Displacement BC on nodes
« Reply #4 on: July 19, 2019, 07:28:46 AM »
If  you do not have very many constraints you can use a Lagrange multiplier form to impose in ver8.5.  You would use "element equations" (nlm) for the multiplier and code an element that inputs the parameters and sets the equations.  If you have many constraints this would not be viable. The constraint is

Pi = lambda *( equation of constraint)

and you code as shown in the programmer manual for a residual and tangent.  The input could be very much like the Abaqus.  You would need "ELEM" to define each constraint "element".