User Subroutines Summary
User Subroutines Summary
User Subroutines Summary
6.14
Targeted audience
This course is recommended for engineers with experience using Abaqus.
Prerequisites
A working knowledge of the finite element method and programming in either Fortran or C
2 days
Day 1
Lecture 1
Introduction
Lecture 2
Lecture 3
Workshop 1
Lecture 4
Lecture 5
Day 2
Lecture 6
Lecture 7
Workshop 2
Lecture 8
Additional Material
Appendix 1
Workshop 3
Appendix 2
Legal Notices
The Abaqus Software described in this documentation is available only under license from Dassault
Systmes or 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 Systmes 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 Systmes or its subsidiary.
Dassault Systmes, 2014
Printed in the United States of America.
Abaqus, the 3DS logo, SIMULIA, and CATIA are trademarks or registered trademarks of Dassault
Systmes 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.14 Installation and Licensing Guide.
Revision Status
Lecture 1
5/14
Lecture 2
5/14
Lecture 3
5/14
Lecture 4
5/14
Lecture 5
5/14
Lecture 6
5/14
Lecture 7
5/14
Lecture 8
5/14
Appendix 1
5/14
Appendix 2
5/14
Workshop 1
5/14
Workshop 2
5/14
Workshop 3
5/14
Lesson 1: Introduction
Lesson content:
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
C/C++ interface
Support for User Subroutines
1 hour
L1.1
Lesson content:
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
1 hour
L2.1
Lesson content:
Introduction
Abaqus Usage
FILM Subroutine Interface
Example: Radiation in Finned Surface
Workshop Preliminaries
Workshop 1: User Subroutine FILM (IA)
Workshop 1: User Subroutine FILM (KW)
75 minutes
L3.1
Lesson content:
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
2 hours
L4.1
Introduction
Abaqus Usage
URDFIL Subroutine Interface
Example: Using URDFIL to Terminate an Analysis
30 minutes
L5.1
Lesson content:
Introduction
Abaqus Usage
UVARM Subroutine Interface
Example: Calculation of Stress Relative to Shift Tensor
Creating Contour Plots for UELs
30 minutes
L6.1
Lesson content:
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
Workshop 2: User Subroutine UMAT: Tangent Stiffness (IA)
Workshop 2: User Subroutine UMAT: Tangent Stiffness (KW)
3 hours
L7.1
Lesson content:
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
3 hours
L8.1
Introduction
Defining Logical Modeling
Example: Force Control
Workshop 3: Controlling an Inverted Pendulum with VUAMP (IA)
Workshop 3: Controlling an Inverted Pendulum with VUAMP (KW)
1.5 hours
A1.1
Appendix content:
Thread Parallel Support
MPI Parallel Support
Dynamic Allocation of Memory and Access on Demand
Example: Array Creation
Example: Array Usage
Guidance
15 minutes
A2.1