Skip to Main Content

Ansys Mechanical APDL User Programmable Features (UPFs)

Course Overview

For some advanced applications, there arises a need to tailor the behavior of the Ansys APDL program to suit individual requirements. The open architecture of Mechanical APDL allows you to write your own subroutines in the C, C++, or Fortran programming languages. Once compiled and/or linked into the Mechanical APDL executable, these User Programmable Features (UPFs), will be available when needed. Element, contact, material behavior, types of loading, and reading or retrieving information from the model database are just of few of the application areas for UPFs.


  • Completion of the training course Introduction to Ansys Mechanical APDL is required. This course is intended for users with a strong working knowledge of the Mechanical APDL program, the APDL Command Language, and the Fortran programming language.

Teaching Method

Lectures and hands-on workshops to give you the knowledge and confidence you will need to apply what you have learned to your own designs.

Learning Outcome

Following completion of this course, the you will be able to:

  • Understand the possible customization afforded by UPFs.
  • Locate and identify the many user routines available as part of the Ansys product distribution.
  • Develop a strategy for compiling and/or linking UPFs as well as understand the difference among the methods.
  • Retrieve node, element, and/or results information from the APDL database.
  • Acquire working knowledge of the routines available to implement custom material, element, and contact behaviors.

 Available Dates

Currently, no training dates available

Learning Options

Training materials for this course are available with an Ansys Learning Hub Subscription. If there is no active public schedule available, private training can be arranged. Please contact us.


This is a 1-day classroom course covering both tutorials and examples. For virtual training, this course is covered in 2 x 2-hour sessions.

Virtual Classroom Session 1

  • Module 01: Introduction
  • Module 02: Installing, Compiling, and Linking UPFs
  • Module 03: Accessing the Ansys Database
  • Module 04: Elasto-Plastic Material with USERMAT
  • Example 04.1: Bilinear Plasticity Material Model
  • Module 05: Hyperelastic Material with USERHYPER

Virtual Classroom Session 2

  • Example 05.1: Arruda-Boyce Hyperelasticity Material Model
  • Module 06: Implicit Creep Material with USERCREEP
  • Example 06.1: Implicit Creep Material Model
  • Module 07: New Finite Elements with USERELEM
  • Example 07.1: Hexahedral (Brick) Element
  • Example 07.2: Quadrilateral Plane Strain Element
  • Module 08: Custom Contact Behavior with USERCNPROP
  • Example 08.1: Contact Stiffness as a Function of Pressure