×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

DISP SUBROUTINE does nothing!
2

DISP SUBROUTINE does nothing!

DISP SUBROUTINE does nothing!

(OP)
Hi everybody!

I would like to use the DISP subroutine to impose displacements in some nodes. Since I am new with this subroutine I am trying with a simple experiment....


      SUBROUTINE  DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION U(3),TIME(2),COORDS(3)
C
      PRINT*,'----the program goes past this point-----'
      IF(NODE.EQ.10.AND.JDOF.EQ.1)  THEN
      U(1)=2
      ENDIF
      RETURN
      END


.... but it simply does not work. It does not even write the  '----the program goes past this point-----' line. Any ideas about what I'm missing?

Thank you!

 

RE: DISP SUBROUTINE does nothing!

Hi

It looks like the subroutine is not called by Abaqus during calculation.
Do you have "USER" option set for *BOUNDARY keyword?

Regards,
Bartosz

RE: DISP SUBROUTINE does nothing!

(OP)
Hi akabarten!
Thank you for you answer
I have *BOUNDARY, USER in my input file but it does no work. I have also tried

*BOUNDARY, USER
10,1,1

but it does not work either. Any ideas?

Thank you all!

Regards

 

RE: DISP SUBROUTINE does nothing!

Hi,

I have got one more idea.
You mentioned the message under PRINT statement is not print at all.
Do you run analysis with "interactive" option to sent all abaqus message to a console?

Could you post your subrotine and inputdeck, please?

Regards,
Bartosz

RE: DISP SUBROUTINE does nothing!

(OP)
Hi,

when I use other subroutines i get this messages in my .log file. Here is my input file


*Heading
** Job name: P1 Model name: Model-1
** Generated by: Abaqus/CAE 6.9-1
*Preprint, echo=NO, model=NO, history=NO, contact=NO
**
** PARTS
**
*Part, name=Part-1
*End Part
**  
**
** ASSEMBLY
**
*Assembly, name=Assembly
**  
*Instance, name=Part-1-1, part=Part-1
*Node
      1,         250.,         250.
      2,        -250.,         250.
      3,        -250.,        -250.
      4,         250.,        -250.
      5,         150.,         250.
      6,          50.,         250.
      7,         -50.,         250.
      8,        -150.,         250.
      9,        -250.,         150.
     10,        -250.,          50.
     11,        -250.,         -50.
     12,        -250.,        -150.
     13,        -150.,        -250.
     14,         -50.,        -250.
     15,          50.,        -250.
     16,         150.,        -250.
     17,         250.,        -150.
     18,         250.,         -50.
     19,         250.,          50.
     20,         250.,         150.
     21,   149.841141,  -50.4932442
     22,   49.8204613,   150.103104
     23,  -49.9058075,   150.056396
     24,  -149.659592,  -150.633453
     25,  -49.7323875,  -150.778061
     26,    149.78331,    150.00351
     27,  -149.547684,   49.7620125
     28,  -149.616501,  -50.4850159
     29,  -49.6826248,  -50.7036057
     30,   150.066208,  -150.457352
     31,   149.763687,    49.880291
     32,   50.0062866,   49.7244682
     33,   50.1059875,  -50.6545715
     34,  -49.7329483,   49.7550774
     35,  -149.766846,   150.030121
     36,   50.1085968,    -150.5383
*Element, type=CPS4R
 1, 31, 21, 18, 19
 2, 18, 21, 30, 17
 3, 36, 33, 29, 25
 4, 23, 22,  6,  7
 5, 10, 27, 35,  9
 6,  2,  9, 35,  8
 7, 23, 35, 27, 34
 8, 29, 28, 24, 25
 9, 13, 24, 12,  3
10, 14, 25, 24, 13
11,  4, 17, 30, 16
12, 31, 26, 22, 32
13,  6, 22, 26,  5
14, 20,  1,  5, 26
15, 23,  7,  8, 35
16, 21, 33, 36, 30
17, 28, 27, 10, 11
18, 12, 24, 28, 11
19, 23, 34, 32, 22
20, 25, 14, 15, 36
21, 20, 26, 31, 19
22, 34, 27, 28, 29
23, 33, 32, 34, 29
24, 16, 30, 36, 15
25, 31, 32, 33, 21
*Nset, nset=_PickedSet2, internal, generate
  1,  36,   1
