SPEED
MAKE_NLE.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine make_nle (depth, nn, yon, nnt, zs_elev, cs_nnz, cs, ielem, ncase, tcase, zs_all, vs_tria)
 Find non-linear nodes.
 

Function/Subroutine Documentation

◆ make_nle()

subroutine make_nle ( real*8  depth,
integer*4  nn,
integer*4, dimension(nn,nn,nn)  yon,
integer*4  nnt,
real*8, dimension(nnt)  zs_elev,
integer*4  cs_nnz,
integer*4, dimension(0:cs_nnz)  cs,
integer*4  ielem,
integer*4  ncase,
integer*4  tcase,
real*8, dimension(nnt)  zs_all,
real*8, dimension(nnt)  vs_tria 
)

Find non-linear nodes.

Author
Ilario Mazzieri
Date
September, 2015
Version
1.0
Parameters
[in]Depthdepth for searching nodes
[in]nnpolynomial degree
[in]nntnumber of nodes
[in]zs_elvnodes elevation from surface
[in]cs_nnzlength of cs
[in]csconnectivity vector
[in]ielemelement index
[in]ncaseid for case
[in]tcaselabel for case
[in]zs_allnodes elevation from alluvial
[in]vs_triavs30 values
[out]yon1 if the node is non-linear elastic, 0 otherwise

Definition at line 39 of file MAKE_NLE.f90.

44
45
46
47 implicit none
48
49 integer*4 :: nn
50 integer*4 :: p,q,r
51 integer*4 :: nnt
52 integer*4 :: cs_nnz
53 integer*4 :: ncase
54 integer*4 :: tcase
55 integer*4 :: is,in,ielem
56
57 integer*4, dimension(0:cs_nnz) :: cs
58
59 integer*4, dimension(nn,nn,nn) :: yon
60
61 real*8 :: depth
62
63 real*8, dimension(nnt) :: zs_elev
64 real*8, dimension(nnt) :: zs_all
65 real*8, dimension(nnt) :: vs_tria
66
67! STRESS CALCULATION
68
69 do r = 1,nn
70 do q = 1,nn
71 do p = 1,nn
72
73 yon(p,q,r) = 1
74
75 is = nn*nn*(r -1) +nn*(q -1) +p
76 in = cs(cs(ielem -1) +is)
77 if (ncase.gt.0 .and. tcase .ne. 16) then
78 if (depth.lt.zs_elev(in) .or. zs_elev(in) .lt. 0.d0 ) yon(p,q,r) = 0
79 if ((tcase .gt. 0) .and. (zs_all(in) .lt. 0.0d0)) yon(p,q,r) = 0
80 elseif (ncase.gt.0 .and. tcase .eq. 16) then
81 if (depth .lt. zs_elev(in) .or. zs_elev(in) .lt. 0.d0 ) yon(p,q,r) = 0
82 if (vs_tria(in) .ge. 450.0d0) yon(p,q,r) = 0
83 endif
84
85 enddo
86 enddo
87 enddo
88
89 return
90