Clay and Sand hypoplasticity UMAT and Plaxis implementations, including UMAT-Plaxis interface

Description: Interface between umat and Plaxis (UsrMod) user defined model standards. Includes clay and sand hypoplastic model implementations, including the intergranular strain concept versions of the model. Description of the implementation and a user manual can be found here.

The implemented sand model has been published by von Wolffersdorff (1996). The implementation also contains Niemunis and Herle (1997) extension for predicting small strain stiffness effects.

The implemented clay model has been published by Mašín (2014). This model is an anisotropic version of the general clay hypoplasticity model described thoroughly in Mašín (2013). Structure of the anisotropic stiffness matrix described in Mašín and Rott (2014). Structured-soil specific model features are described in Mašín (2007). The model can be used with the intergranular strain concept, its original formulation is in Niemunis and Herle (1997), enhanced formulation implemented is described in Mašín (2013). Most of the cited journal papers available here for free download in the form of PDF preprints.

Interface implementation between umat user defined constitutive model format of Abaqus and User_Mod format of Plaxis finite element code. Comes pre-compiled along with clay and sand hypoplastic model implementations, can be used as a base for implementation of other constitutive models.

Authors: The original umat implementation has been developed by Claudio Tamagnini in 2005. It has since been further developed and updated to new models by David Mašín. The original interface implementation has been developed by prof. P. A. von Wolffersdorff in 2005. It has since been further developed and updated by David Mašín.

Related publications (clay hypoplasticity):

Related publications (sand hypoplasticity):

