Skip to content
Snippets Groups Projects
Commit 357ce19f authored by Dave Whipp's avatar Dave Whipp
Browse files

modified to use new zi (zisodisp) structure

parent 1593e29b
No related branches found
No related tags found
No related merge requests found
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
!------------------------------------------------------------------------------| !------------------------------------------------------------------------------|
!------------------------------------------------------------------------------| !------------------------------------------------------------------------------|
subroutine define_isostasy_bc(params,osolve,vo,zisodisp,firstcall,l,x0,spu,spv,& subroutine define_isostasy_bc(params,osolve,vo,zi,firstcall,l,x0,spu,spv,&
ldisp) ldisp)
!------------------------------------------------------------------------------| !------------------------------------------------------------------------------|
...@@ -41,7 +41,8 @@ implicit none ...@@ -41,7 +41,8 @@ implicit none
type (parameters) params type (parameters) params
type (octreesolve) osolve type (octreesolve) osolve
type (void) vo type (void) vo
double precision zisodisp(2**params%levelmax_oct+1,2**params%levelmax_oct+1) type (ziso) zi
!double precision zisodisp(2**params%levelmax_oct+1,2**params%levelmax_oct+1)
double precision x0(osolve%nnode),ldisp(osolve%nnode) double precision x0(osolve%nnode),ldisp(osolve%nnode)
double precision l,spu,spv double precision l,spu,spv
logical firstcall logical firstcall
...@@ -73,19 +74,19 @@ if (firstcall) then ...@@ -73,19 +74,19 @@ if (firstcall) then
! Shift s-line depth ! Shift s-line depth
xdisp=nint(x0(i)*nb)+1 xdisp=nint(x0(i)*nb)+1
ydisp=nint(osolve%y(i)*nb)+1 ydisp=nint(osolve%y(i)*nb)+1
ldisp(i)=l+zisodisp(xdisp,ydisp) ldisp(i)=l+zi%zisodisp(xdisp,ydisp)
enddo enddo
else else
allocate(zisoslx(nb+1,nb+1))!,zisosly(nb+1,nb+1)) allocate(zisoslx(nb+1,nb+1))!,zisosly(nb+1,nb+1))
do j=1,nb+1 do j=1,nb+1
do i=1,nb+1 do i=1,nb+1
if (i==1) then if (i==1) then
zisoslx(i,j)=(zisodisp(i+1,j)-zisodisp(i,j))/dxy ! Displacement between first and second nodes along x-axis zisoslx(i,j)=(zi%zisodisp(i+1,j)-zi%zisodisp(i,j))/dxy ! Displacement between first and second nodes along x-axis
elseif (i==nb+1) then elseif (i==nb+1) then
zisoslx(i,j)=(zisodisp(i,j)-zisodisp(i-1,j))/dxy ! Displacement between second-to-last and last nodes along x-axis zisoslx(i,j)=(zi%zisodisp(i,j)-zi%zisodisp(i-1,j))/dxy ! Displacement between second-to-last and last nodes along x-axis
else else
zisoslx(i,j)=((zisodisp(i,j)-zisodisp(i-1,j))/dxy+& ! Average displacement of nodes on either side of current node, along x-axis zisoslx(i,j)=((zi%zisodisp(i,j)-zi%zisodisp(i-1,j))/dxy+& ! Average displacement of nodes on either side of current node, along x-axis
(zisodisp(i+1,j)-zisodisp(i,j))/dxy)/2.d0 (zi%zisodisp(i+1,j)-zi%zisodisp(i,j))/dxy)/2.d0
endif endif
!if (j==1) then !if (j==1) then
! zisosly(i,j)=(zisodisp(i,j+1)-zisodisp(i,j))/dxy ! Displacement between first and second nodes along y-axis ! zisosly(i,j)=(zisodisp(i,j+1)-zisodisp(i,j))/dxy ! Displacement between first and second nodes along y-axis
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment