×
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

Subroutine - dload

Subroutine - dload

Subroutine - dload

(OP)
Does anybody can check and and give me a tip about this subroutine.I wrote the subroutine which should distribute pressure over a certain surface as b - spline function.
When I started the analysis i didn't get any file like msg. odb....I think that the problem is with subroutine-maybe variable definition.

Thanks for your help in advance

in input file I used:

*Dload
Surf-1, PNU, 1.




SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,
     1                 JLTYP,SNAME)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION COORDS(3)
      CHARACTER*80 SNAME
C
C     B - SPLINE FUNCTION
C
      REAL RX
      REAL RY
      REAL FX
      REAL FY
C
C
C
      RX = ABS(COORDS(1))/0.5

    IF (RX > 2) THEN

        FX = 0.0

    ELSE IF (RX >= 1.0) THEN

            FX = (1.0/6.0) * ((-1.0)*RX**3 + 6.0*RX**2 - 12.0*RX + 8.0)

    ELSE
            FX = (1.0/6.0) * ((3.0*RX**3) - (6.0*RX**2) + 4.0)

    
    END IF  
C
C  
C
    RY = ABS(COORDS(2))/0.5

    IF (RY > 2) THEN

        FY = 0.0

    ELSE IF (RY >= 1.0) THEN
            FY = (1.0/6.0) * ((-1.0)*RY**3 + 6.0*RY**2 - 12.0*RY + 8.0)
    ELSE
            FY = (1.0/6.0) * ((3.0*RY**3) - (6.0*RY**2) + 4.0)
    END IF    
C
C
C
    F = FX*FY
C
      RETURN
      END

RE: Subroutine - dload

Is the subroutine compiling/linking successful ?

Did you check the .log file ?

RE: Subroutine - dload

Your formatting (spacing, indents) is wrong - FORTRAN is quite picky!!

Try:

      SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,
     1 COORDS,JLTYP,SNAME)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION COORDS(3)
      CHARACTER*80 SNAME
C
C     B - SPLINE FUNCTION
C
      REAL RX
      REAL RY
      REAL FX
      REAL FY
C
C
C
      RX = ABS(COORDS(1))/0.5
      IF (RX > 2) THEN
        FX = 0.0
      ELSE IF (RX >= 1.0) THEN
        FX = (1.0/6.0) * ((-1.0)*RX**3 + 6.0*RX**2 - 12.0*RX + 8.0)
      ELSE
        FX = (1.0/6.0) * ((3.0*RX**3) - (6.0*RX**2) + 4.0)    
      END IF  
C
C  
C
      RY = ABS(COORDS(2))/0.5
      IF (RY > 2) THEN
        FY = 0.0
      ELSE IF (RY >= 1.0) THEN
        FY = (1.0/6.0) * ((-1.0)*RY**3 + 6.0*RY**2 - 12.0*RY + 8.0)
      ELSE
        FY = (1.0/6.0) * ((3.0*RY**3) - (6.0*RY**2) + 4.0)
      END IF    
C
C
C
      F = FX*FY
C
      RETURN
      END

RE: Subroutine - dload

Well, did it work for you? ;)

RE: Subroutine - dload

(OP)
Yes Brep it's working. Formatting was wrong.

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