1!$Id:$
2      subroutine modify(p,s,dul,nsiz,nst)
3
4!      * * F E A P * * A Finite Element Analysis Program
5
6!....  Copyright (c) 1984-2017: Regents of the University of California
7!                               All rights reserved
8
9!-----[--.----+----.----+----.-----------------------------------------]
10!      Purpose: Modify element residual for effects of specified
11!               boundary values.
12
13!               p(i) = p(i) - s(i,j)*dul(j)
14
15!      Inputs:
16!         ld(*)  - Array with negative entries where boundary
17!                  solution to be imposed
18!         s(*,*) - Element tangent array
19!         dul(*) - Value of specified solution increments
20!         nst    - Dimension of element arrays
21
22!      Outputs:
23!         p(*)   - Residual modified for effect of increments
24!-----[--.----+----.----+----.-----------------------------------------]
25      implicit  none
26
27      integer   nsiz,nst,i,j
28      real*8    p(nst),s(nst,nst),dul(nst)
29
30!     Loop over columns and search for boundary terms
31
32      do j = 1,nsiz
33
34!       Loop over rows to modify active equations
35
36        do i = 1,nsiz
37          p(i) = p(i) - s(i,j)*dul(j)
38        end do ! i
39
40      end do ! j
41
42      end
43