Files
MultiPhysicsVault/.raw/FiniteElementsinPlasticityTheoryandPractice/FiniteElementsinPlasticityTheoryandPractice_009.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

41 KiB
Raw Blame History

ASTF 15 Rewind the file on which the stiffness matrix of each element will be stored.

ASTF 16 Loop over each element.

ASTF 17 Identify the material property of each element.

ASTF 18 Set STERM equal to K_0 in (2.27).

ASTF 19 Set GRADU equal to b in (2.27).

ASTF 20-21 Identify the node numbers of the element.

ASTF 22 Calculate the element length.

ASTF 23 Calculate the element temperature as the average of the nodal values.

ASTF 24 Calculate the multiplying term in (2.25) by use of FUNCTION statement VARIA.

ASTF 2526 Evaluate the multiplying term in (2.29).

ASTF 2730 Compute the components of the total stiffness matrix.

ASTF 31 Write the clement stiffness matrix on to disc file.

ASTF 32 Termination of DO LOOP over each element.

3.10.2 Residual force calculation subroutine REFOR1

The residual forces after any step of the process are obtained from (2.4). The applied nodal forces, f , are known and it only remains to evaluate the 'equivalent nodal forces', H\varphi , which are the nodal forces consistent with the unknowns, \varphi . It should be noted that H is the linear symmetric matrix defined in (2.25). The equivalent nodal forces at the nodes 1 and 2 of the linear element can be explicitly written, using (2.25), as


f _ {1} = \frac {K}{L} (\phi_ {1} - \phi_ {2}),

f _ {2} = - \frac {K}{L} (\phi_ {1} - \phi_ {2}). \tag {3.26}

The subroutine which evaluates these forces for each element is now presented.

SUBROUTINE REFOR1 RFR1 1
C************************** RFR1 2
C RFR1 3
C *** CALCULATES INTERNAL EQUIVALENT NODAL FORCES RFR1 4
C RFR1 5
C************************** RFR1 6
COMMON/UNIM1/NPOIN.NELEM,NBOUN,NLOAD,NPROP,NNODE.IINCS,IITER, RFR1 7
. KRESL,NCHEK,TOLER,NALGO.NSVAB,NDOFN,NINCS.NEVAB, RFR1 8
. NITER,NOUTP,FACTO,PVALU RFR1 9
COMMON/UNIM2/PROPS(5.4),COORD(26),LNODS(25,2),IFPRE(52), RFR1 10
. FIXED(52),TLOAD(25,4),RLOAD(25,4),ELOAD(25,4), RFR1 11
. MATNO(25),STRES(25,2),PLAST(25),XDISP(52), RFR1 12
. TDISP(26.2),TREAC(26.2),ASTIF(52,52),ASLOD(52), RFR1 13
. REACT(52),FRESV(1352),PEFIX(52),ESTIF(4.4) RFR1 14
DO 10 IELEM=1,NELEM RFR1 15
DO 10 IEVAB=1,NEVAB RFR1 16 
10ELOAD(IELEM,IEVAB)=0.0RFR117
DO 20 IELEM=1.NELEMRFR118
LPROP=MATNO(IELEM)RFR119
STERM=PROPS(LPROP,1)RFR120
NODE1=LNODS(IELEM,1)RFR121
NODE2=LNODS(IELEM,2)RFR122
ELENG=ABS(COORD(NODE1)-COORD(NODE2))RFR123
AVERG=(TDISP(NODE1.1)+TDISP(NODE2,1))/2.0RFR124
STIFF=STERM*VARIA(AVERG)/ELENGRFR125
ELOAD(IELEM,1)=STIFF*(TDISP(NODE1,1)-TDISP(NODE2,1))RFR126
20ELOAD(IELEM,2)=-STIFF*(TDISP(NODE1,1)-TDISP(NODE2,1))RFR127
RETURNRFR128
ENDRFR129

RFR1 1517 Initialise to zero the array in which the equivalent nodal forces for each element will be stored.

RFR1 18 Loop over each element.

RFR1 19 Identify the material property of each element.

RFR1 20 Set STERM equal to K_0 in (2.27).

RFR1 2122 Identify the node numbers of the element.

RFR1 23 Calculate the element length.

RFR1 24 Calculate the element temperature as the average of the nodal values.

RFR1 25 Calculate the multiplying term in (2.25).

