Or for a simpler method, use ABAQUS/CAE V6.6 (which was released about 5 months ago). You can provide a Python expression as your "Analytical Field" and then use this as the spatial distribution for the load.
Hi
I looked in the documentation how to use DLOAD under subroutine option, but I still didn't quite understand how to write that subroutine. Can you help me to start with this DLOAD subroutine, for example, you have a square box 1 x 1 meter and nonuniform loadings will be applied on the right side of the box. Let the top be the reference surface starts at zero height and the bottom surface is 1 meter down. Thus at zero height the pressure will be 0, as the depth increases the pressure at 1 meter depth will be 18 kPa. So the pressure is function of depth.
This is your model, with pressure varying from 0, at y=0, to 18 model units, at y=-1 model distance, on the RHS of the model. Let's say that is side 2 of the elements on that RHS.
Origin
o-------------- press= 0
| | <-
| | <--
| | <---
| | <----
y=-1 -------------- <----- press=18
So you need in your inp file
*DLOAD, OP=MOD
ELOAD , P2NU, 0.0
which according to the manual "applies a nonuniform pressure on face n with magnitude supplied via user subroutine DLOAD". Here 'ELOAD' is an element set of elements adjoining that RHS.
Here is your subroutine DLOAD:
SUBROUTINE DLOAD (F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,
1 COORDS,JLTYP,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION TIME(2), COORDS (3)
CHARACTER*80 SNAME
Y = COORDS(2)
C Interpolate to find distributed load according to y:
F = -18*Y
RETURN
END
I just got abaqus 6.6-3 yesterday, and I tired to use analysis field to create nonuniform load. In the analysis field, the math equation would be Y*-18 to have pressure varying with depth from 0 to -1, but how do you define your magnitude when you select the right side of the rectangle box and pressure and spatial field. How would abaqus know that is pressure = Y*-18 and how about the magniture just use 1.
I'm not sure what you tried, but it should be pretty easy:
1. Create your analytical field (Field-1) and the expression should be Y*(-18.0)
2. Create a pressure load on the appropriate face with magnitude 1 and in the "distribution" pull-down select "Field-1"
The magnitude (=1)that you provide will by factored by the value of the expression at the given local value of Y.
(There is no need for user subroutines with this method)