Description/Structure:
stgldm is a routine to make the parameters which are defined
in parp3d.inc known to FASTEST3D. If the mapper is
going to write a new parameter (newpar) in the include file
parp3d.inc You have to add this newpar to the
argumentlist of stgldm. In the subroutine itselfs You have to
use this parameter als newparp. Then You have to
copy newparp to newpar. Now this new
parameter can be used as usal.
An example:
parp3d.inc: The new parameter testpar was written by map3d.
integer nx,ny,nz,nxya,nxza,nyza,nxyz,nxyza,nxyzm,nxyzf integer nxg,nyg,nzg,nxyzg,ndiama,mntrau,mntrat,ntratab integer mnpat,mnpatt,ndipa,ncorl,ncorp,mclick,mtstr integer mmom1,mmom2,nxyzamom,nxyzaen,nxyzate,nxyzat integer nxyzaent,nxyzatet,maxpt0,maxptn,ntraptcon integer nxyziso,misoind,nxyzam,nxyzafs,nxyzaphf,nxyzpst integer nxyzamfs,ncpnodes,nfsi,ntprop,ncphi,nreac integer nxyzac,nxyzact,nxyzmc integer nxyzarad,nxyzfrad,mnrfe,mnvf,mnvfe integer testpar parameter(ngit=1,mnb=8,mnp=1) parameter(mngb=8,mnpb=8) --------8<-------------8<---------snip------8<------ .... --------8<-------------8<---------snip------8<------ parameter(mnrfe=1) parameter(mnvfe=1,mnvf=1) parameter(testpar=123)
Now in fhp.F You have to call the subroutine stgldm. The new arguementlist will look something like this:
call stgldm(ngit,mnb,mnp,mngb,mnpb,mfr, & nx,ny,nz,nxya,nxza,nyza, & nxyz,nxyza,nxyzf,nxyzm, & nxg,nyg,nzg,nxyzg, --------8<-------------8<---------snip------8<------ .... --------8<-------------8<---------snip------8<------ & nxyzarad,nxyzfrad, & mnvf,mnvfe,mnrfe, & nphi,nprop,ntprop,nxyzpst, & testpar)
In the subroutine itselfs all the parameters are known as its name with an p anexed.
subroutine stgldm(ngitp,mnbp,mnpp,mngbp,mnpbp,mfrp, & nxp,nyp,nzp,nxyap,nxzap,nyzap, & nxyzp,nxyzap,nxyzfp,nxyzmp, & nxgp,nygp,nzgp,nxyzgp, --------8<-------------8<---------snip------8<------ .... --------8<-------------8<---------snip------8<------ & nxyzaradp,nxyzfradp, & mnvfp,mnvfep,mnrfep, & nphip,npropp,ntpropp,nxyzpstp, & testparp)
The only thing You have to do now is to define the parameter (usually
as integer). You can define it localy or in cbglobaldim.h
(). This is yout decision. Later You only copy the
parameter back to its original name.
testpar=testparp