RFR1 2627 Compute the equivalent nodal forces according to (3.26).

3.10.3 Solution convergence monitoring subroutine, CONUND

This subroutine must essentially differ from subroutine MONITR described in Section 3.9.2 since convergence is now based on the residual force values rather than values of the unknowns. The convergence criterion employed is similar to that described in (3.21) and is


\frac {\sqrt {\left[ \sum_ {i = 1} ^ {N} \left(\psi_ {i} ^ {r}\right) ^ {2} \right]}}{\sqrt {\left[ \sum_ {i = 1} ^ {N} \left(f _ {i}\right) ^ {2} \right]}} \times 1 0 0 \leqslant \text { TOLER }, \tag {3.27}

where N is the total number of nodal points in the problem and r denotes the iteration number. This criterion states that convergence occurs if the norm of the residual forces becomes less than TOLER times the norm of the total applied forces. Again the parameter NCHEK is used to indicate whether or not convergence has occurred. Three values of NCHEK are utilised:

NCHEK = 0 Solution has converged.

= 1 Solution converging, with the norm of the residual forces being less for the r^{th} iteration than the (r-1)^{th} iteration.
= 999 Solution diverging. The norm of the residual forces is greater for the r^{\text{th}} iteration than the (r - 1)^{\text{th}} iteration.

Subroutine CONUND is now listed and descriptive notes provided.

SUBROUTINE CONUNDCOND1
C**********COND2
CCOND3
C ***CHECKS FOR SOLUTION CONVERGENCECOND4
CCOND5
C**********COND6
COMMON/UNIM1/NPOIN,NELEM,NBOUN,NLOAD,NPROP,NNODE.IINCS.IITER,COND7
KRESL,NCHEK,TOLER,NALGO,NSVAB,NDOFN,NINCS,NEVAB,COND8
NITER,NOUTP,FACTO,PVALUCOND9
COMMON/UNIM2/PROPS(5,4),COORD(26),LNODS(25,2),IFPRE(52),COND10
FIXED(52),TLOAD(25,4),RLOAD(25,4),ELOAD(25,4),COND11
MATNO(25),STRES(25,2),PLAST(25),XDISP(52),COND12
TDISP(26,2),TREAC(26,2),ASTIF(52,52),ASLOD(52),COND13
REACT(52),FRESV(1352),PEFIX(52),ESTIF(4,4)COND14
DIMENSION STFOR(52),TOFOR(52)COND15
NCHEK=0COND16
RESID=0.0COND17
RETOT=0.0COND18
DO 10 ISVAB=1,NSVABCOND19
STFOR(ISVAB)=0.0COND20
10TOFOR(ISVAB)=0.0COND21
DO 20 IELEM=1,NELEMCOND22
IEVAB=0COND23
DO 20 INODE=1,NNODECOND24
NODNO=LNODS(IELEM,INODE)COND25
DO 20 IDOFN=1,NDOFNCOND26
IEVAB=IEVAB+1COND27
NPOSN=(NCDNO-1)*NDOFN+IDOFNCOND28
STFOR(NPOSN)=STFOR(NPOSN)+ELOAD(IELEM,IEVAB)COND29
20TOFOR(NPOSN)=TOFOR(NPOSN)+TLOAD(IELEM,IEVAB)COND30
DO 30 ISVAB=1,NSVABCOND31
REFOR=TOFOR(ISVAB)-STFOR(ISVAB)COND32
RESID=RESID+REFOR*REFORCOND33
30RETOT=RETOT+TOFOR(ISVAB)*TOFOR(ISVAB)COND34
DO 40 IELEM=1,NELEMCOND35
DO 40 IEVAB=1,NEVABCOND36
40ELOAD(IELEM,IEVAB)=TLOAD(IELEM,IEVAB)-ELOAD(IELEM,IEVAB)COND37
RATIO=100.0*SQRT(RESID/RETOT)COND38
IF(RATIO.GT.TOLER) NCHEK=1COND39
IF(IITER.EQ.1) GO TO 50COND40
IF(RATIO.GT.PVALU) NCHEK=999COND41
50PVALU=RATIOCOND42
WRITE(6,900) IITER,NCHEK,RATIOCOND43
900FORMAT(1HO,5X,'ITERATION NUMBER=',I5/COND44
1HO,5X,'CONVERGENCE CODE=',I4,3X,COND45
'NORM OF RESIDUAL SUM RATIO=',E14.6)COND46
RETURNCOND47
ENDCOND48

COND 16 Initialise the convergence indicator to zero. If convergence has not occurred during this iteration this value will be reset later in the subroutine.

COND 17 Initialise to zero the norm of the residual forces.

COND 18 Initialise to zero the norm of the total applied loads.

COND 1921 Initialise the arrays which will contain the equivalent nodal forces and the applied loads for each nodal point.

COND 22-30Assemble the equivalent nodal forces and applied load contributions of each element to give the total nodal values, as required for use in (3.27). This manipulation is necessary as we have decided to associate loads with an element rather than nodal points.
COND 32Calculate the nodal residual force according to (2.4).
COND 33Evaluate the norm of the residual forces.
COND 34Evaluate the norm of the total applied forces.
COND 35-37Calculate the residual nodal forces for each element, for application as forces for the next iteration according to (2.12).
COND 38Compute the left-hand side of (3.27)—the residual sum ratio.
COND 39If (3.27) is not satisfied reset NCHEK = 1 to indicate that convergence has not yet occurred.
COND 40-41For second and subsequent iterations check to see if the residual sum ratio has decreased from the previous iteration. If not, set NCHEK = 999.
COND 42Store the residual sum ratio, in order to perform the check indicated in COND 41 during the next iteration.
COND 43-46Write the convergence code and the residual sum ratio.

3.10.4 Numerical examples

The numerical example considered in Section 3.9.3 and illustrated in Fig. 3.3, was reanalysed using the NewtonRaphson approach. The process converged to the nonlinear solution in 5 iterations compared to the 10 cycles required for the direct iteration method. The reduction in the number of iterations must, however, be balanced against the increased computing effort required for the solution of nonsymmetric equations. This remark is applicable only when advantage of the symmetric property of the equations is taken in solution as is the case in the more sophisticated equation solver described later in Chapter 6. The numerical results are practically identical to those obtained by the method of direct iteration and consequently both solutions are represented by the full circles in Fig. 3.3. The problem of Fig. 3.4 was also reanalysed and a similar improvement in convergence behaviour was obtained with only 7 iterations being required in place of the 12 necessitated by direct iteration.

3.11 Program for the solution of nonlinear elastic problems

In this section a program is developed which permits the solution of nonlinear elastic problems by either the tangential stiffness or the initial stiffness approach or by a combination of both methods. The options open are controlled by the parameter NALGO, the possible values of which are described in Section 3.2.

The structure of this program is identical to that described in Section 3.10 and it is only necessary to develop appropriate subroutines for element stiffness formulation, STIFF2, and residual force evaluation, REFOR2.

3.11.1 Element stiffness subroutine, STIFF2

For any value of the total strain, \epsilon , in an element, the tangential stiffness matrix is explicitly given by (2.33). It is seen from this expression that the first derivative of the strain function must be known. For the calculation of the residual forces, the strain function itself must be input. Since the computer cannot perform even the simplest differentiation it is necessary to supply both quantities in the form of FUNCTION statements. As an example, the strain function will be assumed to be of the form


g (\epsilon) = \epsilon - 5 \epsilon^ {2}, \tag {3.28}

in which case


g ^ {\prime} (\epsilon) = 1 - 1 0 \epsilon . \tag {3.29}

Subroutine STIFF2 is now listed below.

SUBROUTINE STIFF2 STF2 1
C************************** STF2 2
C STF2 3
C *** CALCULATES ELEMENT STIFFNESS MATRICES STF2 4
C STF2 5
C************************** STF2 6
COMMON/UNIM1/NPOIN,NELEM,NBOUN,NLOAD,NPROP,NNODE,IINCS,IITER, STF2 7
. KRESL,NCHEK,TOLER,NALGO,NSVAB,NDOFN,NINCS,NEVAB, STF2 8
. NITER,NOUTP,FACTO,PVALU STF2 9
COMMON/UNIM2/PROPS(5,4),COORD(26),LNODS(25,2),IFPRE(52), STF2 10
. FIXED(52),TLOAD(25,4),RLOAD(25,4),ELOAD(25,4), STF2 11
. MATNO(25),STRES(25,2),PLAST(25),XDISP(52), STF2 12
. TDISP(26,2),TREAC(26,2),ASTIF(52,52),ASLOD(52), STF2 13
. REACT(52),FRESV(1352),PEFIX(52),ESTIF(4,4) STF2 14
REVIND 1 STF2 15
DO 10 IELEM=1,NELEM STF2 16
LPROP=MATNO(IELEM) STF2 17
YOUNG=PROPS(LPROP,1) STF2 18
XAREA=PROPS(LPROP,2) STF2 19
NODE1=LNODS(IELEM,1) STF2 20
NODE2=LNODS(IELEM,2) STF2 21
ELENG=ABS(COORD(NODE1)-COORD(NODE2)) STF2 22
PTRAN=PLAST(IELEM) STF2 23
COEFF=YOUNG*XAREA/ELENG STF2 24
FMULT=COEFF*STDIV(PTRAN) STF2 25
ESTIF(1,1)=FMULT STF2 26
ESTIF(1,2)=-FMULT STF2 27
ESTIF(2,1)=-FMULT STF2 28
ESTIF(2,2)=FMULT STF2 29
WRITE(1) ESTIF STF2 30
1C CONTINUE STF2 31
RETURN STF2 32
END STF2 33 
STF2 15Rewind the file on which the stiffness matrix of each element will be stored.
STF2 16Loop over each element.
STF2 17Identify the material property of each element.
STF2 18Set YOUNG equal to the reference value of the material modulus, $E_0$ .
STF2 19Set XAREA equal to the cross-sectional area.
STF2 2021Identify the node numbers of the element.
STF2 22Calculate the element length.
STF2 23Set PTRAN equal to the total strain, $\epsilon$ .
STF2 2425Compute the multiplying term in (2.33) with $g'(\epsilon)$ given by STDIV (PTRAN).
STF2 2629Compute the components of the stiffness matrix.
STF2 30Write the element stiffness matrix on to disc file.
STF2 31Termination of DO LOOP over each element.

For a strain derivative function as defined by (3.29), the appropriate function statement is provided below.

FUNCTION STDIV(PTRAN)STF234
C****STF235
CSTRAIN DERIVATIVE FUNCTIONSTF236
C****STF237
STDIV=1.0-10.0*PTRANSTF238
RETURNSTF239
ENDSTF240

3.11.2 Residual force calculation subroutine REFOR2

The residual forces existing at the end of any iteration must be calculated according to (2.4) . The first step in this calculation entails the evaluation of the equivalent nodal forces, which are the forces required to produce the total displacements existing in the element. The element strain is simply


\epsilon_ {E} = \left\{ \begin{array}{l l} \left(\phi_ {2} - \phi_ {1}\right) / L & \text { for } \quad x _ {2} > x _ {1} \\ \left(\phi_ {1} - \phi_ {2}\right) / L & \text { for } \quad x _ {2} <   x _ {1}, \end{array} \right. \tag {3.30}

where x_{1} and x_{2} denote the coordinates of the element nodes. This notation is required to ensure that tensile strains are positive and enables the nodal connections to be assigned in any order.

Then from (2.30) the stress in the element is given by


\sigma_ {E} = E _ {0} g (\epsilon_ {E}), \tag {3.31}

and the equivalent nodal forces are


f _ {1} = - f _ {2} = \left\{ \begin{array}{c c c} - \sigma_ {E} A & \text { for } & x _ {2} > x _ {1} \\ \sigma_ {E} A & \text { for } & x _ {2} <   x _ {1}. \end{array} \right. \tag {3.32}

Subroutine REFOR2 is now listed and described.
SUBROUTINE REFOR2 RFR2 1 CRFR2 2 C RFR2 3 C *** CALCULATES INTERNAL EQUIVALENT NODAL FORCES RFR2 4 C RFR2 5 CRFR2 6 COMMON/UNIM1/NPOIN,NELEM,NBOUN,NLOAD,NPROP,NNODE,IINCS,IITER, RFR2 7 . KRESL,NCHEK,TOLER,NALGO,NSVAB,NDOFN,NINCS,NEVAB, RFR2 8 . NITER,NOUTP,FACTO,PVALU RFR2 9 COMMON/UNIM2/PROPS(5,4),COORD(26),LNODS(25,2),IFPRE(52), RFR2 10 . FIXED(52),TLOAD(25,4),RLOAD(25,4),ELOAD(25,4), RFR2 11 . MATNO(25),STRES(25,2),PLAST(25),XDISP(52), RFR2 12 . TDISP(26,2),TREAC(26,2),ASTIF(52,52),ASLOD(52), RFR2 13 . REACT(52),FRESV(1352),PEFIX(52),ESTIF(4,4) RFR2 14 DO 10 IELEM=1,NELEM RFR2 15 DO 10 IEVAB=1,NEVAB RFR2 16 10 ELOAD(IELEM,IEVAB)=0.0 RFR2 17 DO 30 IELEM=1,NELEM RFR2 18 LPROP=MATNO(IELEM) RFR2 19 YOUNG=PROPS(LPROP,1) RFR2 20 XAREA=PROPS(LPROP,2) RFR2 21 NODE1=LNODS(IELEM,1) RFR2 22 NODE2=LNODS(IELEM,2) RFR2 23 ELENG=ABS(COORD(NODE1)-COORD(NODE2)) RFR2 24 IF(COORD(NODE2).GT.COORD(NODE1)) STRAN=(XDISP(NODE2)-XDISP(NODE1)) RFR2 25 . /ELENG RFR2 26 IF(COORD(NODE2).LT.COORD(NODE1)) STRAN=(XDISP(NODE1)-XDISP(NODE2)) RFR2 27 . /ELENG RFR2 28 PLAST(IELEM)=PLAST(IELEM)+STRAN RFR2 29 PTRAN=PLAST(IELEM) RFR2 30 STRES(IELEM,1)=YOUNG*STNFN(PTRAN) RFR2 31 IF(COORD(NODE2).GT.COORD(NODE1)) GO TO 20 RFR2 32 ELOAD(IELEM,1)=STRES(IELEM,1)*XAREA RFR2 33 ELOAD(IELEM,2)=-STRES(IELEM,1)*XAREA RFR2 34 GO TO 30 RFR2 35 20 ELOAD(IELEM,1)=-STRES(IELEM,1)*XAREA RFR2 36 ELOAD(IELEM,2)=STRES(IELEM,1)*XAREA RFR2 37 30 CONTINUE RFR2 38 RETURN RFR2 39 END RFR2 40

RFR2 1517 Initialise to zero the array in which the equivalent nodal forces for each element will be stored.

RFR2 18 Loop over each element.

RFR2 19 Identify the material property of each element.

RFR2 20 Set YOUNG equal to the reference value of the material modulus, E_{0} .

RFR2 21 Set XAREA equal to the cross-sectional area.

RFR2 22-23 Identify the node numbers of the element.

RFR2 24 Calculate the element length.

RFR2 2528 Calculate the increase in element strain which occurred during the current iteration according to (3.30) (since XDISP measures the displacement change only).

RFR2 29 Compute the total strain.

RFR2 3031 Compute the element stress according to (3.31).

RFR2 3237 Compute the equivalent nodal forces according to (3.32).

RFR2 38 Termination of DO LOOP over the elements.

For calculation of the element stress in steps RFR2 3031 (equation (3.31)) the strain function g(\epsilon) must be defined. The FUNCTION statement appropriate to the variation indicated in (3.28) is provided below.

FUNCTION STNFN(PTRAN)RFR241
C****RFR242
CSTRAIN FUNCTIONRFR243
C****RFR244
STNFN=PTRAN-5.0*PTRAN*PTRANRFR245
RETURNRFR246
ENDRFR247

The equivalent nodal forces evaluated here are converted into residual forces \psi in subroutine CONUND as described in Section 3.10.3.

3.11.3 Numerical examples

The first example considered is the uniaxial loading of a two-element system. The stress/strain relationship is assumed to be defined in terms of the nonlinear expression (3.28). The applied load is incrementally increased and the combined tangential/initial stiffness solution algorithm, NALGO = 4, is employed. Figure 3.5 shows the solution behaviour during iteration to the nonlinear solution. The element stiffnesses are initially assembled at the beginning of a load increment and then kept constant during iteration to the nonlinear solution. The convergence path is plotted and it is seen that the process converges within 7 iterations for the first load increment. For the second load increment the process requires 9 iterations before convergence takes place. The process diverged rapidly on further increase of load to a total value of 11; which is expected since no solution can exist for this load value.

As an illustration of the application of the initial stiffness method to strain-softening problems, the above problem was reanalysed with the structure being loaded by prescribing an increasing value of displacement to node 3, rather than incrementing an applied load. For strain values at and beyond the peak load, the structural stiffness is either zero or negative and an initial stiffness approach must be employed. Figure 3.6 shows the results when the structure is strained beyond the peak load value.

3.12 Program for the solution of elasto-plastic problems

A computer program is now developed for the solution of one-dimensional elasto-plastic problems. Once again a tangential stiffness, initial stiffness or combined approach is permitted for solution. The program differs only from that described in the previous section in the explicit form of the element stiffness and residual force subroutines.

3.12.1 Element stiffness subroutine, STIFF3

Before yielding, the stiffness matrix of an element with linear displacement variation is given by (2.38) . After the onset of plastic deformation, as

line
Axial extension Δ Axial force P Method
0.5 8.0 7 iterations
0.5 8.0 7 iterations
0.5 8.0 7 iterations
0.5 8.0 7 iterations
0.5 8.0 7 iterations
0.5 8.0 7 iterations
0.5 10.0 7 iterations
0.5 10.0 7 iterations
0.5 10.0 7 iterations
0.5 10.0 7 iterations
0.5 10.0 7 iterations
0.5 10.0 7 iterations, 9 iterations
0.5 10.0 7 iterations, 9 iterations
0.5 10.0 7 iterations, 9 iterations
0.5 10.0 7 iterations, 9 iterations
0.5 10.0 7 iterations, 9 iterations
0.5 = 0.5 5.0 7 iterations, 9 iterations
0.5 = 0.5 5.0 7 iterations, 9 iterations
0.5 = 0.5 5.0 7 iterations, 9 iterations
0.5 = 0.5 5.0 7 iterations, 9 iterations
0.5 5.0 7 iterations, 9 iterations
0.5 5.0 7 iterations, 9 iterations
0.5 5.0 7 iterations, 9 iterations
0.5 5.0 7 iterations, 9 iterations
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0, 0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.0 7 iterations,
0.5 5.5 7 iterations,
0.5 5.5 7 iterations,
0.5 5.5 7 iterations,
0.5 5.5 7 iterations,
0.5 5.5 7 iterations,
0.5 5.5 7 iteration,
0.5 5.5 7 iteration,
0.5 5.5 7 iteration,
0.5 5.5 7 iteration,
0.5 5.5 7 iteration,
0.5 5.5 7 iteration,
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... ... ... (Δ)
... = 0.5 5.0 7 iterations, 9 iterations
... 5.0 7 iterations, 9 iterations
... 5.0 7 iterations, 9 iterations
... 5.0 7 iterations, 9 iterations
... 5.0 7 iterations, 9 iterations
... 5.0 7 iterations, 9 iterations
... 5.5 7 iterations, 9 iterations
... 5.5 7 iterations, 9 iterations
... 5.5 7 iterations, 9 iterations
... 5.5 7 iterations, 9 iterations
... 5.5 7 iterations, 9 iterations
... 5.5 7 (Δ)
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...1
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...1
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... (Δ) ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... (Δ) ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ...3 ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... 5.0 ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... 10.0 ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... ... ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...
... <10.0 ...

Fig. 3.5 Load/extension response of a nonlinear elastic bar under applied axial loading.

governed by the uniaxial yield stress \sigma_{Y} , the material stiffness is reduced and the elasto-plastic stiffness matrix is explicitly given by (2.43). Thus when forming the stiffness matrix for each element, it is first necessary to check whether the element behaviour is elastic or elasto-plastic. This can best be monitored by recording the plastic strain component, \epsilon_{p} , for each element and noting that this will be zero for a completely elastic material response.

line
Axial extension, Δ Axial force, P (Theoretical) Axial force, P (Converged) Axial force, P (Solution after 1st iteration)
0.0 0.0 0.0 0.0
0.6 8.5 8.5 8.5
0.8 10.0 10.0 10.0
1.0 10.0 10.0 10.0
1.2 10.0 10.0 10.0
1.4 8.5 8.5 8.5
1.6 6.0 6.0 6.0
1.8 3.5 3.5 3.5
2.0 0.0 0.0 0.0
2.2 -4.0 -4.0 -4.0
2.6 -10.0 -10.0 -10.0

Fig. 3.6 Solution for a nonlinear elastic bar by initial stiffness, incremented prescribed displacement approach.

Subroutine STIFF3 can now be presented.

SUBROUTINE STIFF3STF31
C**********STF32
CSTF33
C ***CALCULATES ELEMENT STIFFNESS MATRICESSTF34
CSTF35
C**********STF36