Subsections


Main Subroutines of FASTEST/SET-UP


Subroutine stgldm

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