Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

spatially varying displacement boundary condition

Status
Not open for further replies.

pjuneja

Bioengineer
Jul 25, 2012
31
GB
Hi

I would like to define displacement of nodes as BC or in other words I want to create spatially varying displacement boundary condition.

For this can I use analytical field? The probelm I see with analytical field is that the after I give the coordinates of node (X,Y,Z) I onylhave option to enter one feild value while the the displacement BC for any point (node) has 3 displacement values (U1,U2,U3).

Please can anyone guide to create spatially varying displacement boundary condition.

Thanks
Prab
 
Replies continue below

Recommended for you

There is an example in the Analytical Dialog box (Expression field): 2.4*X+pow(Y,3)

This translates in to linear variation along X direction and cubic variation in Y direction, where X and Y are axes of a global or local coordinate system. The other option is to use the Mapped field, if you have the point cloud data.

 
Thanks. Earlier I might not have explained very well.

I want to use discrete set of displacements for individual nodes, therefore I looked into mapped fields. The problem I see there is that the after I give the coordinates of node (X,Y,Z) I onyl have option to enter one feild value while the displacement BC for any point (node) has 3 displacement values (U1,U2,U3). How to input these values.
 
Use the DISP subroutine, it's the easiest subroutine there is, so also a good intro into using subroutines :).
 
Thanks sdebock, I have never used user subroutine in ABAQUS before, am looking on the DISP subroutine example from verification manual.

I don't quite understand, how to use it for my case. I have, an array with original coordinated of the nodes (U1, U2, U3) and another array with corresponding displacements (delta_U1, delta_U2, delta_U3) that I want to apply as BC. I am not sure how to program these displacements into subroutine.

Any suggestions?
 
lets look at the disp subroutine:

Variable to be defined

U(1)

(your delta)

Variables passed in for information
TIME(1)
Current value of step time.
JDOF
Degree of freedom.
COORDS
An array containing the current coordinates of this point.

So, you get the COORDS array from abaqus
you search in your list with coordinates the corresponding delta you want (just for loop over them and use if to get the right one)
use JDOF to check if you need delta1 2 or 3
You multiply your final delta with TIME to get the delta at that timestep.

set U(1) to this value

finished!
 
Thank you sdebock, I understand it much better. I think its just the syntax I have to stuggle with now.

This is what I have comeup as:

SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(1),COORDS(3)

C delta_U array stores the node numbers (21 nodes here) and the corresponding displacement required for the BC (X,Y,Z)

delta_U = [43 0.00 0.00 0.07; 46 0.00 0.00 0.06; 48 0.00 0.00 0.04;
49 0.00 0.00 0.06; 50 0.00 0.00 0.07; 52 0.00 0.00 0.04;
53 0.00 0.00 0.06; 54 0.00 0.00 0.04; 55 0.00 0.00 0.05;
57 0.00 0.00 0.04; 58 0.00 0.00 0.05; 59 0.00 0.00 0.07;
61 0.00 0.00 0.04; 62 0.00 0.00 0.06; 63 0.00 0.00 0.05;
68 0.00 0.00 0.05; 69 0.00 0.00 0.07; 72 0.00 0.00 0.06;
78 0.00 0.00 0.07; 85 0.00 0.00 0.07; 89 0.00 0.00 0.08]


FOR i =1:1:21
IF(NODE.EQ.delta_U.AND.JDOF.EQ.1) THEN
C THE FUNCTION IS DISPLACEMENT FOR NODE and X direction
U(1)=COORDS-delta_U[i,2]*TIME(1)
IF(NODE.EQ.delta_U.AND.JDOF.EQ.2) THEN
C THE FUNCTION IS DISPLACEMENT FOR NODE and Y direction
U(1)=COORDS-delta_U[i,3]*TIME(1)
IF(NODE.EQ.delta_U.AND.JDOF.EQ.3) THEN
C THE FUNCTION IS DISPLACEMENT FOR NODE and Z direction
U(1)=COORDS-delta_U[i,4]*TIME(1)
ENDIF
RETURN
END
END

What do you think?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top