Files
2026-08-18 23:24:35 +09:00

9.3 KiB
Raw Permalink Blame History

dE12Dj = term1 * E12
dE13Dj = term1 * E13
dE23Dj = term1 * E23
term2 = - third * detuInv
d2E11DjDj = term2 * dE11Dj
d2E22DjDj = term2 * dE22Dj
d2E33DjDj = term2 * dE33Dj
d2E12DjDj = term2 * dE12Dj
d2E13DjDj = term2 * dE13Dj
d2E23DjDj = term2 * dE23Dj
*
dUdE11 = d2UdE11dE11 * E11
* + d2UdE11dE22 * E22
* + d2UdE11dE33 * E33
dUdE22 = d2UdE22dE11 * E11
* + d2UdE22dE22 * E22
* + d2UdE22dE33 * E33
dUdE33 = d2UdE33dE11 * E11
* + d2UdE33dE22 * E22
* + d2UdE33dE33 * E33
dUdE12 = two * d2UdE12dE12 * E12
dUdE13 = two * d2UdE13dE13 * E13
dUdE23 = two * d2UdE23dE23 * E23
*
U = half * ( E11*dUdE11 + E22*dUdE22 + E33*dUdE33 )
* + E12*dUdE12 + E13*dUdE13 + E23*dUdE23
*
ua(2) = U
ua(1) = ua(2)
*
du1(1) = xpow * dUdE11
du1(2) = xpow * dUdE22
du1(3) = xpow * dUdE33
du1(4) = xpow * dUdE12
du1(5) = xpow * dUdE13
du1(6) = xpow * dUdE23
du1(7) = dUdE11*dE11Dj + dUdE22*dE22Dj + dUdE33*dE33Dj
* + two * ( dUdE12*dE12Dj
* + dUdE13*dE13Dj
* + dUdE23*dE23Dj )
*
xpow2 = xpow * xpow

*

du2 (indx(1,1)) = xpow2 * d2UdE11dE11
du2 (indx(1,2)) = xpow2 * d2UdE11dE22
du2 (indx(2,2)) = xpow2 * d2UdE22dE22
du2 (indx(1,3)) = xpow2 * d2UdE11dE33
du2 (indx(2,3)) = xpow2 * d2UdE22dE33
du2 (indx(3,3)) = xpow2 * d2UdE33dE33
du2 (indx(1,4)) = zero
du2 (indx(2,4)) = zero
du2 (indx(3,4)) = zero
du2 (indx(4,4)) = xpow2 * d2UdE12dE12
du2 (indx(1,5)) = zero
du2 (indx(2,5)) = zero
du2 (indx(3,5)) = zero
du2 (indx(4,5)) = zero
du2 (indx(5,5)) = xpow2 * d2UdE13dE13
du2 (indx(1,6)) = zero
du2 (indx(2,6)) = zero
du2 (indx(3,6)) = zero
du2 (indx(4,6)) = zero
du2 (indx(5,6)) = zero
du2 (indx(6,6)) = xpow2 * d2UdE23dE23 

*

du2(indx(1,7)) = xpow * (term1 * dUdE11
* + d2UdE11dE11 * dE11Dj
* + d2UdE11dE22 * dE22Dj
* + d2UdE11dE33 * dE33Dj)
du2(indx(2,7)) = xpow * (term1 * dUdE22
* + d2UdE22dE11 * dE11Dj
* + d2UdE22dE22 * dE22Dj
* + d2UdE22dE33 * dE33Dj)
du2(indx(3,7)) = xpow * (term1 * dUdE33
* + d2UdE33dE11 * dE11Dj
* + d2UdE33dE22 * dE22Dj
* + d2UdE33dE33 * dE33Dj)
du2(indx(4,7)) = xpow * (term1 * dUdE12
* + two * d2UdE12dE12 * dE12Dj)
du2(indx(5,7)) = xpow * (term1 * dUdE13
* + two * d2UdE13dE13 * dE23Dj)
du2(indx(6,7)) = xpow * (term1 * dUdE23
* + two * d2UdE23dE23 * dE13Dj)
du2(indx(7,7)) = dUdE11*d2E11DjDj
* +dUdE22*d2E22DjDj
* +dUdE33*d2E33DjDj
* + two*( dUdE12*d2E12DjDj
* +dUdE13*d2E13DjDj
* +dUdE23*d2E23DjDj)
* + d2UdE11dE11 * dE11Dj * dE11Dj
* + d2UdE22dE22 * dE22Dj * dE22Dj
* + d2UdE33dE33 * dE33Dj * dE33Dj
* + two * ( d2UdE11dE22 * dE11Dj * dE22Dj
* +d2UdE11dE33 * dE11Dj * dE33Dj
* +d2UdE22dE33 * dE22Dj * dE33Dj )
* + four * ( d2UdE12dE12 * dE12Dj * dE12Dj
* +d2UdE13dE13 * dE13Dj * dE13Dj
* +d2UdE23dE23 * dE23Dj * dE23Dj )
*
return
end
*
* Maps index from Square to Triangular storage
* of symmetric matrix
*
integer function index( i, j )
*
include 'aba_param.inc'
* 
ii = min(i,j)
jj = max(i,j)
*
indx = ii + jj*(jj-1)/2
*
return
end 

1.1.22 UCORR: User subroutine to define cross-correlation properties for random response loading.

Product: Abaqus/Standard

References

• “Random response analysis,” Section 6.3.11 of the Abaqus Analysis Users Guide
• *CORRELATION
• “Random response to jet noise excitation,” Section 1.4.10 of the Abaqus Benchmarks Guide

Overview

User subroutine UCORR:

