mostafa saad | 1 May 20:25 2011
Picon

Re: FORTRAN UHARD subroutine

 

Dear all:
In a paper titled: "Fatigue behaviour of an autofrettaged high-pressure vessel
for the food industry", J.M. Alegre *, P. Bravo, M. Preciado, they used ANSYS
program to model plastic material properties including the reyielding
(Bauschinger effect) by the following procedure:

"In the ANSYS [12] code, this process can be carried out by defining the
behaviour of the material as dependent on the temperature, which is itself
chosen to be proportional to the plastic strain reached in tension.

Before unloading, each node is assigned a temperature value which is equivalent
to the equivalent plastic strain reached by that node during the loading
process. When carrying out the unloading process, ANSYS assigns the material
behaviour to each node depending on its temperature (i.e., on the equivalent
plastic strain of the loading process)."

Using ABAQUS:
I can define the behavior of the material as dependent on the temperature, but
how can I make the temperature itself chosen to be proportional to the plastic
strain reached in tension?

I am trying to use "Coupled temp-displacement" in conjunction with “Heat
generation by plastic work”, but I feel that I am in the wrong way, am I?
The paper stated that the temperature itself is chosen to be proportional to the
plastic strain reached in tension; it seems that there is a check box or an
option not “Heat generation by plastic work”.
Is it a superior capability for ANSYS than ABAQUS?

Please say something.

Best Regards,
Mostafa Saad
mostafasaad <at> asme.org

________________________________
From: mostafa saad <engmost_s <at> yahoo.com>
To: Abaqus <at> yahoogroups.com
Sent: Sat, April 30, 2011 6:51:55 PM
Subject: FORTRAN UHARD subroutine

Dear All:

Please kindly send to me a user-defined FORTRAN subroutine UHARD to call out the
plastic material properties including the reyielding (Bauschinger effect) of an
autofrettaged thick walled cylinder.

your speed response will be highly appreciated

Best Regards,
Mostafa Saad
mostafasaad <at> asme.org

[Non-text portions of this message have been removed]

__._,_.___
Recent Activity:
Community email addresses:
  Post message: Abaqus <at> yahoogroups.com
  Subscribe:    Abaqus-subscribe <at> yahoogroups.com
  Unsubscribe:  Abaqus-unsubscribe <at> yahoogroups.com
  List owner:   Abaqus-owner <at> yahoogroups.com

Shortcut URL to this page:
  http://groups.yahoo.com/group/Abaqus
.

__,_._,___
fcn_public | 2 May 14:01 2011
Picon

Re: FORTRAN UHARD subroutine

 

Hi Mostafa,

> "In the ANSYS [12] code, this process can be carried out by
> defining the behaviour of the material as dependent on the
> temperature, which is itself chosen to be proportional to the
> plastic strain reached in tension.

You can do the same trick in ABAQUS

> Before unloading, each node is assigned a temperature value which
> is equivalent to the equivalent plastic strain reached by that node
> during the loading process. When carrying out the unloading
> process, ANSYS assigns the material behaviour to each node
> depending on its temperature (i.e., on the equivalent
> plastic strain of the loading process)."

What the authors are doing is a purely mechanical (elastoplastic) analysis, but after each step they redefine the temperature boundary conditions, choosing the new temperature so that the it matches the equivalent plastic strain. As their analysis does not take temperature into account, this effectively simulates the Bauschinger effect without programming a material subroutine. Note that, in order to assign the new temperature, they have to compute PEEQ *at the nodes*, and then compute (by interpolation) the corresponding temperature. Note that ABAQUS computes PEEQ at the integration points, so for each node you will have a variable number of contributions to average (one per element sharing the node).

Hope this helps,
Fernando

__._,_.___
Recent Activity:
Community email addresses:
  Post message: Abaqus <at> yahoogroups.com
  Subscribe:    Abaqus-subscribe <at> yahoogroups.com
  Unsubscribe:  Abaqus-unsubscribe <at> yahoogroups.com
  List owner:   Abaqus-owner <at> yahoogroups.com

Shortcut URL to this page:
  http://groups.yahoo.com/group/Abaqus
.

__,_._,___
mostafa saad | 8 May 00:38 2011
Picon

Re: Re: FORTRAN UHARD subroutine

 

Thanks Fernando.

Dear All:
I finished an ABAQUS model example considering the Bauschinger effect (see
attachments), but it needs a review.
The main problem is that the equivalent plastic strain without reverse yielding
at inner radius=0.01276 which correspond to 1000 Mpa reverse yielding point;
i.e. no reduction in the residual stresses at inner radius, is it happen in
practical?

I make a fake input to consider reduction in residual stress (see attached
excel).
Any respond will help.

Best regards,

Mostafa Saad
mostafasaad <at> asme.org

________________________________
From: fcn_public <who.is.mailing.me <at> gmail.com>
To: Abaqus <at> yahoogroups.com
Sent: Mon, May 2, 2011 2:01:03 PM
Subject: [Abaqus] Re: FORTRAN UHARD subroutine

Hi Mostafa,

> "In the ANSYS [12] code, this process can be carried out by
> defining the behaviour of the material as dependent on the
> temperature, which is itself chosen to be proportional to the
> plastic strain reached in tension.

You can do the same trick in ABAQUS

> Before unloading, each node is assigned a temperature value which
> is equivalent to the equivalent plastic strain reached by that node
> during the loading process. When carrying out the unloading
> process, ANSYS assigns the material behaviour to each node
> depending on its temperature (i.e., on the equivalent
> plastic strain of the loading process)."

What the authors are doing is a purely mechanical (elastoplastic) analysis, but
after each step they redefine the temperature boundary conditions, choosing the
new temperature so that the it matches the equivalent plastic strain. As their
analysis does not take temperature into account, this effectively simulates the
Bauschinger effect without programming a material subroutine. Note that, in
order to assign the new temperature, they have to compute PEEQ *at the nodes*,
and then compute (by interpolation) the corresponding temperature. Note that
ABAQUS computes PEEQ at the integration points, so for each node you will have a
variable number of contributions to average (one per element sharing the node).

Hope this helps,
Fernando

[Non-text portions of this message have been removed]

__._,_.___
Recent Activity:
Community email addresses:
  Post message: Abaqus <at> yahoogroups.com
  Subscribe:    Abaqus-subscribe <at> yahoogroups.com
  Unsubscribe:  Abaqus-unsubscribe <at> yahoogroups.com
  List owner:   Abaqus-owner <at> yahoogroups.com

Shortcut URL to this page:
  http://groups.yahoo.com/group/Abaqus
.

__,_._,___
Dave Lindeman | 2 May 17:28 2011

Re: Re: FORTRAN UHARD subroutine

 

1) In ABAQUS you can use field variables rather than relying on a
fictitious temperature. If necessary, the USDFLD subroutine can be used
to define the field variable values.

2) If you can, model the actual plasticity, rather than simply
modifying the elastic modulus.

Regards,
Dave

Dave Lindeman
Lead Research Specialist
3M Company
3M Center 235-3F-08
St. Paul, MN 55144
651-733-6383

On 5/1/2011 1:25 PM, mostafa saad wrote:
> Dear all:
> In a paper titled: "Fatigue behaviour of an autofrettaged high-pressure
> vessel
> for the food industry", J.M. Alegre *, P. Bravo, M. Preciado, they used
> ANSYS
> program to model plastic material properties including the reyielding
> (Bauschinger effect) by the following procedure:
>
> "In the ANSYS [12] code, this process can be carried out by defining the
> behaviour of the material as dependent on the temperature, which is itself
> chosen to be proportional to the plastic strain reached in tension.
>
> Before unloading, each node is assigned a temperature value which is
> equivalent
> to the equivalent plastic strain reached by that node during the loading
> process. When carrying out the unloading process, ANSYS assigns the
> material
> behaviour to each node depending on its temperature (i.e., on the
> equivalent
> plastic strain of the loading process)."
>
> Using ABAQUS:
> I can define the behavior of the material as dependent on the
> temperature, but
> how can I make the temperature itself chosen to be proportional to the
> plastic
> strain reached in tension?
>
> I am trying to use "Coupled temp-displacement" in conjunction with “Heat
> generation by plastic work”, but I feel that I am in the wrong way, am I?
> The paper stated that the temperature itself is chosen to be
> proportional to the
> plastic strain reached in tension; it seems that there is a check box or an
> option not “Heat generation by plastic work”.
> Is it a superior capability for ANSYS than ABAQUS?
>
> Please say something.
>
> Best Regards,
> Mostafa Saad
> mostafasaad <at> asme.org <mailto:mostafasaad%40asme.org>
>
> ________________________________
> From: mostafa saad <engmost_s <at> yahoo.com <mailto:engmost_s%40yahoo.com>>
> To: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
> Sent: Sat, April 30, 2011 6:51:55 PM
> Subject: FORTRAN UHARD subroutine
>
> Dear All:
>
> Please kindly send to me a user-defined FORTRAN subroutine UHARD to call
> out the
> plastic material properties including the reyielding (Bauschinger
> effect) of an
> autofrettaged thick walled cylinder.
>
> your speed response will be highly appreciated
>
> Best Regards,
> Mostafa Saad
> mostafasaad <at> asme.org <mailto:mostafasaad%40asme.org>
>
> [Non-text portions of this message have been removed]
>
>

__._,_.___
Recent Activity:
Community email addresses:
  Post message: Abaqus <at> yahoogroups.com
  Subscribe:    Abaqus-subscribe <at> yahoogroups.com
  Unsubscribe:  Abaqus-unsubscribe <at> yahoogroups.com
  List owner:   Abaqus-owner <at> yahoogroups.com

Shortcut URL to this page:
  http://groups.yahoo.com/group/Abaqus
.

__,_._,___
sunil goyal | 5 May 06:54 2011
Picon

creep subroutine

 

Hi friends,
 
I am trying to write a subroutine "CREEP" with "UVARM". The constitutive equation for creep requires von-Mises stress and SP3 (max. principal stress) from previous increment. I used GETVRM to get these values from last increment.
 
call GETVRM('SINV',-----)
MISES=ARRAY(1)
call GETVRM('SINV',-----)
SP3=ARRAY(1)
but it is giving werror "This name has not been declared as an array"
 
Whether i need to write UMAT in such a case or it is possible to call SP3 and MISES in CREEP subroutine.
 
Kind Regards,
 
-Goyal

[Non-text portions of this message have been removed]

__._,_.___
Recent Activity:
Community email addresses:
  Post message: Abaqus <at> yahoogroups.com
  Subscribe:    Abaqus-subscribe <at> yahoogroups.com
  Unsubscribe:  Abaqus-unsubscribe <at> yahoogroups.com
  List owner:   Abaqus-owner <at> yahoogroups.com

Shortcut URL to this page:
  http://groups.yahoo.com/group/Abaqus
.

__,_._,___
Dave Lindeman | 5 May 15:30 2011

Re: creep subroutine

Does the line:

DIMENSION ARRAY(15),JARRAY(15),JMAX(*),JMATYP(*),COORD(*)

appear in your UVARM subroutine?

Regards,
Dave

Dave Lindeman
Lead Research Specialist
3M Company
3M Center 235-3F-08
St. Paul, MN 55144
651-733-6383

On 5/4/2011 11:54 PM, sunil goyal wrote:
> Hi friends,
>
> I am trying to write a subroutine "CREEP" with "UVARM". The constitutive
> equation for creep requires von-Mises stress and SP3 (max. principal
> stress) from previous increment. I used GETVRM to get these values from
> last increment.
>
> call GETVRM('SINV',-----)
> MISES=ARRAY(1)
> call GETVRM('SINV',-----)
> SP3=ARRAY(1)
> but it is giving werror "This name has not been declared as an array"
>
> Whether i need to write UMAT in such a case or it is possible to call
> SP3 and MISES in CREEP subroutine.
>
> Kind Regards,
>
> -Goyal
>
> [Non-text portions of this message have been removed]
>
> 

------------------------------------

sunil goyal | 5 May 15:56 2011
Picon

Re: creep subroutine

The error message is related with creep subroutine. i am not able to call these value in creep
subroutine. i am using UVARM like this...
 
      SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,
     1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,
     2 JMAC,JMATYP,MATLAYO,LACCFLA)
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME,ORNAME
      CHARACTER*3 FLGRAY(15)
      DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2)
      DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)

 call GETVRM('SINV',-----)
> MISES=ARRAY(1)
> call GETVRM('SP',-----)
> SP3=ARRAY(1)
 and then i am using these (MISES and SP) in DECRA(1) equation in CREEP subroutine.
whether i need "UVAR(1) = ARRAY(1)" this kind of statement UVARM? if so then when i am defining mises at
some place in DECRA(1) do i need to write Mises or UVAR(1).

