Civil Engineering Reference
In-Depth Information
x0=x1; d1x0=d1x1; d2x0=d2x1
END DO timesteps
STOP
CONTAINS
FUNCTION load(t) RESULT(load_result)
!-----------------------Load-time function--------------------------------
IMPLICIT NONE
INTEGER,PARAMETER::iwp=SELECTED_REAL_KIND(15)
REAL(iwp),INTENT(IN)::t
REAL(iwp)::load_result
load_result=COS(0.3_iwp*t)
RETURN
END FUNCTION load
END PROGRAM p116
New scalar integers:
cg iters
pcg iteration counter
pcg iteration ceiling
cg limit
New scalar reals:
alpha
α
from equations (3.22)
β
beta
from equations (3.22)
cg tol
pcg convergence tolerance
T
holds dot product
{
R
}
k {
R
} k
up
New scalar logical:
cg converged set to .TRUE. if pcg process has converged
New dynamic real arrays:
d
vector used in equation (3.22)
diag precon
diagonal preconditioner vector
“descent” vector used in equations (3.22)
p
holds element stiffness matrices
storkm
holds element mass matrices
stormm
vector used in equation (3.22)
u
“old” solution vector
x
“new” solution vector
xnew
Typical mesh free strategies can preserve the unconditional stability of the “implicit”
procedures such as in Program 11.3 by replacing the direct equation solution by an iterative
approach such as pcg. Alternatively, as was done in Chapter 8 (Program 8.4), a purely
explicit time-integration procedure for dynamic analysis can be adopted with its inherent
stability limitations, as will be explained in the final Program 11.7. Product EBE techniques
are also available (Wong et al ., 1989) but are not dealt with in this topic.
Program 11.6 is adapted from Program 11.3 (implicit integration by the “theta” method)
in the same way as Program 8.3 was adapted from Program 8.2. Equation solution is
accomplished on every timestep by preconditioned conjugate gradients using diagonal pre-
conditioning of the left hand side matrix in equation (3.139).
Search WWH ::




Custom Search