SANISAND Abaqus UMAT and Plaxis implementations

SANISAND Abaqus UMAT and Plaxis implementations

Description: Abaqus UMAT and Plaxis implementations of SANISAND constitutive model by Dafalias and Manzari (2004).

Authors: Original implementation by M. Martinelli, C. Miriano and C. Tamagnini. Updated version of umat together with Plaxis interface programmed by D. Mašín. The updated version has been developed under the support of Zhejiang University, Hangzhou, China. Special thanks to Prof. Lizhong Wang and to a. Prof. Yi Hong for releasing the implementation to SoilModels users.


  • Dafalias, Y. F. and Manzari, M. T. (2004). Simple plasticity sand model accounting for fabric change effects. Journal of Engineering Mechanics, Volume 130, No. 6, 622-634.

Associated Software and Constitutive Models

  1. Win Mar Soe
    Win Mar Soe 6 years ago

    Hi, where can I read more details about sanisand model and what is the procedure to use in plaxis?

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

      Hi, please re-download the package, now you will find pdf files with information you need. regards David

  2. Krzysztof Sternik
    Krzysztof Sternik 6 years ago

    Hi David, in the file umat-sanisand-readme.pdf it is mentioned that there are two ways of generation of model parameters and state variables: standard and expert. Both involve usage of the subroutine sdvini.f. This file is missing in the package. Could you help?

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

      Hi Krzysztof, sdvini.f is no special, this is standard sdvini which you can get from Abaqus manual. In “standard” mode, you do not need it, you just must properly initialise number of state variables to 36 and set void ratio in Par19. In “expert” mode you need to understand what exactly each state variable means and initialise it accordingly in sdvini.f. But I do not think this is really needed, standard mode should be fine for most applications.

  3. Krzysztof Sternik
    Krzysztof Sternik 6 years ago

    Thank you!

  4. Reza Foroughi
    Reza Foroughi 5 years ago

    Hi David, can i use this model with plaxis v8?

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

      I do not think so. V8 had some different standards, you would have to update it yourself for the old version and compile it again.

  5. Reza Foroughi
    Reza Foroughi 5 years ago

    Hi David, about the file umat-sanisand, is it applicable for axismmetric or 2d manner?

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

      It is programmed using full 3D notation, so you can use it for 3D, 2D as well as axisymmetric analyses. As for programming, it is out of scope of this forum, but to be honest you should use most recent Plaxis I think.

  6. Reza Foroughi
    Reza Foroughi 5 years ago

    hi David.
    i simulate the bearing capacity of a rectangular shallow foundation with umat.
    but i think it is not work well.
    the p-y curve is similar to odometr behavior.
    can you help me?

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

      Dear Reza, I can hardly help you. Please note that the implementation here is provided as-is, without any support, and still requires considerable expertise to use. It might be your error, error in paramneters or initialisations, error in umat, or it even might correct response of the model which does not fit observations. In any case, you should either be able to identify the error or to fix error in umat. If you succeed, please share your results with the others. Regards David

  7. Reza Foroughi
    Reza Foroughi 5 years ago

    Dear David, thanks for your answer
    another question; about parameters of soil model, what is the parameter number 18 (Ptmult)?
    which number should i use?

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

      This is artificial cohesion to eliminate numerical issues. If your analysis runs smoothly, use 0. Otherwise, you can try some small value (say up to 5 kPa) to stabilise the calculation. Small value will have minor effect on strength while stabilising the simulation. Higher values would already affect material properties and then you would have to know what you are doing. Regards

  8. Mehrdad Khalilpour
    Mehrdad Khalilpour 5 years ago

    Dear David,
    Hi. I didn’t clearly understand how to implement the umat file into ABAQUS. is umat.for enough? could you please help me find any kind of resource in this area? I desperately need to implement SANISAD into ABAQUS.

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

    Hi Mehrdad, yes umat.for is what you need. However, to find how to use user defined models in Abaqus in general, I think you will have to study Abaqus manual thoroughly, as it is out of scope of SoilModels. Regards David

    • Mehrdad Khalilpour
      Mehrdad Khalilpour 5 years ago

      thanks, again in it, what is the difference between “Model Parameters” and “State variables”? are they in “SI” unit?

    MOHD SAQIB 5 years ago

    Dear David,
    It seems that UMAT is given for full Multiaxial Generalisation. Can you please provide me the UMAT only for triaxial monotonic and cyclic tests. I will be very thankful to you.

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

      Dear Mohd, UMAT is as a standard defined in 3D full-tensorial space. If you need to simulate triaxial tests, you simply call umat with stress tensor like [dot_sigax, dot_sigrad, dot_sigrad, 0, 0, 0] and strain tensor like [dot_epax, dot_eprad, dot_eprad, 0, 0, 0]. It is even easier to use one of the existing drivers available at soilmodels (such as,
      Regards David

      • Ning Luo
        Ning Luo 5 years ago

        Dear David,

        Thank you for sharing the code.

        I am trying to use it in ABAQUS, my question is in two folds: first from your experience of using the umat in PLAXIS, what are the most sensitive parameters (out of the 19) that can lead to sussessful or unsussessful analysis, or numerical instability? Second is that is the Jacobian matrix symmetrical in the code, or state in other way, is the material stffiness matrix unsymmetric?

        Thank you very much and I really appreciate your efforts.


  11. 航 申
    航 申 5 years ago

    Dear David,
    I want to use this UMAT to simulate a undrained triaxial compression test by ABAQUS,but I do not know how to set it.
    Can you help me?
    Thank you.

  12. Jorge Orozco
    Jorge Orozco 4 years ago


    I wanted to use the model to simulate a continuous pile driving. The program (PLAXIS) is asking me for 50 parameters, but according to the “manual”, I only need 19. What would be the problem with that? or do I actually need 50 parameters?

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

      Hi Jorge,
      In plaxis, you have to initialise state variables in “Parameters” window, as Plaxis does not allow for distiguishing between parameters and state variables in its input interface. Thus, after parameters, please proceed using “The meaning and order of state variables is as follows” as defined in readme.
      Regards David

      • Jorge Orozco
        Jorge Orozco 4 years ago

        Thank you very much, David. I thought to do it that way too, but it was better to be sure and ask you about it.

        Regards Jorge

  13. Sudipta Bhowmick
    Sudipta Bhowmick 3 years ago

    Dr. David,

    I am using the SANISAND model to simulate the DSS test. But every time, my iteration fails. I am just wondering, is it the updated version of SANISAND UMAT?

  14. Nasim Aftahi
    Nasim Aftahi 3 years ago

    Dear David,
    I tried to implement a unified dynamic soil model into PLAXIS, but it doesn’t calculate any strains, and it prints zero (or some times NaN amounts) into a text file. it causes PLAXIS doesn’t draw any plot in soil test part. I’d like to know the way of PLAXIS calculates the strains at the first step (initialing phase not finite element process).
    I would be grateful if you give your opinion related to this problem.

    Best Regards,

    Nasim Aftahi


    Hello SoilModels Team,

    I am trying to use the SANISAND umat implementation but am not sure of the compatibility of the umat with respect to the UMAT version. Can you help me with it? I currently have ABAQUS 6.14 and ABAQUS 2020 at my disposal. If I need any other version of ABAQUS please let me know. Your help would be much appreciated. Thanks in advance. Cheers

  16. Raj Banerjee
    Raj Banerjee 2 years ago

    Thank you very much sir..the umat is working perfectly fine.
    Thank you again for sharing your work. It is very helpful.

    With regards,
    Raj Banerjee

  17. Samanthika Liyanapathirana

    I have a question about the grad_f_Dm subroutine in SANISAND UMAT. When calculating the gradient of the yield function, subroutine multiplies the terms corresponding to shear by 2. This is Eq 14 in the paper. I cannot understand the reason for this multiplication. Can someone explain?

  18. Samanthika Liyanapathirana

    I found the reason after calculating the derivative in the long way. Thank you.

  19. KF JIAO
    KF JIAO 8 months ago

    Dear Mr David Mašín,
    There is a variable in your UMAT file named LDeR. What is its physical meaning and function when calculating the plastic modulus? I am very confused about this. I didn’t find an explanation about the term in the paper (Dafalias & Manzari, 2004). Could you please help with this?
    Looking forward to your reply,
    Best regards,

Leave a reply

©2024 SoilModels

Log in with your credentials

Forgot your details?