Associated Software and Constitutive Models

  1. Abd Elfattah
    Abd Elfattah 5 years ago

    Dear sir
    i try use the Umat- hypo-plasticity model but i found the following message “”ERROR in job messaging system: Error in connection to analysis”
    can you help me

    • David Mašín Author
      David Mašín 5 years ago

      Hi, this is probably some Abaqus-related compilation error.
      I am not expoert in this, but it seems to me this is not a problem of umat itself.
      I recommend you firstcopy elastic umat from ABAQUS manual and try to run elastic analysis. Once this works, you can move to complex umats like this hypoplastic one. Regards David

  2. Abd Elfattah
    Abd Elfattah 5 years ago

    I appreciate for your quick response, when i used Umat SANISAND model, it is seem ok and no problem related compilation, however this model is very complicated to estimated required parameters. in contrast, when i used Umat for hypoplasticity model, this problem was appeared.

  3. Abd Elfattah
    Abd Elfattah 5 years ago

    Thank you very much for your cooperation
    I will try once again, I will tell you the Updates

  4. Cristian Rodriguez Lugo

    Respected sir

    Thanks for your hypoplastic subroutines. I am running the implementation for sand in plaxis but I get the following error:

    Intel(r) Visual Fortran run-time error
    forrtl: severe(9): permission to Access file denied, until 1, file C:\Program Files (x86)\Plaxis\Plaxis 2D\ fort-1
    Image PC Routine Line Source
    usdm_hps64.dll 00007FF9ADD31D2F Unknown Unkown Unknown

    Do you have any idea what could be the reason for this error message?

  5. Shuntao Fan
    Shuntao Fan 4 years ago

    Thanks for your sharing, but I don’t know what the differences between umat.f and umat_hcea.f, can you explain what the abbreviation (hcea) mean? My best regards.

    • Hans Henning Stutz
      Hans Henning Stutz 4 years ago

      Dear Shuntao Fan,

      UMAT.f is the sand hypoplastic UMAT and umat_hcea.f is for the clay hypoplastic model UMAT.

      Best regards,
      Hans Henning

      • Shuntao Fan
        Shuntao Fan 4 years ago

        Thank you very much!

      • Sudipta Bhowmick
        Sudipta Bhowmick 3 years ago

        In the zip file, we have one Fortran code (StVarlini). What is the use for that one? Is there any calibration software available for the sand hypoplastic model?

  6. Nguyen Hurricane
    Nguyen Hurricane 3 years ago

    Dear sir, I am a PhD student in China University of Geoscience. Could you provide a .cae or .inp file of this hypoplasticity model because I have no idea how to set statev and depvar in abaqus

    JUAN VILLAMIL 3 years ago

    Respected gentlemen,

    I really need help to run *umat.f subrotuine for granular soils. I’m MEng. student at Polytechnic university of Madrid and I’m studying roller compaction in granular soils.
    The matter is I couldn’t run the subroutine correctly because I don’t know if I’ve to add/change something in fortran file or if it’s something with my modeling in Abaqus. The *.inp resultant file dosen’t say anthing about paramteres like other examples with subroutines that I’ve treat. So, I think that Abaqus isn’t recognizing the mechanical constans in the property module as ‘user material’.

    If anyone could help me I really appreciate it.

  8. Shaohua Zeng
    Shaohua Zeng 2 years ago

    Dear professors,
    I am a postgraduate student. When I use the hypoplastic model in abaqus, I am confused about the setting of statev and depvar. According to the professor’s article, I think 16 state variables need to be set, but the following appears when I set it Error: THERE ARE INSUFFICIENT DATA CARDS TO DEFINE THE 16 SOLUTION DEPENDENT VARIABLES FOR ELSET ASSEMBLY_SET-58
    Job kuo: Analysis Input File Processor aborted due to errors.
    How to set these parameters?

    • Shen Wang
      Shen Wang 2 years ago

      Hi Shaohua,

      Can you provide more information about your parameters? Such as what is your input for solution-dependent state variables in Depvar? It need to be larger than the maximum value of the dimension of “statev” in umat.


      • Shaohua Zeng
        Shaohua Zeng 2 years ago

        Hello, I want to initialize the sensitivity (s≠1, s=3.45),
        In UMAT:
        if(statev(14) .ge. 1) then
        end if
        I write in the inp file:
        *initial conditions,type=solution
        SET-77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.45, 0, 0
        But an error occurred:
        I found that you can enter the initial value of up to 7 state variables. How should this be solved?

    • David Mašín Author
      David Mašín 2 years ago

      Hi, also do not forget to initialise void ratio (statev 7), you have set it to 0 in your input, this will not work. David

      • Shaohua Zeng
        Shaohua Zeng 2 years ago

        Hello, dear Professor
        I wrote in the keyword file:
        *initial conditions,type=solution
        SET-77, 0, 0, 0, 0, 0, 0,
        1.4, 0, 0, 0, 0, 0,
        0, 3.45, 0, 0.
        Fortunately, it can be calculated, but when I output the result sensitivity (SDV14), I found that the result is always 0. Why is this? Is the initialization unsuccessful? I think its value should gradually decrease from 3.45. What should I do.

  9. David Mašín Author
    David Mašín 2 years ago

    Initial conditions should be initialised using sdvini function. You should place it into umat file or into another fortran file and pass it to Abaqus along with umat.

    See for example this manual:

    This is how sdvini.f could look like:

    c Solution dependent state variables (statev) for umat.f
    subroutine sdvini(statev,coords,nstatv,ncrds,noel,npt,layer,kspt)
    implicit real*8(a-h,o-z)
    real*8 statev(20),dummy
    integer nstatv,noel,npt,recnum
    statev(1) = 0
    statev(2) = 0
    statev(3) = 0
    statev(4) = 0
    statev(5) = 0
    statev(6) = 0
    statev(7) = 1.4
    statev(8) = 0
    statev(9) = 0
    statev(10) = 0
    statev(11) = 0
    statev(12) = 0
    statev(13) = 0
    statev(14) = 3.45
    statev(15) = 0
    statev(16) = 0


  10. Berk Turkel
    Berk Turkel 2 years ago


    I am trying to model a sand deposit by varying its relative density by using Hypoplasticity. Since I am trying to find the specific void ratio corresponding to the relative densities, I am using the definition of the critical void ratio as simple as the maximum void ratio of the soil, and edo as the minimum void ratio. However, if I want to model a “loose of critical” response (i.e., void ratio above critical state line), I won’t be able to get it due to the definition of ecritical as the emax of the soil. How could I define loose relative densities above the critical state line if the emax is defined as the critical state void ratio?

    Thank you very much for your future answer

  11. Ashesh Choudhury
    Ashesh Choudhury 6 months ago


    Is there any way to convert the umat for hypoplastic clay to VUMAT? I want to use it with ABAQUS/Explicit.

  12. Ashesh Choudhury
    Ashesh Choudhury 6 months ago

    Thank you Dr. Masin.

    I required some basic clarifications for which I shall be highly obliged. In order to use the clay hypoplastic model with the intergranular strain concept, we need to use the umat_hcea.for file. We need to enter 29 parameters. In order to define those, should I enter these serially from 1 to 29 in the “Edit Material” > “User Material” > “User material type – mechanical” > “Mechanical constants” portion?

    Thank you

  13. Ashesh Choudhury
    Ashesh Choudhury 5 months ago

    The UMAT for clay hypoplasticity is constantly exiting due to strain rate becoming zero in ABAQUS that is, testnan=1. Why is it happening? I am using the properties for London clay. How do I resolve this?

  14. Ma Sinuo
    Ma Sinuo 5 months ago

    dear professor, when I use the dynamic/standard step,this umat doesn’t work,but when I use the static general step ,this umat works. Can anyone give some solution or suggestions, Looking for your help, THANK YOU.

Leave a reply

©2023 SoilModels

Log in with your credentials

Forgot your details?