0% found this document useful (0 votes)
123 views

User Subroutines-Summary PDF

Uploaded by

Zhang Jinsong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
123 views

User Subroutines-Summary PDF

Uploaded by

Zhang Jinsong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

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

You might also like