i dont know how to store these variables (MISES and SP) in UVARM?
 
and how to use these in creep subroutine. Kindly tell me by giving some example.
i hope i could covey my doubt.
 
Kind Regards,
 
-Goyal
 
 
 
 
--- On Thu, 5/5/11, Dave Lindeman <ddlindeman <at> mmm.com> wrote:

From: Dave Lindeman <ddlindeman <at> mmm.com>
Subject: Re: [Abaqus] creep subroutine
To: Abaqus <at> yahoogroups.com
Date: Thursday, May 5, 2011, 7:00 PM

Does the line:

DIMENSION ARRAY(15),JARRAY(15),JMAX(*),JMATYP(*),COORD(*)

appear in your UVARM subroutine?

Regards,
Dave

Dave Lindeman
Lead Research Specialist
3M Company
3M Center 235-3F-08
St. Paul, MN 55144
651-733-6383

On 5/4/2011 11:54 PM, sunil goyal wrote:
> Hi friends,
>
> I am trying to write a subroutine "CREEP" with "UVARM". The constitutive
> equation for creep requires von-Mises stress and SP3 (max. principal
> stress) from previous increment. I used GETVRM to get these values from
> last increment.
>
> call GETVRM('SINV',-----)
> MISES=ARRAY(1)
> call GETVRM('SINV',-----)
> SP3=ARRAY(1)
> but it is giving werror "This name has not been declared as an array"
>
> Whether i need to write UMAT in such a case or it is possible to call
> SP3 and MISES in CREEP subroutine.
>
> Kind Regards,
>
> -Goyal
>
> [Non-text portions of this message have been removed]
>
> 

------------------------------------

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  a {
    color: #1e66ae;
  }

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }

  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }

  #ygrp-mlmsg a {
    color: #1E66AE;
  }

  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->

Dave Lindeman | 9 May 18:51 2011

Re: creep subroutine

You probably want to use USDFLD in place of UVARM -- i.e., retrieve the 
values of interest using GETVRM within USDFLD, store the values as field 
variables, then retrieve the field variable values within the CREEP 
subroutine.

Regards,
Dave

Dave Lindeman
Lead Research Specialist
3M Company
3M Center 235-3F-08
St. Paul, MN 55144
651-733-6383

On 5/5/2011 8:56 AM, sunil goyal wrote:
> The error message is related with creep subroutine. i am not able to
> call these value in creep subroutine. i am using UVARM like this...
>
>        SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,
>       1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,
>       2 JMAC,JMATYP,MATLAYO,LACCFLA)
>        INCLUDE 'ABA_PARAM.INC'
> C
>        CHARACTER*80 CMNAME,ORNAME
>        CHARACTER*3 FLGRAY(15)
>        DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2)
>        DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
>
>   call GETVRM('SINV',-----)
>  > MISES=ARRAY(1)
>  > call GETVRM('SP',-----)
>  > SP3=ARRAY(1)
>   and then i am using these (MISES and SP) in DECRA(1) equation in CREEP
> subroutine.
> whether i need "UVAR(1) = ARRAY(1)" this kind of statement UVARM? if so
> then when i am defining mises at some place in DECRA(1) do i need to
> write Mises or UVAR(1).
>
> i dont know how to store these variables (MISES and SP) in UVARM?
>
> and how to use these in creep subroutine. Kindly tell me by giving some
> example.
> i hope i could covey my doubt.
>
> Kind Regards,
>
> -Goyal
>
>
>
>
> --- On Thu, 5/5/11, Dave Lindeman <ddlindeman <at> mmm.com
> <mailto:ddlindeman%40mmm.com>> wrote:
>
> From: Dave Lindeman <ddlindeman <at> mmm.com <mailto:ddlindeman%40mmm.com>>
> Subject: Re: [Abaqus] creep subroutine
> To: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
> Date: Thursday, May 5, 2011, 7:00 PM
>
> Does the line:
>
> DIMENSION ARRAY(15),JARRAY(15),JMAX(*),JMATYP(*),COORD(*)
>
> appear in your UVARM subroutine?
>
> Regards,
> Dave
>
> Dave Lindeman
> Lead Research Specialist
> 3M Company
> 3M Center 235-3F-08
> St. Paul, MN 55144
> 651-733-6383
>
> On 5/4/2011 11:54 PM, sunil goyal wrote:
>  > Hi friends,
>  >
>  > I am trying to write a subroutine "CREEP" with "UVARM". The constitutive
>  > equation for creep requires von-Mises stress and SP3 (max. principal
>  > stress) from previous increment. I used GETVRM to get these values from
>  > last increment.
>  >
>  > call GETVRM('SINV',-----)
>  > MISES=ARRAY(1)
>  > call GETVRM('SINV',-----)
>  > SP3=ARRAY(1)
>  > but it is giving werror "This name has not been declared as an array"
>  >
>  > Whether i need to write UMAT in such a case or it is possible to call
>  > SP3 and MISES in CREEP subroutine.
>  >
>  > Kind Regards,
>  >
>  > -Goyal
>  >
>  > [Non-text portions of this message have been removed]
>  >
>  >
>
> ------------------------------------
>
> Community email addresses:
>    Post message: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
>    Subscribe: Abaqus-subscribe <at> yahoogroups.com
> <mailto:Abaqus-subscribe%40yahoogroups.com>
>    Unsubscribe: Abaqus-unsubscribe <at> yahoogroups.com
> <mailto:Abaqus-unsubscribe%40yahoogroups.com>
>    List owner: Abaqus-owner <at> yahoogroups.com
> <mailto:Abaqus-owner%40yahoogroups.com>
>
> Shortcut URL to this page:
> http://groups.yahoo.com/group/AbaqusYahoo! Groups Links
>
> [Non-text portions of this message have been removed]
>
> 

