Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  kann vumat den umat aufrufen?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  kann vumat den umat aufrufen? (1332 mal gelesen)
Freiberg
Mitglied


Sehen Sie sich das Profil von Freiberg an!   Senden Sie eine Private Message an Freiberg  Schreiben Sie einen Gästebucheintrag für Freiberg

Beiträge: 1
Registriert: 21.01.2010

erstellt am: 21. Jan. 2010 15:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich versuche zur Zeit Vumat zu programmieren, aber das Stoffgesetze war schon als UMAT pragrammiert,ist es möglich, diesen UMAT als Subroutine bei Vumat aufzurufen? ich versuche wie folgend Programm:

      subroutine vumat (
C Read only -
    *    nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
    *    stepTime, totalTime, dt, cmname, coordMp, charLength,
    *    props, density, strainInc, relSpinInc,
    *    tempOld, stretchOld, defgradOld, fieldOld,
    *    stressOld, stateOld, enerInternOld, enerInelasOld,
    *    tempNew, stretchNew, defgradNew, fieldNew,
C Write only -
    *    stressNew, stateNew, enerInternNew, enerInelasNew )
C
      include 'vaba_param.inc'
C
      dimension coordMp(nblock,*), charLength(nblock), props(nprops),
    1    density(nblock), strainInc(nblock,ndir+nshr),
    2    relSpinInc(nblock,nshr), tempOld(nblock),
    3    stretchOld(nblock,ndir+nshr),
    4    defgradOld(nblock,ndir+nshr+nshr),
    5    fieldOld(nblock,nfieldv), stressOld(nblock,ndir+nshr),
    6    stateOld(nblock,nstatev), enerInternOld(nblock),
    7    enerInelasOld(nblock), tempNew(nblock),
    8    stretchNew(nblock,ndir+nshr),
    9    defgradNew(nblock,ndir+nshr+nshr),
    1    fieldNew(nblock,nfieldv),
    2    stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev),
    3    enerInternNew(nblock), enerInelasNew(nblock)
c
c
      character*80 cmname
      parameter ( zero = 0.d0, one = 1.d0, two = 2.d0,
    *    third = 1.d0 / 3.d0, half = 0.5d0, op5 = 1.5d0 )
c
c*******************************************************************************
the end of the interface of vumat
c*******************************************************************************
c*******************************************************************************
varialbe pass in information
*******************************************************************************
c
      dimension  stressold(ndir+nshr),statenew(nstatev),
    1            ddsdde(ndir+nshr,ndir+nshr),
    2            stran(ndir+nshr),dstran(ndir+nshr),time(2),predef(1),
    3            dpred(1),coords(3),drot(3,3),
    4            dfgrd0(3,3),dfgrd1(3,3)
c
c-----common-blocks-------------------------------------------------
c
c
************************************************************************
state variable update
************************************************************************
c
statenew=stateold
c
***********************************************************************
call umat
*********************************************************************
do i=1,nblock
call umat(stressold(i,1:ndir+nshr),statenew(i,1:nstatev),ddsdde,
    1 sse,spd,scd, rpl,ddsddt,drplde,drpldt,
    2 stran,dstran,time,dtime,temp,dtemp,predef,dpred,cmname,
    3 ndi,nshr,ntens,nstatv,props,nprops,coords,drot,pnewdt,
    4 celent,dfgrd0,dfgrd1,noel,npt,layer,kspt,kstep,kinc)
c
***********************************************************************
stress update
***********************************************************************
c
stressnew(i,1:ndir+nshr)=stressold(i,1:ndir+nshr)+
    & matmul(ddsdde,strainInc(i,1:ndir+nshr))
c
enddo
c
return
end
c

ich bitte jemond  um das Programm korrigieren.

viel Gruß

------------------
abaqus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Viktor M.
Mitglied
Wissenschaftlicher Mitarbeiter


Sehen Sie sich das Profil von Viktor M. an!   Senden Sie eine Private Message an Viktor M.  Schreiben Sie einen Gästebucheintrag für Viktor M.

Beiträge: 55
Registriert: 27.10.2008

erstellt am: 29. Jan. 2010 15:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Freiberg 10 Unities + Antwort hilfreich

Ich habe das noch nie versucht, sehe aber zunächst kein großes Problem.
Welche Fehler bekommst du denn?

Am besten wird sein, wenn du die umat importierst und als einfache subroutine behandelst.

MfG
Viktor

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz