set_slab

Module

Description

This module sets up particles in a thin slab, i.e. 3D box but with

small aspect ratio in the z direction. Useful for performing 2D test problems in 3D

References:

None

Owner:

Daniel Price

Runtime parameters:
  • nx : number of particles in x direction

  • plasmabzero : initial plasma beta

  • rhozero : initial density (gives particle mass)

Dependencies:

boundary, infile_utils, mpidomain, prompting, unifdis

Quick access

Types:

slab_t

Variables:

get_plasmab, read_options_slab, setup_interactive_slab, slab_opts, slab_t, write_options_slab

Routines:

get_options_slab(), set_slab()

Needed modules

  • unifdis (rho_func())

Types

  • type  slab/slab_t
    Type fields:
    • % nx [integer]

    • % plasmab [real]

    • % rhozero [real]

Variables

  • slab/get_plasmab [logical,private/optional/default=.false.]
  • slab/read_options_slab [private]
  • slab/rho_func [public]
  • slab/setup_interactive_slab [private]
  • slab/slab_opts [slab_t,private]
  • slab/slab_t [public]
  • slab/write_options_slab [private]

Subroutines and functions

subroutine  slab/set_slab(id, master, nx, xmini, xmaxi, ymini, ymaxi, hfact, np, nptot, xyzh[, npartoftype[, rhozero[, massoftype[, itype[, deltax[, lattice, density_func[, dir]]]]]]])
Parameters:
  • id [integer,in]

  • master [integer,in]

  • nx [integer,in]

  • xmini [real,in]

  • xmaxi [real,in]

  • ymini [real,in]

  • ymaxi [real,in]

  • hfact [real,in]

  • np [integer,inout]

  • nptot [integer,inout]

  • xyzh (,) [real,out]

  • npartoftype (*) [integer,inout,]

  • rhozero [real,inout,]

  • massoftype (*) [real,inout,]

  • itype [integer,in,]

  • deltax [real,out,]

  • lattice [character,in,]

  • density_func [real]

  • dir [integer,in,]

Use :

boundary (set_boundary(), xmin(), ymin(), zmin(), xmax(), ymax(), zmax(), dxbound(), dybound(), dzbound()), unifdis (set_unifdis()), mpidomain (i_belong())

Call to:

set_boundary()

subroutine  slab/get_options_slab(fileprefix, id, master, nx, rhozero, ierr[, plasmab])
Parameters:
  • fileprefix [character,in]

  • id [integer,in]

  • master [integer,in]

  • nx [integer,inout]

  • rhozero [real,inout]

  • ierr [integer,out]

  • plasmab [real,inout,]

Use :

infile_utils (get_options())

Call to:

get_options()