------------------------------------

sunil goyal | 11 May 10:21 2011
Picon

Re: creep subroutine

 

Thanks for the info...
 
Exactly what is the difference between UVARM and USDFLD? I mean in both the subroutines we store the variables and call the variables in other subroutine. Which one is appropriate for me (creep problem)? One more thing is that whether i need to wite COMMON statement for variables common in both the subroutines ?
 
Regards,
 
-Goyal

--- On Mon, 5/9/11, Dave Lindeman <ddlindeman <at> mmm.com> wrote:

From: Dave Lindeman <ddlindeman <at> mmm.com>
Subject: Re: [Abaqus] creep subroutine
To: Abaqus <at> yahoogroups.com
Date: Monday, May 9, 2011, 10:21 PM

You probably want to use USDFLD in place of UVARM -- i.e., retrieve the
values of interest using GETVRM within USDFLD, store the values as field
variables, then retrieve the field variable values within the CREEP
subroutine.

Regards,
Dave

Dave Lindeman
Lead Research Specialist
3M Company
3M Center 235-3F-08
St. Paul, MN 55144
651-733-6383

On 5/5/2011 8:56 AM, sunil goyal wrote:
> The error message is related with creep subroutine. i am not able to
> call these value in creep subroutine. i am using UVARM like this...
>
>        SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,
>       1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,
>       2 JMAC,JMATYP,MATLAYO,LACCFLA)
>        INCLUDE 'ABA_PARAM.INC'
> C
>        CHARACTER*80 CMNAME,ORNAME
>        CHARACTER*3 FLGRAY(15)
>        DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2)
>        DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
>
>   call GETVRM('SINV',-----)
>  > MISES=ARRAY(1)
>  > call GETVRM('SP',-----)
>  > SP3=ARRAY(1)
>   and then i am using these (MISES and SP) in DECRA(1) equation in CREEP
> subroutine.
> whether i need "UVAR(1) = ARRAY(1)" this kind of statement UVARM? if so
> then when i am defining mises at some place in DECRA(1) do i need to
> write Mises or UVAR(1).
>
> i dont know how to store these variables (MISES and SP) in UVARM?
>
> and how to use these in creep subroutine. Kindly tell me by giving some
> example.
> i hope i could covey my doubt.
>
> Kind Regards,
>
> -Goyal
>
>
>
>
> --- On Thu, 5/5/11, Dave Lindeman <ddlindeman <at> mmm.com
> <mailto:ddlindeman%40mmm.com>> wrote:
>
> From: Dave Lindeman <ddlindeman <at> mmm.com <mailto:ddlindeman%40mmm.com>>
> Subject: Re: [Abaqus] creep subroutine
> To: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
> Date: Thursday, May 5, 2011, 7:00 PM
>
> Does the line:
>
> DIMENSION ARRAY(15),JARRAY(15),JMAX(*),JMATYP(*),COORD(*)
>
> appear in your UVARM subroutine?
>
> Regards,
> Dave
>
> Dave Lindeman
> Lead Research Specialist
> 3M Company
> 3M Center 235-3F-08
> St. Paul, MN 55144
> 651-733-6383
>
> On 5/4/2011 11:54 PM, sunil goyal wrote:
>  > Hi friends,
>  >
>  > I am trying to write a subroutine "CREEP" with "UVARM". The constitutive
>  > equation for creep requires von-Mises stress and SP3 (max. principal
>  > stress) from previous increment. I used GETVRM to get these values from
>  > last increment.
>  >
>  > call GETVRM('SINV',-----)
>  > MISES=ARRAY(1)
>  > call GETVRM('SINV',-----)
>  > SP3=ARRAY(1)
>  > but it is giving werror "This name has not been declared as an array"
>  >
>  > Whether i need to write UMAT in such a case or it is possible to call
>  > SP3 and MISES in CREEP subroutine.
>  >
>  > Kind Regards,
>  >
>  > -Goyal
>  >

__._,_.___
Recent Activity:
Community email addresses:
  Post message: Abaqus <at> yahoogroups.com
  Subscribe:    Abaqus-subscribe <at> yahoogroups.com
  Unsubscribe:  Abaqus-unsubscribe <at> yahoogroups.com
  List owner:   Abaqus-owner <at> yahoogroups.com

Shortcut URL to this page:
  http://groups.yahoo.com/group/Abaqus
.

__,_._,___
Dave Lindeman | 11 May 16:04 2011

Re: creep subroutine

Field variables can be viewed as additional degrees-of-freedom that are 
defined by the user (either directly or through the USDFLD subroutine). 
  They are present during the solution process, so material properties 
can be defined as functions of theses variables.

UVARM is used to calculate and store user-defined results values.  These 
values are written to the output database, and will be available for 
postprocessing, but are not active within the solution process.

If you use field variables, you will not need to use a COMMON block -- 
the field variable values will be passed in to the CREEP subroutine.

Regards,
Dave

Dave Lindeman
Lead Research Specialist
3M Company
3M Center 235-3F-08
St. Paul, MN 55144
651-733-6383

On 5/11/2011 3:21 AM, sunil goyal wrote:
> Thanks for the info...
>
> Exactly what is the difference between UVARM and USDFLD? I mean in both
> the subroutines we store the variables and call the variables in other
> subroutine. Which one is appropriate for me (creep problem)? One more
> thing is that whether i need to wite COMMON statement for variables
> common in both the subroutines ?
>
> Regards,
>
> -Goyal
>
> --- On Mon, 5/9/11, Dave Lindeman <ddlindeman <at> mmm.com
> <mailto:ddlindeman%40mmm.com>> wrote:
>
> From: Dave Lindeman <ddlindeman <at> mmm.com <mailto:ddlindeman%40mmm.com>>
> Subject: Re: [Abaqus] creep subroutine
> To: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
> Date: Monday, May 9, 2011, 10:21 PM
>
> You probably want to use USDFLD in place of UVARM -- i.e., retrieve the
> values of interest using GETVRM within USDFLD, store the values as field
> variables, then retrieve the field variable values within the CREEP
> subroutine.
>
> Regards,
> Dave
>
> Dave Lindeman
> Lead Research Specialist
> 3M Company
> 3M Center 235-3F-08
> St. Paul, MN 55144
> 651-733-6383
>
> On 5/5/2011 8:56 AM, sunil goyal wrote:
>  > The error message is related with creep subroutine. i am not able to
>  > call these value in creep subroutine. i am using UVARM like this...
>  >
>  >        SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,
>  >       1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,
>  >       2 JMAC,JMATYP,MATLAYO,LACCFLA)
>  >        INCLUDE 'ABA_PARAM.INC'
>  > C
>  >        CHARACTER*80 CMNAME,ORNAME
>  >        CHARACTER*3 FLGRAY(15)
>  >        DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2)
>  >        DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
>  >
>  >   call GETVRM('SINV',-----)
>  > > MISES=ARRAY(1)
>  > > call GETVRM('SP',-----)
>  > > SP3=ARRAY(1)
>  >   and then i am using these (MISES and SP) in DECRA(1) equation in CREEP
>  > subroutine.
>  > whether i need "UVAR(1) = ARRAY(1)" this kind of statement UVARM? if so
>  > then when i am defining mises at some place in DECRA(1) do i need to
>  > write Mises or UVAR(1).
>  >
>  > i dont know how to store these variables (MISES and SP) in UVARM?
>  >
>  > and how to use these in creep subroutine. Kindly tell me by giving some
>  > example.
>  > i hope i could covey my doubt.
>  >
>  > Kind Regards,
>  >
>  > -Goyal
>  >
>  >
>  >
>  >
>  > --- On Thu, 5/5/11, Dave Lindeman <ddlindeman <at> mmm.com
> <mailto:ddlindeman%40mmm.com>
>  > <mailto:ddlindeman%40mmm.com>> wrote:
>  >
>  > From: Dave Lindeman <ddlindeman <at> mmm.com <mailto:ddlindeman%40mmm.com>
> <mailto:ddlindeman%40mmm.com>>
>  > Subject: Re: [Abaqus] creep subroutine
>  > To: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
> <mailto:Abaqus%40yahoogroups.com>
>  > Date: Thursday, May 5, 2011, 7:00 PM
>  >
>  > Does the line:
>  >
>  > DIMENSION ARRAY(15),JARRAY(15),JMAX(*),JMATYP(*),COORD(*)
>  >
>  > appear in your UVARM subroutine?
>  >
>  > Regards,
>  > Dave
>  >
>  > Dave Lindeman
>  > Lead Research Specialist
>  > 3M Company
>  > 3M Center 235-3F-08
>  > St. Paul, MN 55144
>  > 651-733-6383
>  >
>  > On 5/4/2011 11:54 PM, sunil goyal wrote:
>  > > Hi friends,
>  > >
>  > > I am trying to write a subroutine "CREEP" with "UVARM". The
> constitutive
>  > > equation for creep requires von-Mises stress and SP3 (max. principal
>  > > stress) from previous increment. I used GETVRM to get these values from
>  > > last increment.
>  > >
>  > > call GETVRM('SINV',-----)
>  > > MISES=ARRAY(1)
>  > > call GETVRM('SINV',-----)
>  > > SP3=ARRAY(1)
>  > > but it is giving werror "This name has not been declared as an array"
>  > >
>  > > Whether i need to write UMAT in such a case or it is possible to call
>  > > SP3 and MISES in CREEP subroutine.
>  > >
>  > > Kind Regards,
>  > >
>  > > -Goyal
>  > >
>
> 

