Files
MultiPhysicsVault/.raw/FiniteElementsinPlasticityTheoryandPractice/FiniteElementsinPlasticityTheoryandPractice_031.md
T
김경종 bd50e09e36
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
add documents
2026-06-02 11:38:52 +09:00

21 KiB
Raw Blame History

IF(FNORM.LT.ALLOW) GO TO 70 SPVP 77
EPBAR=SQRT((2.0*(AVECT(1)*AVECT(1)+AVECT(2)*AVECT(2)+AVECT(4) SPVP 78
.*AVECT(4))+AVECT(3)*AVECT(3))/3.0) SPVP 79
TSBAR=SQRT((2.0*(SVECT(1)*SVECT(1)+SVECT(2)*SVECT(2)+SVECT(4) SPVP 80
.*SVECT(4))+SVECT(3)*SVECT(3))/3.0) SPVP 81
DELTM=TAUFT*TSBAR/EPBAR SPVP 82
IF(DELTM.LT.DNEXT) DNEXT=DELTM SPVP 83
70 CONTINUE SPVP 84
80 CONTINUE SPVP 85
DTIME=DNEXT SPVP 86
IF(ISTEP.EQ.1) DTIME=DTINT SPVP 87
KGAUS=0 SPVP 88
DO 140 IELEM=1,NELEM SPVP 89
LPROP=MATNO(IELEM) SPVP 90
DO 90 INODE=1,NNODE SPVP 91
LNODE=IABS(LNODS(IELEM,INODE)) SPVP 92
NPOSN=(LNODE-1)*NDOFN SPVP 93
DO 90 IDOFN=1,NDOFN SPVP 94
NPOSN=NPOSN+1 SPVP 95
90 ELCOD(IDOFN,INODE)=COORD(LNODE,IDOFN) SPVP 96
THICK=PROPS(LPROP,3) SPVP 97
KGASP=0 SPVP 98
DO 130 IGAUS=1,NGAUS SPVP 99
DO 130 JGAUS=1,NGAUS SPVP 100
EXISP=POSGP(IGAUS) SPVP 101
ETASP=POSGP(JGAUS) SPVP 102
KGAUS=KGAUS+1 SPVP 103
KGASP=KGASP+1 SPVP 104
CALL SFR2(DERIV,ETASP,EXISP,NNODE,SHAPE) SPVP 105
CALL JACOB2(CARTD,DERIV,DJACB,ELCOD,GPCOD,IELEM,KGASP,NNODE,SHAPE) SPVP 106
DVOLU=DJACB*WEIGP(IGAUS)*WEIGP(JGAUS) SPVP 107
IF(NTYPE.EQ.3) DVOLU=DVOLU*TWOPI*GPCOD(1,KGASP) SPVP 108
IF(THICK.NE.0.0) DVOLU=DVOLU*THICK SPVP 109
CALL BMATPS(BMATX,CARTD,NNODE,SHAPE,GPCOD,NTYPE,KGASP) SPVP 110
CALL MODPS(DMATX,LPROP,MMATS,NTYPE,PROPS) SPVP 111
DO 100 ISTR1=1,NSTR1 SPVP 112
100 STRES(ISTR1)=STRSG(ISTR1,KGAUS) SPVP 113
CALL INVAR(DEVIA,LPROP,MMATS,NCRIT,PROPS,SINT3,STEFF,STRES,THETA, SPVP 114
.VARJ2,YIELD) SPVP 115
IF(TIMEX.GT.0.0) CALL TANGVP(LPROP,STRES,PROPS,TIMEX,DTIME, SPVP 116
.NSTRE,NTYPE,MMATS,NCRIT,DMATX) SPVP 117
C SPVP 118
C*** CALCULATE THE RESIDUAL FORCES AND INCREMENTAL PSEUDO LOADS SPVP 119
C SPVP 120
DO 110 ISTRE=1,NSTRE SPVP 121
STRES(ISTRE)=0.0 SPVP 122
DO 110 JSTRE=1,NSTRE SPVP 123
110 STRES(ISTRE)=STRES(ISTRE)+DMATX(ISTRE,JSTRE)*VIVEL(JSTRE,KGAUS) SPVP 124
.*DTIME SPVP 125
MGASH=0 SPVP 126
DO 120 INODE=1,NNODE SPVP 127
DO 120 IDOFN=1,NNODFN SPVP 128
MGASH=MGASH+1 SPVP 129
DO 120 ISTRE=1,NSTRE SPVP 130
120 ELOAD(IELEM,MGASH)=ELOAD(IELEM,MGASH)+BMATX(ISTRE,MGASH) SPVP 131
.*(STRES(ISTRE)-STRSG(ISTRE,KGAUS))*DVOLU SPVP 132
130 CONTINUE SPVP 133
140 CONTINUE SPVP 134
DO 150 IELEM=1,NELEM SPVP 135
DO 150 IEVAB=1,NEVAB SPVP 136
150 ELOAD(IELEM,IEVAB)=ELOAD(IELEM,IEVAB)+TLOAD(IELEM,IEVAB) SPVP 137
RETURN SPVP 138
END SPVP 139

SPVP 20 Compute 2π.

SPVP 2123 Zero the array in which the pseudo loads for the next time-step will be stored.

SPVP 24 Zero the Gauss point counter over all elements.

SPVP 25 Increase the timestep length from the value used for the previous step by the factor FTIME. If this new value is less than that predicted later in this routine, this step length will be employed for the next time step.

SPVP 26 Loop over each element.

SPVP 27 Identify the element material property number.

SPVP 32-39 Store the element coordinates in array ELCOD, the incremental displacements \Delta d^{n} in ELDIS and the total displacements d^{n} in TLDIS.

SPVP 40 Identify the element thickness.

SPVP 41 Zero the local Gauss point counter.

SPVP 4245 Enter the loops for numerical integration and evaluate the local coordinates (\xi, \eta) at the sampling point.

SPVP 4647 Increment the local and global Gauss point counters.

SPVP 48 Compute the elasticity matrix, D.

SPVP 4950 Store the total current stresses \sigma^{n} locally in STRES.

SPVP 5152 Evaluate the deviatoric stresses and J_{2}^{\prime} .

SPVP 53-54 For the implicit or semi-implicit time stepping scheme evaluate \hat{D}^n .

SPVP 55 Evaluate the shape functions N_{i} and the derivatives \partial N_{i}/\partial\xi , \partial N_{i}/\partial\eta .

SPVP 56 Evaluate the Gauss point coordinates GPCOD(IDIME, KGASP), the determinant of the Jacobian matrix |J| and the Cartesian derivatives of the shape functions.

SPVP 5759 Calculate the elemental volume for numerical integration as |J|W_{\xi}W_{\eta} taking care to multiply by 2\pi r for axisymmetric problems.

SPVP 6062 Call subroutine STRESS to evaluate the stress increment \Delta\sigma^{n} according to (8.20) and also \sigma^{n+1} = \sigma^{n} + \Delta\sigma^{n} .

SPVP 6365 Evaluate the incremental viscoplastic strain and the total current viscoplastic strain, \epsilon_{vp}^{n+1} .

SPVP 6667 Accumulate the absolute value of the viscoplastic strain increment. This will allow us to monitor whether or not steady state conditions are being approached.

SPVP 70 Also calculate the total current effective viscoplastic strain \bar{\epsilon}_{vp}^{n+1} according to (8.47).

SPVP 7176 Evaluate the current viscoplastic flow rate \dot{\epsilon}_{vp}^{n+1} according to (8.7).

SPVP 77 If the Gauss point is elastic, avoid calculation of the new time step length.

SPVP 7879 Calculate \bar{\epsilon}_{vp}^{n+1} , the effective value of the viscoplastic strain rate.

SPVP 80-81 Calculate \bar{\epsilon}^{n+1} , the total effective strain.

SPVP 82-83 Evaluate the interval length for the next time step according to (8.29) as