• can be used to define the coefficients for the cross-correlation matrix in a random response analysis;
• will be called once for the combination of any two degrees of freedom with nonzero prescribed loads for each load case specified as a concentrated or distributed load or once for the combination of any two excitation directions specified as a base motion;
• allows correlation coefficients to be defined as a function of nodal coordinates; and
• ignores any data specified outside the user subroutine for the associated cross-correlation matrix.

Cross-correlation for base motion excitation

The spatial correlation matrix for base motion excitation is defined by the coefficients \Psi _ { i j } ^ { I J } in user subroutine UCORR, where i , j are excitation directions and J corresponds to the Jth frequency function referenced under load case I.

Cross-correlation for point loads and distributed loads

The spatial correlation matrix of the load is defined as follows. Let F _ { ( N , i ) } ^ { I } be the load applied to degree of freedom i at node N in load case I, through the use of a concentrated or distributed load. Let J correspond to the Jth frequency function referenced under load case I. The spatial correlation matrix used in the random response analysis for this load case is then


\Psi_ {(N, i) (M, j)} ^ {I J} = C _ {(N, i) (M, j)} ^ {I J} F _ {(N, i)} ^ {I} F _ {(M, j)} ^ {I},

where C _ { ( N , i ) ( M , j ) } ^ { I J } are the coefficients defined in user subroutine UCORR. Typically the load magnitude is given as 1.0; therefore, the load definition is simply selecting the nonzero terms that will appear in \Psi _ { ( N , i ) ( M , j ) } ^ { \bar { I } , J } .

User subroutine interface

SUBROUTINE UCORR(PSD,CORRR,CORRI,KSTEP,LCASE,JNODE1,JDOF1,1 JNODE2,JDOF2,COOR1,COOR2)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION COOR1(3),COOR2(3)
CHARACTER*80 PSD
user coding to define CORRR and CORRI
RETURN
END 

Variables to be defined

CORRR
Real part of the cross-correlation scaling factor.
CORRI
Imaginary part of the cross-correlation scaling factor. 

Variables passed in for information

PSD
User-specified name for the frequency function that references this correlation, left justified.

KSTEP
Step number.

LCASE
Load case number, I.

JNODE1
First node involved, N (not used for base motion excitation).

JDOF1
Degree of freedom i at the first node (for concentrated or distributed load excitation) or global e direction i (for base motion excitation).

JNODE2
Second node involved, M (not used for base motion excitation). 

JDOF2

Degree of freedom j at the second node (for concentrated or distributed load excitation) or global excitation direction j (for base motion excitation).

COOR1

An array containing the coordinates of the first node (not used for base motion excitation).

COOR2

An array containing the coordinates of the second node (not used for base motion excitation).

1.1.23 UCREEPNETWORK: User subroutine to define time-dependent behavior (creep) for models defined within the parallel rheological framework.

Product: Abaqus/Standard

References

• “Parallel rheological framework,” Section 22.8.2 of the Abaqus Analysis Users Guide
• “Nonlinear large-strain viscoelasticity with hyperelasticity,” Section 2.2.8 of the Abaqus Verification Guide
• *VISCOELASTIC

Overview

User subroutine UCREEPNETWORK:

• is intended to provide creep laws for nonlinear viscoelastic networks for models defined using the parallel rheological framework (see “Parallel rheological framework,” Section 22.8.2 of the Abaqus Analysis Users Guide);
• can use and update solution-dependent state variables; and
• can be used in conjunction with user subroutine USDFLD to redefine any field variables before they are passed in.

Model description

The user subroutine allows a creep law of the following general form to be defined:


\dot {\bar {\varepsilon}} ^ {c r} = g ^ {c r} (\bar {\varepsilon} ^ {c r}, I _ {1} ^ {c r}, \bar {I} _ {1}, \bar {I} _ {2}, J, p, \tilde {q}, t, \theta , F V),

where


I _ {1} ^ {c r} = \mathbf {I}: \mathbf {C} ^ {c r},

and

I is the identity tensor, \mathbf{C}^{cr} is the right Cauchy-Green creep strain tensor, \dot{\bar{\varepsilon}}^{cr} is the equivalent creep strain rate, \bar{\varepsilon}^{cr} is the equivalent creep strain, \bar{I}_1 is the first invariant of \bar{\mathbf{B}} , \bar{I}_2 is the second invariant of \bar{\mathbf{B}} , J is the determinant of the deformation gradient, \mathbf{F} ,

p is the Kirchhoff pressure, \tilde{q} is the equivalent deviatoric Kirchhoff stress, t is the time, \theta is the temperature, and FV are field variables.

The left Cauchy-Green strain tensor, , is defined as


\bar {\mathbf {B}} = \bar {\mathbf {F}} \bar {\mathbf {F}} ^ {T},

where is the deformation gradient with volume change eliminated, which is computed using


\bar {\mathbf {F}} = J ^ {- \frac {1}{3}} \mathbf {F}.

The user subroutine must define the increment of creep equivalent strain, \Delta \bar { \varepsilon } ^ { c r } , as a function of the time increment, \Delta t , and the variables used in the definition of \boldsymbol { \cdot } \boldsymbol { g } ^ { c r } , as well as the derivatives of the equivalent creep strain increment with respect to those variables. If any solution-dependent state variables are included in the definition of \boldsymbol { g } ^ { c r } , they must also be integrated forward in time in this user subroutine.

User subroutine interface ```csv subroutine ucreepnetwork ( C Must be updated

  • outputData, C Can be updated
  • statev, C Information (Read only)
  • nOutput,
  • nstatv,
  • networkid,
  • coords,
  • temp,
  • dtemp,
  • nfield,
  • predef,
  • dpred,
  • nprops,
  • props,
  • i_array,
  • niarray,
  • r_array,
  • nrarray,
  • c_array,