------------------------------------

sunil goyal | 13 May 12:42 2011
Picon

Re: creep subroutine

Dear Dr. Dave,
 
Now its clear to me and i have wrote USDFLD with CREEP and it worked. Thanks you very much for the suggestion.
But if i am not using COMMON block for both the subroutines then it gives error in CREEP subroutine saying
that "variable is used before its value has been defined".
 
Regards,
 
-Goyal

--- On Wed, 5/11/11, Dave Lindeman <ddlindeman <at> mmm.com> wrote:

From: Dave Lindeman <ddlindeman <at> mmm.com>
Subject: Re: [Abaqus] creep subroutine
To: Abaqus <at> yahoogroups.com
Date: Wednesday, May 11, 2011, 7:34 PM

Field variables can be viewed as additional degrees-of-freedom that are 
defined by the user (either directly or through the USDFLD subroutine). 
  They are present during the solution process, so material properties 
can be defined as functions of theses variables.

UVARM is used to calculate and store user-defined results values.  These 
values are written to the output database, and will be available for 
postprocessing, but are not active within the solution process.

If you use field variables, you will not need to use a COMMON block -- 
the field variable values will be passed in to the CREEP subroutine.

Regards,
Dave

Dave Lindeman
Lead Research Specialist
3M Company
3M Center 235-3F-08
St. Paul, MN 55144
651-733-6383