\Delta t _ {n + 1} = \tau \left[ \frac {\bar {\epsilon} ^ {n + 1}}{\bar {\epsilon} _ {v p} ^ {n + 1}} \right] _ {\min} ^ {1 / 2},

where TFACT is the parameter \tau and the minimum value of \Delta t_{n+1} is taken with respect to all Gauss points throughout the structure.

SPVP 8485 Termination of loops over Gauss points and elements respectively.

SPVP 87 For the first time step of a load increment reset the step length equal to the initial value input.

SPVP 88 Zero the Gauss point counter over all elements.

SPVP 89 Loop over each element.

SPVP 90 Identify the element material property number.

SPVP 91-96 Store the element coordinates in array ELCOD.

SPVP 97 Identify the element thickness.

SPVP 98 Zero the local Gauss point counter.

SPVP 99102 Enter the loops for numerical integration and evaluate the local coordinates (\xi, \eta) at the sampling point.

SPVP 103-104 Increment the local and global Gauss point counters.

SPVP 105 Evaluate the shape functions and their local derivatives.

SPVP 106 Evaluate the Gauss point coordinates, determinant of the Jacobian matrix and the Cartesian derivatives of the shape functions.

SPVP 107-109 Calculate the elemental volume for numerical integration.

SPVP 110 Evaluate the B matrix.

SPVP 111 Evaluate the D matrix.

SPVP 112113 Store the total current stresses \sigma^{n+1} locally in STRES.

SPVP 114115 Calculate the deviatoric stresses and J_{2}^{\prime} .

SPVP 116117 For the implicit or semi-implicit time stepping scheme evaluate \hat{D}^{n+1} .

SPVP 121-125 Calculate \hat{D}^{n+1}\dot{\epsilon}_{vp}^{n+1}\Delta t_{n+1} and store locally in STRES.

SPVP 126132 Evaluate the pseudo loads to be applied for the next timestep, \Delta V^{n+1} according to (8.28) and (8.34) as


\Delta V ^ {n + 1} = \int_ {\Omega} B ^ {T} \left\{\hat {D} ^ {n + 1} \dot {\epsilon} _ {r p} ^ {n + 1} \Delta t _ {n + 1} + \sigma^ {n + 1} \right\} d \Omega + f ^ {n + 1}.

SPVP 133-134 Termination of loops over Gauss points and elements respectively.

SPVP 135137 Complete the computations of SPVP 126132 by adding the term f^{n+1} .

Subroutine INVAR which calculates the deviatoric stresses and J_{2}^{\prime} is identical to that employed in Chapter 7 for elasto-plastic problems and is described in detail in Section 7.8.3. Subroutine YIELDF has been previously described in Section 7.8.4.1.

8.9 Subroutine FLOWVP

The function of this subroutine is to determine the viscoplastic strain rate according to (8.7).

Subroutine FLOWVP is now presented and described.

