doSurface Subroutine

subroutine doSurface()

Arguments

None

Description

surface

Calls

proc~~dosurface~~CallsGraph proc~dosurface doSurface proc~box box proc~dosurface->proc~box proc~linspace linspace proc~dosurface->proc~linspace interface~mixval mixval proc~dosurface->interface~mixval proc~subplot subplot proc~dosurface->proc~subplot proc~surface surface proc~dosurface->proc~surface proc~figure figure proc~dosurface->proc~figure proc~xyzlim xyzlim proc~dosurface->proc~xyzlim plbox3 plbox3 proc~box->plbox3 plvasp plvasp proc~subplot->plvasp pladv pladv proc~subplot->pladv plvsta plvsta proc~subplot->plvsta plssub plssub proc~subplot->plssub plvpor plvpor proc~subplot->plvpor proc~surface->proc~linspace plsurf3d plsurf3d proc~surface->plsurf3d proc~figure->pladv proc~figure->plssub pleop pleop proc~figure->pleop plbop plbop proc~figure->plbop plwind plwind proc~xyzlim->plwind plw3d plw3d proc~xyzlim->plw3d
Help

Called By

proc~~dosurface~~CalledByGraph proc~dosurface doSurface program~examples_prg examples_prg program~examples_prg->proc~dosurface
Help

Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: N =24
real(kind=wp), public, dimension(N):: x
real(kind=wp), public, dimension(N):: y
real(kind=wp), public, dimension(N,N):: z
integer, public :: i
integer, public :: j

Source Code

	subroutine doSurface
		!! ![surface](|media|/example-9.svg)
		
		integer,parameter::N = 24
		real(wp),dimension(N)::x,y
		real(wp),dimension(N,N)::z
		integer::i,j
		
		x = linspace(-10.0_wp,10.0_wp,N)
		y = linspace(-10.0_wp,10.0_wp,N)
		forall(i=1:N,j=1:N)
			z(i,j) = sin( sqrt(x(i)**2+y(j)**2) )/sqrt(x(i)**2+y(j)**2)
		end forall
		
		call figure()
		
		call subplot(1,1,1,is3d=.true.)
		call xyzlim(mixval(x),mixval(y),mixval(z),zoom=1.1_wp)
		call surface(x,y,z,11)
!~ 		call wireframe(x,y,z,lineColor='k')
		call box('x','y','z')
		
	end subroutine doSurface