User login

Navigation

You are here

How to Assign Initial Solution-dependent State Variable to VUMAT

Hi everyone,

      I just constructed a VUMAT which including 3 state dependent variables ( nstatev =3 ), let say these three state dependent variables each have a initial value of 10, 20 and 30, may I know how to assign these initial values into the simulation or VUMAT?

      So far I follow the manual to assign the initial value via input file with material properties command as below (the line started with "*Initial Conditions" is line 361):

** MATERIALS
**
*Material, name="USER MATERIAL"
*Density
6114.,
**
*User Material, constants=1
432.,
*Depvar
3,
*Initial Conditions, Type=Solution
10, 20, 30
**

      However, when I run the simulation I get the error below in DAT file:

              PROCESSING PART, INSTANCE, AND ASSEMBLY INFORMATION                   

      *******************************************************   

***ERROR: in keyword *INITIALCONDITIONS, file "inisv.inp", line 361: Unknown part instance name 0 

***NOTE: DUE TO AN INPUT ERROR THE ANALYSIS PRE-PROCESSOR HAS BEEN UNABLE TO INTERPRET SOME DATA. SUBSEQUENT ERRORS MAY BE CAUSED BY THIS OMISSION 

        END PROCESSING PART, INSTANCE, AND ASSEMBLY INFORMATION                   

      ***********************************************************

         Can anybody tell me what is the problem with my setting and how to actually assign intial values to state variables in an VUMAT?

Comments

Frank Richter's picture

Hello,

the definition of initial conditions seems correct. The error refers to the part instance name. It is likely not defined.

On
http://web.utk.edu/~ygao7/publications/
you find a UMAT for bulk metallic glass. Download the files
metallic_glass_umat*.*

Frank

------------------------------------------
Ruhr-University
Bochum
Germany

i am still struggling with  defining an initial condition in vumat. i have defined mine like this:

STATEV(1:nstatev)=stateOld(KM,1:nstatev) 

          if (steptime .eq. zero) then

          STATEV(1) = 1.0d0

            STATEV(2) = 1.0d0

            STATEV(3) = 1.0d0

            STATEV(4) = 0.0d0

            STATEV(5) = 0.0d0

            STATEV(6) = 0.0d0

            STATEV(7) = 0.0d0

            end if

      BBAR_DE_N(1,1)= STATEV(1)

      BBAR_DE_N(2,2)= STATEV(2)

      BBAR_DE_N(3,3)= STATEV(3)

      BBAR_DE_N(1,2)= STATEV(4)

      BBAR_DE_N(2,3)= STATEV(5)

      BBAR_DE_N(1,3)= STATEV(6)

      BBAR_DE_N(2,1)=BBAR_DE_N(1,2)

      BBAR_DE_N(3,2)=BBAR_DE_N(2,3)

      BBAR_DE_N(1,3)=BBAR_DE_N(3,1)

BBAR_TRIAL_NN= MATMUL(MATMUL(Fbarrel,BBAR_DE_N),TRANSPOSE(Fbarrel))

 STATEV(1)=BBAR_TRIAL_NN(1,1)

      STATEV(2)=BBAR_TRIAL_NN(2,2)

      STATEV(3)=BBAR_TRIAL_NN(3,3)

      STATEV(4)=BBAR_TRIAL_NN(1,2)

      STATEV(5)=BBAR_TRIAL_NN(2,3)

      STATEV(6)=BBAR_TRIAL_NN(1,3)

      i dont seem to be able to update bbar_trial_nn. when i write bbar_trial_nn all the terms are zero. 

by the way i used *initial condition, type=solution

elem,1,1,1,0,0,0 with elem being the name of my element. any help would be highly appreciated. 

 

 

manojsinghkiran's picture

Dear all,

I  gave some initial value to abaqus _ Python by VUMAT

*Initial Conditions, Type=Solution

[Elemet_set], Value(1)...,

Program is running but obd file is not generated for VUMAT.

 

BUT THE SAME IS RUNING PERFECTALY WITH UMAT. RESULT IS FINE.

 

With regards
Manoj Kumar

 

 

tarkes's picture

The syntax of the initial conditions defined by gnoji and the way codes are written by SAMICORP seems to be inapropriate.  I think its incorrect way of defining

The method I am describing below works well for an Implicit analysis. I believe it must be same or similar in explicit also:

Suppose 3 statevariables are needed which is defined by DEPVAR=3

Following are the codes of SDVINI subroutine to initialize statevariables

      SUBROUTINE SDVINI(STATEV,COORDS,NSTATV,NCRDS,NOEL,NPT,
     1 LAYER,KSPT)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION STATEV(NSTATV),COORDS(NCRDS)

! Initialization of STATEV
         STATEV(1:3)=<initial values as required by the user>
      RETURN
      END

 

After creating the subroutine file. You need to add a line in the .inp file or go to Model-1-> rightclick->Edit Keywords

Find the line after **Boundary Conditions,  before the **STEP

** PREDEFINED FIELDS

*INITIAL CONDITIONS, TYPE=SOLUTION, USER

Then click OK.

Thats it. When you run the simulation you can see the SDVs are intialized. If you want to cross check, Request output Solution Dependent Variable SDV in OUTPUT REQUEST. Feel free to contact me for any help. Details available when you click on my name.

manojsinghkiran's picture

Thanks Tarkes!

That is another way to do but their we can't give the initial value to group

of elements. By that mathod (SDVINI) whole domain are initialised by that initial value.

But i want to give some initial value to the particular group of elements by this mathod only (we can give). 

Thanks again!
With regardsManoj

Frank Richter's picture

Subscribe to and seek assistance from the
ABAQUS mailing list
https://groups.yahoo.com/group/ABAQUS
Search the archive before posting.

Good luck

Frank

Dear All,
I am working in user defined materail subroutine VUMAT. I need to initialize the SDVs for a particular set of elements. I have 6 SDVs. For that i made following cahnge in my input file :

*Depvar
6
*initial conditions, type = solution
elset_name, 0, 1, 0.5, 0, 1, 0

It gives following ERROR: THERE ARE INSUFFICIENT DATA CARDS TO DEFINE THE 6 SOLUTION 
DEPENDENT VARIABLES FOR ELSET ASSEMBLY_ELSETNAME

 

With regards

Vishal

Subscribe to Comments for "How to Assign Initial Solution-dependent State Variable to VUMAT"

Recent comments

More comments

Syndicate

Subscribe to Syndicate