SUBROUTINE FLOWVP(AVECT, PROPS, LPROP, STEFF, NSTR1, MTOTG, VIVEL, YIELD, KGAUS, MMATS, NCRIT, FNORM, ALLOW) FLVP 1
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
DIMENSION AVECT(4), PROPS(MMATS, 10), VIVEL(5, MTOTG) FLVP 8
ALLOW=0.01 FLVP 9
IF(STEFF.EQ.0.0) GO TO 90 FLVP 10
YOUNG=PROPS(LPROP, 1) FLVP 11
POISS=PROPS(LPROP, 2) FLVP 12
HARDS=PROPS(LPROP, 6) FLVP 13
FRICT=PROPS(LPROP, 7) FLVP 14
GAMMA=PROPS(LPROP, 8) FLVP 15
DELTA=PROPS(LPROP, 9) FLVP 16
NFLOW=PROPS(LPROP, 10) FLVP 17
ROOT3=1.73205080757 FLVP 18
FDATM=PROPS(LPROP, 5) FLVP 19
FRICT=FRICT*0.017453292 FLVP 20
IF(NCRIT.EQ.3) FDATM=FDATM*COS(FRICT) FLVP 21
IF(NCRIT.EQ.4) FDATM=6.0*FDATM*COS(FRICT)/(ROOT3*(3.0-SIN(FRICT)))FLVP 22
IF(HARDS.GT.0.0) FDATM=FDATM+VIVEL(5, KGAUS)*HARDS FLVP 23
IF(FDATM.LT.0.001) FDATM=1.0 FLVP 24
FCURR=YIELD-FDATM FLVP 25
FNORM=FCURR/FDATM FLVP 26
IF(FNORM.LT.ALLOW) GO TO 90 FLVP 27
IF(NFLOW.EQ.1) GO TO 50 FLVP 28
CMULT=GAMMA*(EXP(DELTA*FNORM)-1.0) FLVP 29
GO TO 60 FLVP 30
50 CMULT=GAMMA*(FNORM**DELTA) FLVP 31
60 DO 70 ISTR1=1, NSTR1 FLVP 32
70 AVECT(ISTR1)=CMULT*AVECT(ISTR1) FLVP 33
DO 80 ISTR1=1, NSTR1 FLVP 34
80 VIVEL(ISTR1, KGAUS)=AVECT(ISTR1) FLVP 35
RETURN FLVP 36
90 DO 100 ISTR1=1, NSTR1 FLVP 37
100 VIVEL(ISTR1, KGAUS)=0.0 FLVP 38
RETURN FLVP 39
END FLVP 40 

FLVP 9 Specify ALLOW, the permitted tolerance by which the stress point is allowed to deviate from the yield surface.

FLVP 10 For the (unlikely) case of a Gauss point with zero stress (identified by J_2' = J_3' = 0 ) avoid all viscoplastic calculations.

FLVP 11 Identify YOUNG as the elastic modulus, E.

FLVP 12 Identify POISS as the Poissons ratio, v.

FLVP 13 Identify HARDS as H' for linear strain hardening.

FLVP 14 Identify FRICT as the friction angle \phi for Mohr-Coulomb and Drucker-Prager materials.

FLVP 15 Identify GAMMA as the fluidity parameter, \gamma .

FLVP 16 Identify DELTA as the index M in (8.8) or N in (8.9), according to the flow function specified.

FLVP 17 Identify NFLOW as the parameter specifying type of flow function:

NFLOW = 0 - flow function (8.8) to be used,

NFLOW = 1 - flow function (8.9) to be used.

FLVP 18 Compute √(3).

FLVP 1922 Identify FDATM as the effective yield stress, \sigma_{Y}^{0} , according to Column 4, Table 7.2.

FLVP 23 Evaluate the current yield stress as F_0 = \sigma Y^0 + H' \bar{\epsilon}_{vp} , where \bar{\epsilon}_{vp} is the current effective viscoplastic strain, according to (8.47).

FLVP 24 For elastic creep problems, solved by setting F_{0}=0 , reset F_{0} as a low value to avoid overflow in (8.8) and (8.9).

FLVP 2526 Calculate (F-F_{0})/F_{0} where F is the effective stress value evaluated as YIELD in subroutine INVAR.

FLVP 27 If (F-F_{0})/F_{0} is less than ALLOW avoid any further visco-plastic calculations, i.e. the stress point is assumed to be sufficiently close to the yield surface.

FLVP 29 Evaluate \gamma\langle\phi\rangle for flow function (8.8).

FLVP 31 Evaluate \gamma\langle\Phi\rangle for flow function (8.9).

FLVP 32-35 Use flow vector a to form \dot{\epsilon}_{vp}^{n+1} = \gamma\langle\Phi\rangle a^{n+1} .

FLVP 3738 For elastic points only, set the viscoplastic strain rate to zero.

8.10 Subroutine STRESS

The function of this subroutine is to evaluate the increment in stress occurring during a time step according to (8.20).

Subroutine STRESS is presented below:

