Writing User Subroutines with Abaqus
Abaqus 2018
About this Course
Course objectives
In this course you will learn about:
When and how to use subroutines
DLOAD, VDLOAD, and UTRACLOAD for specifying user-defined loading
FILM for specifying user-defined film conditions
USDFLD and VUSDFLD for defining field variable dependence
UVARM for defining a user output variable
UHYPER for modeling hyperelastic materials
UMAT and VUMAT for allowing constitutive models to be added to the program
UEL and VUEL for allowing the creation of user-defined elements
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 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 UVARM
Day 2
Lecture 6 User Subroutine UHYPER
Lecture 7 Writing a UMAT or VUMAT
Workshop 2 User Subroutine UMAT: Tangent Stiffness
Lecture 8 Creating a Nonlinear User Element (UEL and VUEL)
Additional Material
Appendix 1 Logical Modeling in Abaqus
Workshop 3 Controlling an Inverted Pendulum with VUAMP
Appendix 2 User Subroutine URDFIL
Appendix 3 User Subroutine (V)UANISOHYPER
Workshop 4 User Subroutine UANISOHYPER_INV: anisotropic hyperelastic material
behavior
Appendix 4 Introduction to Parallel Computing
Appendix 5 Getting Started with Abaqus Parallel Execution
Workshop 5 User Subroutines with Threads
Workshop 6 User Subroutines with MPI
Appendix 6 Accessing Table Collections in User Subroutines
Workshop 7 User Table: Implementation with User Subroutine Film
Workshop 8 User Table: Implementation with User Subroutine Creep
SIMULIA
SIMULIA is the Dassault Systèmes brand for Realistic Simulation solutions
Portfolio of established, best-in-class products
Abaqus, Isight, Tosca, fe-safe, Simpack
* Included in extended licensing pool
SIMULIA’s Power of the Portfolio
• Routine and Advanced Simulation
• Linear and Nonlinear, Static and Dynamic Realistic Human Simulation
Abaqus • Thermal, Electrical, Acoustics High Speed Crash & Impact
• Extended Physics through Co-simulation Noise & Vibration
• Model Preparation and Visualization
• Process Integration
Material Calibration
• Design Optimization
Isight Workflow Automation
• Parametric Optimization Design Exploration
• Six Sigma and Design of Experiments
• Non-Parametric Optimization Conceptual/Detailed Design
Tosca • Structural and Fluid Flow Optimization Weight, Stiffness, Stress
• Topology, Sizing, Shape, Bead Optimization Pressure Loss Reduction
• Durability Simulation Safety Factors
fe-safe • Low Cycle and High Cycle Fatigue Creep-Fatigue Interaction
• Weld, High Temperature, Non-metallics Weld Fatigue
• 3D Multibody Dynamics Simulation Complete System Analyses
• Mechanical or Mechatronic Systems (Quasi-)Static, Dynamics, NVH
Simpack
• Detailed Transient Simulation (Offline Flex Bodies, Advanced
and Realtime) Contact
Join the Community!
How can you maximize the robust technology of the SIMULIA Portfolio ?
Go to www.3ds.com/slc
to log in or join!
SIMULIA Training
http://www.3ds.com/products-services/simulia/services/training-courses/
Legal Notices
The software described in this documentation is available only under license from Dassault Systèmes
or its subsidiaries 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 subsidiaries.
© Dassault Systèmes, 2017
Printed in the United States of America.
Abaqus, the 3DS logo, and SIMULIA 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 SIMULIA User Assistance.
Revision Status
Lecture 1 11/17 Updated for Abaqus 2018 Workshop 1 11/17 Updated for Abaqus 2018
Lecture 2 11/17 Updated for Abaqus 2018 Workshop 2 11/17 Updated for Abaqus 2018
Lecture 3 11/17 Updated for Abaqus 2018 Workshop 3 11/17 Updated for Abaqus 2018
Lecture 4 11/17 Updated for Abaqus 2018 Workshop 4 11/17 Updated for Abaqus 2018
Lecture 5 11/17 Updated for Abaqus 2018 Workshop 5 11/17 Updated for Abaqus 2018
Lecture 6 11/17 Updated for Abaqus 2018 Workshop 6 11/17 Updated for Abaqus 2018
Lecture 7 11/17 Updated for Abaqus 2018 Workshop 7 11/17 New for Abaqus 2018
Lecture 8 11/17 Updated for Abaqus 2018 Workshop 8 11/17 New for Abaqus 2018
Appendix 1 11/17 Updated for Abaqus 2018
Appendix 2 11/17 Updated for Abaqus 2018
Appendix 3 11/17 Updated for Abaqus 2018
Appendix 4 11/17 Updated for Abaqus 2018
Appendix 5 11/17 Updated for Abaqus 2018
Appendix 6 11/17 New for Abaqus 2018
L1.1
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
www.3ds.com | © Dassault Systèmes
Compiling and Linking User Subroutines
Debugging Techniques and Proper Programming Habits
C/C++ interface
Property and Parameter Tables
Support for User Subroutines
1 hour
L2.1
Lesson 2: User Subroutines (V)DLOAD and UTRACLOAD
Lesson content:
Introduction
Abaqus Usage
DLOAD Subroutine Interface
Example: Viscoelastic Cylinder
www.3ds.com | © Dassault Systèmes
Example: Asymmetric Pressure Loads
VDLOAD Subroutine Interface
Example: Viscoelastic Cylinder Revisited
UTRACLOAD Subroutine Interface
Example: Flexure of a Cantilever Beam
1 hour
L3.1
Lesson 3: User Subroutine FILM
Lesson content:
Introduction
Abaqus Usage
FILM Subroutine Interface
Example: Radiation in Finned Surface
www.3ds.com | © Dassault Systèmes
Workshop Preliminaries
Workshop 1: User Subroutine FILM (IA)
Workshop 1: User Subroutine FILM (KW)
Both interactive (IA) and keywords (KW) versions of the
workshop are provided. Complete only one.
75 minutes
L4.1
Lesson 4: User Subroutine (V)USDFLD
Lesson content:
Introduction
Abaqus Usage
Utility Routine GETVRM
USDFLD Subroutine Interface
www.3ds.com | © Dassault Systèmes
Example: Laminated Composite Plate Failure
Utility Routine VGETVRM
VUSDFLD Subroutine Interface
Example: Laminated Composite Plate Failure Revisited
2 hours
L5.1
Lesson 5: User Subroutine UVARM
Lesson content:
Introduction
Abaqus Usage
UVARM Subroutine Interface
Example 1: Calculation of Stress Relative to Shift Tensor
www.3ds.com | © Dassault Systèmes
Example 2: Creating Contour Plots for UELs
30 minutes
L6.1
Lesson 6: User Subroutine UHYPER
Lesson content:
Overview
Motivation
Steps Required in Writing a UHYPER
UHYPER Interface
Example 1: UHYPER for Neo-Hookean Hyperelasticity
www.3ds.com | © Dassault Systèmes
30 minutes
L7.1
Lesson 7: Writing a UMAT or VUMAT
Lesson content:
Overview
Motivation
Steps Required in Writing a UMAT or VUMAT
UMAT Interface
Example 1: UMAT for Isotropic Isothermal Elasticity
www.3ds.com | © Dassault Systèmes
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)
Both interactive (IA) and keywords (KW) versions of the
3 hours
workshop are provided. Complete only one.
L8.1
Lesson 8: Creating a Nonlinear User Element
Lesson content:
Overview
Motivation
Defining a User Element in Abaqus/Standard
UEL Interface
www.3ds.com | © Dassault Systèmes
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
A1.1
Appendix 1: Logical Modeling in Abaqus
Appendix content:
Introduction
Defining Logical Modeling
Example: Force Control
Workshop 3: Controlling an Inverted Pendulum with VUAMP (IA)
www.3ds.com | © Dassault Systèmes
Workshop 3: Controlling an Inverted Pendulum with VUAMP (KW)
Both interactive (IA) and keywords (KW) versions of the
workshop are provided. Complete only one.
1.5 hours
A2.1
Appendix 2: User Subroutine URDFIL
Appendix content:
Introduction
Abaqus Usage
URDFIL Subroutine Interface
Example: Using URDFIL to Terminate an Analysis
www.3ds.com | © Dassault Systèmes
30 minutes
A3.1
Appendix 3: User Subroutine (V)UANISOHYPER
Appendix content:
Overview
Motivation
Steps Required in Writing a UANISIOHYPER or VUANISOHYPER
UANISOHYPER_INV interface
www.3ds.com | © Dassault Systèmes
Example 1: UANISOHYPER_INV for Kaliske and Schmidt
UANISOHYPER_STRAIN Interface
Example 2: UANISOHYPER_STRAIN for Saint-Venant Kirchhoff
VUANISOHYPER_INV interface
Example 3: VUANISOHYPER_INV for Kaliske and Schmidt
VUANISOHYPER_STRAIN Interface
Example 4: VUANISOHYPER_STRAIN for Saint-Venant Kirchhoff
Workshop 4: User Subroutine UANISOHYPER_INV: Anisotropic hyperelastic material behavior
2 hours
A4.1
Appendix 4: Introduction to Parallel Computing
Appendix content:
Overview
What is Parallel Computing?
Why do we use Parallel Computing?
Computer Memory Architecture Basics
www.3ds.com | © Dassault Systèmes
Different Models of Parallel Computing
Limits of Parallel Computing
Challenges of Parallel Computing
Abaqus Performance Benchmark
1 hour
A5.1
Appendix 5: Getting Started with Abaqus Parallel Execution
Appendix content:
Overview
Parallel Execution in User Subroutines
User Subroutines with Threads
User Subroutines with MPI
www.3ds.com | © Dassault Systèmes
User Subroutines with hybrid MPI and Threads
Workshop 5: User Subroutines with Threads
Workshop 6: User Subroutines with MPI
2.5 hours
A6.1
Appendix 6: Accessing Table Collections in User Subroutines
Appendix content:
Overview
Property Tables, Parameter Tables and Table Collections
Property Tables
Parameter Tables
www.3ds.com | © Dassault Systèmes
Table Collections
Utility Routines: Accessing User Data in User Subroutines
Example of Keyword Interface and Subroutine Usage
Workshop 7: Implementation with User Subroutine FILM (IA)
Workshop 7: Implementation with User Subroutine FILM (KW)
Workshop 8: Implementation with User Subroutine CREEP (IA)
Workshop 8: Implementation with User Subroutine CREEP (KW)
Both interactive (IA) and keywords (KW) versions of the
workshop are provided. Complete only one.
45 minutes