Writing User Subroutines with Abaqus
Day 1
• Lecture 1: Introduction
• Lecture 2: User Subroutines (V)DLOAD and UTRACLOAD
• Lecture 3: User Subroutine FILM
• Workshop 1: User Subroutine FILM
• Lecture 4: User Subroutine (V)USDFLD
• Lecture 5: User Subroutine URDFIL
Writing User Subroutines with Abaqus
Day 2
• Lecture 6: User Subroutine UVARM
• Lecture 7: Writing a UMAT or VUMAT
• Workshop 2: User Subroutine UMAT: Tangent Stiffness
• Lecture 8: Creating a Nonlinear User Element (UEL and VUEL)
Writing User Subroutines with Abaqus
Appendices
• Appendix 1: Logical Modeling in Abaqus
Writing User Subroutines with Abaqus
Legal Notices
The Abaqus Software described in this documentation is available only under license from
Dassault Systèmes and its subsidiary and may be used or reproduced only in accordance with the
terms of such license.
This documentation and the software described in this documentation are subject to change
without prior notice.
Dassault Systèmes and its subsidiaries shall not be responsible for the consequences of any
errors or omissions that may appear in this documentation.
No part of this documentation may be reproduced or distributed in any form without prior written
permission of Dassault Systèmes or its subsidiary.
© Dassault Systèmes, 2010.
Printed in the United States of America
Abaqus, the 3DS logo, SIMULIA and CATIA are trademarks or registered trademarks of Dassault
Systèmes or its subsidiaries in the US and/or other countries.
Other company, product, and service names may be trademarks or service marks of their
respective owners. For additional information concerning trademarks, copyrights, and licenses,
see the Legal Notices in the Abaqus 6.10 Release Notes and the notices at:
http://www.simulia.com/products/products_legal.html.
Writing User Subroutines with Abaqus
Revision Status
Lecture 1 6/10 Updated for 6.10
Lecture 2 6/10 Updated for 6.10
Lecture 3 5/10 Updated for 6.10
Lecture 4 6/10 Updated for 6.10
Lecture 5 5/10 Updated for 6.10
Lecture 6 5/10 Updated for 6.10
Lecture 7 5/10 Updated for 6.10
Lecture 8 5/10 Updated for 6.10
Appendix 1 5/10 Updated for 6.10
Workshop 1 5/10 Updated for 6.10
Workshop 2 5/10 Updated for 6.10
Workshop Answers 1 5/10 Updated for 6.10
Workshop Answers 2 5/10 Updated for 6.10
Writing User Subroutines with Abaqus
Introduction
Lecture 1
L1.2
Overview
• Overview of Some User Subroutines
• Where User Subroutines Fit into Abaqus/Standard
• Including User Subroutines in a Model
• Writing Output from User Subroutines
• Compiling and Linking User Subroutines
• Debugging Techniques and Proper Programming Habits
• Support for User Subroutines
Writing User Subroutines with Abaqus
User Subroutines (V)DLOAD and
UTRACLOAD
Lecture 2
L2.2
Overview
• Introduction
• Abaqus Usage
• DLOAD Subroutine Interface
• Example: Viscoelastic Cylinder
• Example: Asymmetric Pressure Loads
• VDLOAD Subroutine Interface
• Example: Viscoelastic Cylinder Revisited
• UTRACLOAD Subroutine Interface
• Example: Flexure of a Cantilever Beam
Writing User Subroutines with Abaqus
User Subroutine FILM
Lecture 3
L3.2
Overview
• Introduction
• Abaqus Usage
• FILM Subroutine Interface
• Example: Radiation in Finned Surface
• Workshop: User Subroutine FILM
Writing User Subroutines with Abaqus
User Subroutine (V)USDFLD
Lecture 4
L4.2
Overview
• Introduction
• Abaqus Usage
• Utility Routine GETVRM
• USDFLD Subroutine Interface
• Example: Laminated Composite Plate Failure
• Utility Routine VGETVRM
• VUSDFLD Subroutine Interface
• Example: Laminated Composite Plate Failure Revisited
Writing User Subroutines with Abaqus
User Subroutine URDFIL
Lecture 5
L5.2
Overview
• Introduction
• Abaqus Usage
• URDFIL Subroutine Interface
• Example: Using URDFIL to Terminate an Analysis
Writing User Subroutines with Abaqus
User Subroutine UVARM
Lecture 6
L6.2
Overview
• Introduction
• Abaqus Usage
• UVARM Subroutine Interface
• Example: Calculation of Stress Relative to Shift Tensor
• Creating Contour Plots for UELs
Writing User Subroutines with Abaqus
Writing a UMAT or VUMAT
Lecture 7
L7.2
Agenda
• Overview
• Motivation
• Steps Required in Writing a UMAT or VUMAT
• UMAT Interface
• Example 1: UMAT for Isotropic Isothermal Elasticity
• Example 2: UMAT for Non-Isothermal Elasticity
• Example 3: UMAT for Neo-Hookean Hyperelasticity
• Example 4: UMAT for Kinematic Hardening Plasticity
• Example 5: UMAT for Isotropic Hardening Plasticity
• VUMAT Interface
• Example 6: VUMAT for Isotropic Isothermal Elasticity
• Example 7: VUMAT for Neo-Hookean Hyperelasticity
• Example 8: VUMAT for Kinematic Hardening Plasticity
• Example 9: VUMAT for Isotropic Hardening Plasticity
Writing User Subroutines with Abaqus
Creating a Nonlinear User Element
Lecture 8
L8.2
Overview
• Motivation
• Defining a User Element in Abaqus/Standard
• UEL Interface
• Example 1: Planar Beam Element with Nonlinear Section Behavior
• Example 2: Force Control Element
• Example 3: Plane Strain Element
• UELMAT Interface
• Using Nonlinear User Elements in Various Analysis Procedures
• Defining a User Element in Abaqus/Explicit
• VUEL Interface
• Example 4: Three-Dimensional Truss Element
Writing User Subroutines with Abaqus
Logical Modeling in Abaqus
Appendix 1
A1.2
Overview
• Introduction
• Defining Logical Modeling
• Example: Force Control
Writing User Subroutines with Abaqus