SUBROUTINE STRESS(DMATX, LPROP, NTYPE, PROPS, NDOFN, CARTD, ELDIS, STRS 1 . SHAPE, GPCOD, NSTRE, VIVEL, DTIME, STRSG, KGASP, STRS 2 . MTOTG, MMATS, SVECT, NNODE, NSTR1, KGAUS, TLDIS) STRS 3

CSTRS 4

C STRS 5

C**** EVALUATE THE INCREMENTS OF STRAIN AND STRESS STRS 6

C STRS 7

C ^{*} SSTRS 8

DIMENSION SVECT(4), PROPS(MMATS,10), ELDIS(2,9), CARTD(2,9), STRS 9
. DMATX(4,4), AGASH(2,2), STRES(4), STRAN(4), STRSG(4,MTOTG), STRS 10
. SHAPE(9), VIVEL(5,MTOTG), TLDIS(2,9), CGASH(2,2), STRS 11
. GPCOD(2,9) STRS 12
POISS=PROPS(LPROP,2) STRS 13
DO 10 IDOFN=1, NDOFN STRS 14
DO 10 JDOFN=1, NDOFN STRS 15
BGASH=0.0 STRS 16
DGASH=0.0 STRS 17
DO 20 INODE=1, NNODE STRS 18
DGASH=DGASH+CARTD(JDOFN, INODE)*TLDIS(IDOFN, INODE) STRS 19
20 BGASH=BGASH+CARTD(JDOFN, INODE)*ELDIS(IDOFN, INODE) STRS 20
CGASH(IDOFN, JDOFN)=BGASH STRS 21
10 AGASH(IDOFN, JDOFN)=DGASH STRS 22
C STRS 23
C*** CALCULATE THE TOTAL AND INCREMENTAL STRAINS STRS 24
C STRS 25
SVECT(1)=AGASH(1,1) STRS 26
SVECT(2)=AGASH(2,2) STRS 27
SVECT(3)=AGASH(1,2)+AGASH(2,1) STRS 28
IF(NTYPE.NE.3) GO TO 70 STRS 29
SVECT(4)=0.0 STRS 30
DO 60 INODE=1, NNODE STRS 31
SVECT(4)=SVECT(4)+TLDIS(1, INODE)*SHAPE(INODE)/GPCOD(1, KGASP) STRS 32
60 CONTINUE STRS 33
70 CONTINUE STRS 34
STRAN(1)=CGASH(1,1) STRS 35
STRAN(2)=CGASH(2,2) STRS 36
STRAN(3)=CGASH(1,2)+CGASH(2,1) STRS 37
IF(NTYPE.NE.3) GO TO 90 STRS 38
STRAN(4)=0.0 STRS 39
DO 80 INODE=1, NNODE STRS 40
STRAN(4)=STRAN(4)+ELDIS(1, INODE)*SHAPE(INODE)/GPCOD(1, KGASP) STRS 41
80 CONTINUE STRS 42
90 CONTINUE STRS 43
DO 50 ISTRE=1, NSTRE STRS 44
50 STRAN(ISTRE)=STRAN(ISTRE)-VIVEL(ISTRE, KGAUS)*DTIME STRS 45
C STRS 46
C*** AND THE INCREMENTAL STRESSES STRS 47
C STRS 48
DO 30 ISTRE=1, NSTRE STRS 49
STRES(ISTRE)=0.0 STRS 50
DO 30 JSTRE=1, NSTRE STRS 51
30 STRES(ISTRE)=STRES(ISTRE)+DMATX(ISTRE, JSTRE)*STRAN(JSTRE) STRS 52
IF(NTYPE.EQ.1) STRES(4)=0.0 STRS 53
IF(NTYPE.EQ.2) STRES(4)=POISS*(STRES(1)+STRES(2)) STRS 54
DO 40 ISTR1=1, NSTR1 STRS 55
40 STRSG(ISTR1, KGAUS)=STRSG(ISTR1, KGAUS)+STRES(ISTR1) STRS 56
RETURN STRS 57
END STRS 58 

STRS 13 Identify POISS as the material Poisson's ratio.

STRS 1422 Evaluate the Cartesian derivatives of both the displacement increment and the total displacement.

STRS 26-33 Evaluate the total and incremental strains Bd^{n} and B\Delta d^{n} .

STRS 34-45 Calculate the elastic portion of the strains, B\Delta d^n - \dot{\epsilon}_{vp^n}\Delta t_n .

STRS 4952 Calculate the stresses according to (8.20).

STRS 5354 For plane stress and plane strain problems evaluate the out-of-plane stress component.

STRS 55-56 Finally calculate the total current stress as \sigma^{n+1} = \sigma^n + \Delta \sigma^n .

8.11 Subroutine ZERO

This subroutine performs the same task as the subroutine described in Section 7.8.2 for elasto-plastic problems. It merely initializes to zero some arrays required for the accumulation of data. Subroutine ZERO is presented below without further comment.

SUBROUTINE ZERO(ELOAD,MELEM,MEVAB,MPOIN,MTOTG,MTOTV,NDOFN,NELEM, ZRO2 1
. NEVAB,NGAUS,NSTR1,NTOTG,NTOTV,NVFIX,STRSG, ZRO2 2
. TDISP,VIVEL,VISTN,TTIME,TLOAD,TREAC, ZRO2 3
. TFACT,MVFIX) ZRO2 4
C*******************************
C*******************************
C*******************************
C*******************************
C*******************************
DIMENSION ELOAD(MELEM,MEVAB),STRSG(4,MTOTG),TDISP(MTOTV), ZRO2 10
. TLOAD(MELEM,MEVAB),TREAC(MVFIX,2),VIVEL(5,MTOTG), ZRO2 11
. VISTN(4,MTOTG) ZRO2 12
TTIME=0.0 ZRO2 13
TFACT=0.0 ZRO2 14
DO 30 IELEM=1,NELEM ZRO2 15
DO 30 IEVAB=1,NEVAB ZRO2 16
ELOAD(IELEM,IEVAB)=0.0 ZRO2 17
30 TLOAD(IELEM,IEVAB)=0.0 ZRO2 18
DO 40 ITOTV=1,NTOTV ZRO2 19
40 TDISP(ITOTV)=0.0 ZRO2 20
DO 50 IVFIX=1,NVFIX ZRO2 21
DO 50 IDOFN=1,NDOFN ZRO2 22
50 TREAC(IVFIX,IDOFN)=0.0 ZRO2 23
DO 60 ITOTG=1,NTOTG ZRO2 24
VIVEL(5,ITOTG)=0.0 ZRO2 25
DO 60 ISTR1=1,NSTR1 ZRO2 26
VISTN(ISTR1,ITOTG)=0.0 ZRO2 27
VIVEL(ISTR1,ITOTG)=0.0 ZRO2 28
60 STRSG(ISTR1,ITOTG)=0.0 ZRO2 29
RETURN ZRO2 30
END ZRO2 31 

8.12 Subroutine STEADY for monitoring steady state convergence

The role of this subroutine is to check whether or not steady state conditions have been achieved at the end of each time step. Convergence to a

steady state condition is monitored according to the increment in viscoplastic strain which occurs during the time step. For checking purposes the effective viscoplastic strain rate, \dot{e}_{vp}^{n+1} , defined by (8.47) is employed and steady state conditions are deemed to have been achieved at the end of time step n, if


\left(\Delta t _ {n + 1} \sum_ {\text { All   Gauss   points }} \bar {\dot {\epsilon}} _ {v p} ^ {n + 1} / \Delta t _ {1} \sum_ {\text { All   Gauss   points }} \bar {\dot {\epsilon}} _ {v p} ^ {1}\right) \times 1 0 0 \leqslant \text { TOLER }, \tag {8.48}

where TOLER is a convergence tolerance value prescribed as input in Subroutine INCREM, described in Section 6.5.3. From (8.48) it is seen that a global measure of convergence is taken in the subroutine presented in this section. A local steady state convergence condition could alternatively be enforced by requiring (8.48) to be satisfied for each Gauss point in the structure which is yielding viscoplastically.

The structure of this subroutine is identical to that of subroutine CONVP, presented in Section 4.9, for one-dimensional structures.

Subroutine STEADY is now presented.

SUBROUTINE STEADY(NELEM,NGAUS,NCHEK,VIVEL,ISTEP,FIRST,TOLER,PVALU,STDY 1
. MTOTG,DTIME,NSTR1,TTIME) STDY 2
C*****
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

8.13 The main, master or controlling segment

This segment controls the timestepping process and accesses all the other subroutines appropriately. In particular it controls the increment of the applied loads and the output of results at selected time intervals. The frequency of output is controlled by means of two parameters NOUTP(1) and NOUTP(2) which are specified as input data for every load increment in subroutine INCREM described in Section 6.5.3. The precise specification of these parameters is however somewhat different for the present application. In this case NOUTP(1) controls the frequency of output of the displacements and NOUTP(2) the frequency of output of the stresses and viscoplastic strains. In particular, if NOUTP(1) is specified as 7 for a particular load increment, then the displacements will be output every 7th timestep within that increment. This is accomplished by evaluating for every timestep, ISTEP, the quantity


(\text { ISTEP } / \text { NOUTP } (1)) ^ {*} \text { NOUTP } (1)

and then checking this value against ISTEP. The two will be equal only when ISTEP is an exact multiple of NOUTP(1). A similar check for stress output is undertaken for NOUTP(2).

The parameter MSTEP specifies the maximum number of timesteps to be considered for the load increment. If steady state conditions are achieved before MSTEP timesteps, the next load increment, is applied immediately condition (8.48) is satisfied.

The role of the load incrementing factor, FACTO, is identical to that described in Section 6.5.3.

In this segment input data is also received which controls the timestepping algorithm to be employed. The following information is input:

TIMEX Parameter, \Theta , which controls the type of timestepping algorithm to be employed:


\begin{array}{l} \text { TIMEX } = 0. 0 \text { -Explicit   scheme }, \\ = 0. 5 - \text { Semi - implicit   or   trapezoidal   scheme }, \\ = 1. 0 - \text { Fully   implicit }. \\ \end{array}

TAUFT- The parameter \tau discussed in Section 8.3.

DTINT The initial time step length. This specifies the step length for the first time step of each load increment. The time step length needs to be readjusted at the beginning of a new load increment since the step length computed as steady state conditions are approached in the previous time step will in general be too large.

FTIME The factor by which it is attempted to increase the step length from the value used for the previous time step. This parameter is generally input as 1.5 as mentioned in Section 8.3.

The following channel numbers are employed by the program: 5 (card reader), 6 (line printer), 1, 2, 3, 4, 8 (scratch files). This main segment is now presented and descriptive notes provided where necessary.

MASTER VISCO
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
DIMENSION ASDIS(120),COORD(60,2),ELOAD(20,18),ESTIF(18,18),
EQRHS(10),EQUAT(40,10),FIXED(120),
GLOAD(40),GSTIF(986),
IFFIX(120),LNODS(20,9),LOCEL(18),MATNO(20),
NACVA(40),NAMEV(10),NDEST(18),NDFRO(20),NOFIX(25),
NOUTP(2),NPIVO(10),
POSGP(4),PRESC(25,2),PROPS(5,10),RLOAD(20,18),
STFOR(120),TREAC(25,2),VECRV(40),WEIGP(4),
STRSG(4,180),TDISP(120),
TLOAD(20,18),VIVEL(5,180),VISTN(4,180)
TLOAD(20,18),VIVEL(5,180),VISTN(4,180)
TLOAD(20,18),VIVEL(5,180),VISTN(4,180)
TLOAD(20,18),VIVEL(5,180),VISTN(4,180)
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18)
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,18),VIVEL
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
VIVEL
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)
TLOAD(20,12)