On 5/11/2011 3:21 AM, sunil goyal wrote:
> Thanks for the info...
>
> Exactly what is the difference between UVARM and USDFLD? I mean in both
> the subroutines we store the variables and call the variables in other
> subroutine. Which one is appropriate for me (creep problem)? One more
> thing is that whether i need to wite COMMON statement for variables
> common in both the subroutines ?
>
> Regards,
>
> -Goyal
>
> --- On Mon, 5/9/11, Dave Lindeman <ddlindeman <at> mmm.com
> <mailto:ddlindeman%40mmm.com>> wrote:
>
> From: Dave Lindeman <ddlindeman <at> mmm.com <mailto:ddlindeman%40mmm.com>>
> Subject: Re: [Abaqus] creep subroutine
> To: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
> Date: Monday, May 9, 2011, 10:21 PM
>
> You probably want to use USDFLD in place of UVARM -- i.e., retrieve the
> values of interest using GETVRM within USDFLD, store the values as field
> variables, then retrieve the field variable values within the CREEP
> subroutine.
>
> Regards,
> Dave
>
> Dave Lindeman
> Lead Research Specialist
> 3M Company
> 3M Center 235-3F-08
> St. Paul, MN 55144
> 651-733-6383
>
> On 5/5/2011 8:56 AM, sunil goyal wrote:
>  > The error message is related with creep subroutine. i am not able to
>  > call these value in creep subroutine. i am using UVARM like this...
>  >
>  >        SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,
>  >       1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,
>  >       2 JMAC,JMATYP,MATLAYO,LACCFLA)
>  >        INCLUDE 'ABA_PARAM.INC'
>  > C
>  >        CHARACTER*80 CMNAME,ORNAME
>  >        CHARACTER*3 FLGRAY(15)
>  >        DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2)
>  >        DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
>  >
>  >   call GETVRM('SINV',-----)
>  > > MISES=ARRAY(1)
>  > > call GETVRM('SP',-----)
>  > > SP3=ARRAY(1)
>  >   and then i am using these (MISES and SP) in DECRA(1) equation in CREEP
>  > subroutine.
>  > whether i need "UVAR(1) = ARRAY(1)" this kind of statement UVARM? if so
>  > then when i am defining mises at some place in DECRA(1) do i need to
>  > write Mises or UVAR(1).
>  >
>  > i dont know how to store these variables (MISES and SP) in UVARM?
>  >
>  > and how to use these in creep subroutine. Kindly tell me by giving some
>  > example.
>  > i hope i could covey my doubt.
>  >
>  > Kind Regards,
>  >
>  > -Goyal
>  >
>  >
>  >
>  >
>  > --- On Thu, 5/5/11, Dave Lindeman <ddlindeman <at> mmm.com
> <mailto:ddlindeman%40mmm.com>
>  > <mailto:ddlindeman%40mmm.com>> wrote:
>  >
>  > From: Dave Lindeman <ddlindeman <at> mmm.com <mailto:ddlindeman%40mmm.com>
> <mailto:ddlindeman%40mmm.com>>
>  > Subject: Re: [Abaqus] creep subroutine
>  > To: Abaqus <at> yahoogroups.com <mailto:Abaqus%40yahoogroups.com>
> <mailto:Abaqus%40yahoogroups.com>
>  > Date: Thursday, May 5, 2011, 7:00 PM
>  >
>  > Does the line:
>  >
>  > DIMENSION ARRAY(15),JARRAY(15),JMAX(*),JMATYP(*),COORD(*)
>  >
>  > appear in your UVARM subroutine?
>  >
>  > Regards,
>  > Dave
>  >
>  > Dave Lindeman
>  > Lead Research Specialist
>  > 3M Company
>  > 3M Center 235-3F-08
>  > St. Paul, MN 55144
>  > 651-733-6383
>  >
>  > On 5/4/2011 11:54 PM, sunil goyal wrote:
>  > > Hi friends,
>  > >
>  > > I am trying to write a subroutine "CREEP" with "UVARM". The
> constitutive
>  > > equation for creep requires von-Mises stress and SP3 (max. principal
>  > > stress) from previous increment. I used GETVRM to get these values from
>  > > last increment.
>  > >
>  > > call GETVRM('SINV',-----)
>  > > MISES=ARRAY(1)
>  > > call GETVRM('SINV',-----)
>  > > SP3=ARRAY(1)
>  > > but it is giving werror "This name has not been declared as an array"
>  > >
>  > > Whether i need to write UMAT in such a case or it is possible to call
>  > > SP3 and MISES in CREEP subroutine.
>  > >
>  > > Kind Regards,
>  > >
>  > > -Goyal
>  > >
>
> 

------------------------------------

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  a {
    color: #1e66ae;
  }

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }

  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }

  #ygrp-mlmsg a {
    color: #1E66AE;
  }

  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


Gmane