*Elset, elset=_PickedSet2, internal, generate
  1,  25,   1
** Section: Section-1
*Solid Section, elset=_PickedSet2, material=Material-1
,
*End Instance
**  
*Nset, nset=_PickedSet7, internal, instance=Part-1-1, generate
  1,  20,   1
*Elset, elset=_PickedSet7, internal, instance=Part-1-1
  1,  2,  4,  5,  6,  9, 10, 11, 13, 14, 15, 17, 18, 20, 21, 24
*Nset, nset=Set-1, instance=Part-1-1
 34,
*End Assembly
**
** MATERIALS
**
*Material, name=Material-1
*Elastic
70., 0.3
**
** BOUNDARY CONDITIONS
**
** Name: BC-1 Type: Symmetry/Antisymmetry/Encastre
*Boundary
_PickedSet7, PINNED
** ----------------------------------------------------------------
**
** STEP: Step-1
**
*Step, name=Step-1
*Static
1., 1., 1e-05, 1.
**
** BOUNDARY CONDITIONS
**
** Name: BC-2 Type: Displacement/Rotation
*Boundary,user
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1
**
*Output, field, variable=PRESELECT
**
** HISTORY OUTPUT: H-Output-1
**
*Output, history, variable=PRESELECT
*End Step



and my subroutine file is on the first message. I have never heard of the "interactive option". I really appreciate your help!
Thank you very much! I wait for your answer

Regards,
 

RE: DISP SUBROUTINE does nothing!

2
Hello,
 
Thank you for the inpudeck file.
I see you have user boundary keyword but you have no information for which nodes the boundary condition is active.
In line following *BOUNDARY keyword you need to give information about nodes id and degree of freedom.
 
The syntax is:

CODE

*BOUNDARY, USER
node_id_1, first_DOF, last_DOF
node_id_2, first_DOF, last_DOF
...
node_id_n, first_DOF, last_DOF
 
According to your subroutine it should be:

CODE

*BOUNDARY, USER
10, 1, 1
 

Quote:

I have never heard of the "interactive option".
You can run any abaqus analysis without Abaqus/CAE. Just open system console, go to directory with *.inp file and use command:
abaqus user=subroutine_file.for job=inputdeck_file
 
If you want to get information about analysis on console you need to add interactive option otherwise the job will be running in the background:
abaqus interactive user=subroutine_file.for job=inputdeck_file
 
More information you will find in abaqus documentation: 3.2 Execution procedures
 
Regards,
Bartosz

RE: DISP SUBROUTINE does nothing!

(OP)
Hi akabarten,

thank you very much!! It works perfectly now, curiosly it works only if i make a node-set with node 10.

If i write this code,

*BOUNDARY, USER
10, 1, 1

i get an error relating to the assembly.
Any idea on this problem?

Again than you very much for your help.

Sincerely,
 

RE: DISP SUBROUTINE does nothing!

Hello,

Quote:

i get an error relating to the assembly.Any idea on this problem?
In Abaqus your model can be defined in terms of assembly of part instance, as your example model.

Depent how your model looks you need to use following syntax:

CODE

**
** for model without assembly
**
*BOUNDARY, USER
global_node_id, first_DOF, last_DOF
name_of_nset, first_DOF, last_DOF
**
** for model with assembly
**
*BOUNDARY, USER
assembly_name.instance_name.node_id, first_DOF, last_DOF
assembly_name.instance_name.nset_name, first_DOF, last_DOF
**

Please remember, When you use model with assembly Abaqus will be using different nodes id during calculation (global id) than you have in your inputdeck (local id).
To obtain global node id for specific local id you need to use GETPARTINFO or GETINTERNAL routines.
Example how to use them you can find in Abaqus documentation: Abaqus Verification Manual, 4.1.2 DISP

Regards,
Bartosz

RE: DISP SUBROUTINE does nothing!

(OP)
Hi akabarten

thank you very much for your explanation. I have learnt a lot with your help! Thanks,

Regards

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources