Civil Engineering Reference
In-Depth Information
END IF
!-----------------------time stepping loop--------------------------------
WRITE(11,'(/a,i3,a)')"
Time
Pressure (node",nres,")"
WRITE(11,'(2e12.4)')0.0,loads(nres)
timesteps: DO j=1,nstep
time=j*dtim; newlo=zero
elements_2: DO iel=1,nels
num=g_num(:,iel); mm=store_mm(:,:,iel)
newlo(num)=newlo(num)+MATMUL(mm,loads(num))
END DO elements_2; newlo(0)=zero; loads=newlo*globma
IF(fixed_freedoms/=0)loads(node)=value
IF(nod==4.AND.j==ntime)THEN; READ(10,*)nci
CALL contour(loads,g_coord,g_num,nci,13); END IF
IF(j/npri*npri==j)WRITE(11,'(2e12.4)')time,loads(nres)
END DO timesteps
STOP
END PROGRAM p84
New dynamic real arrays:
globma global lumped mass matrix and its inverse (stored as a vector)
mass element lumped mass vector
store mm stores lhs element matrices
Read data
Allocate arrays
For all elements
Find nodal coordinates and steering vector
For all integrating points
Compute shape functions and derivatives in
local coordinates
Convert from local to global coordinates
Form conductivity and lumped 'mass'
contributions to element matrices
Store [m m ] −∆ t[k c ]
Assemble global lumped mass matrix [M m ]
Specify initial and boundary conditions.
Invert [M m ]
For all time steps
For all elements
Recover [m m ] −∆ t[k c ]
Multiply by appropriate part of { f 0 }
to give updated values { f 1 } via [M m ] 1
Print results
Figure 8.14
Structure chart for explicit time integration from Program 8.4
Search WWH ::




Custom Search