em2d.v



[EM2D_APML] [EM2D_FIELDobjects] [EM2D_FIELDtypemodule] [EM2D_bnd] [type_bnd_cummermodule] [type_bndmodule]

em2d
#@(#) File EM2D.V, version $Revision: 1.20 $, $Date: 2009/11/18 22:02:04 $
# Copyright (c) 1990-1998, The Regents of the University of California.
# All rights reserved.  See LEGAL.LLNL for full text and disclaimer.
# This is the parameter and variable database for the 3-D EM solver of code WARP
# Jean-Luc Vay,   LBNL, (510)486-4934
# David P. Grote, LLNL, (510)423-7194
# Alex Friedman,  LLNL, (510)422-0827


Module EM2D_APML:
pml              integer /1/
pml_sadjusted    integer /2/
apml_exponential integer /3/
apml_hybrid      integer /4/
apml_ssa         integer /5/
apml_lwa         integer /6/


[solvecubic]
Module EM2D_bnd dump:
l_pml_cummer  logical    /.false./
s_max_init       real    /4./
s_max_x          real
s_max_y          real
s_delta          real    /5./
sb_coef          real    /0./
nn               real    /2./
bnd_cond         integer /6/
bndexeybz        dynamic type_bnd
bndexeybzc       dynamic type_bnd
bndexeybzf       dynamic type_bnd
bndbxbyez        dynamic type_bnd
bndbxbyezc       dynamic type_bnd
bndbxbyezf       dynamic type_bnd
bndexeybz_c        dynamic type_bnd_cummer
bndexeybzc_c       dynamic type_bnd_cummer
bndexeybzf_c       dynamic type_bnd_cummer
bndbxbyez_c        dynamic type_bnd_cummer
bndbxbyezc_c       dynamic type_bnd_cummer
bndbxbyezf_c       dynamic type_bnd_cummer


[depose_current_em2d] [em2d_step] [geteb_em2d] [getf_em2d] [setexte] [vcap3d]
Module EM2D_FIELDobjects dump:
l_onegrid                    logical /.true./
l_elaser_out_plane           logical /.false./
l_moving_window              logical /.false./
l_noinputfield               logical /.false./
l_copyfields                 logical /.false./
l_smoothdensity              logical /.false./
ntamp_apr                    integer /4/
rap                          integer /1/
ndelta_t                     integer /1/
nxpatch                      integer /1/
nypatch                      integer /1/
ixpatch                      integer /0/
iypatch                      integer /0/
ntamp_scatter                integer /2/
ntamp_gather                 integer /4/
transition_zone              real /0./ # length of zone for linear transition from coarse to fine force (in coarse cell units)
tmin_moving_main_window      real /0./

init_fields(f:EM2D_FIELDtype, nx:integer, ny:integer, 
           nbndx:integer, nbndy:integer, 
           dtm:real, dx:real, dy:real, clight:real, mu0:real, 
           xmin:real, ymin:real, rap:integer, 
           xlb:integer,ylb:integer,xrb:integer,yrb:integer) subroutine
push_em_e(f:EM2D_FIELDtype,dt:real) subroutine
push_em_b(f:EM2D_FIELDtype,dt:real) subroutine
depose_current_em2d(n:integer,x(n):real,y(n):real,
                    ux(n):real,uy(n):real,uz(n):real,gaminv(n):real,
                    w(n):real,q:real,dt:real,l_particles_weight:logical,
                    field:EM2D_FIELDtype,fpatchfine:EM2D_FIELDtype) subroutine
em2d_geteb2d_linear_serial(n:integer,x(n):real,y(n):real,
                           ex(n):real,ey(n):real,ez(n):real,
                           bx(n):real,by(n):real,bz(n):real,
                           xmin:real,ymin:real,dx:real,dy:real,
                           nx:integer,ny:integer,
                           exg(0:nx+3,0:ny+2):real,eyg(0:nx+3,0:ny+2):real,
                           ezg(0:nx+3,0:ny+2):real,
                           bxg(0:nx+3,0:ny+2):real,byg(0:nx+3,0:ny+2):real,
                           bzg(0:nx+3,0:ny+2):real) subroutine
em2d_getf2d_linear_serial(n:integer,x(n):real,y(n):real,
                          fx(n):real,fy(n):real,fz(n):real,
                          xmin:real,ymin:real,dx:real,dy:real,
                          nx:integer,ny:integer,
                          fxg(0:nx+3,0:ny+2):real,fyg(0:nx+3,0:ny+2):real,
                          fzg(0:nx+3,0:ny+2):real) subroutine
em2d_depose_jxjy_esirkepov_linear_serial(j:real,
                           n:integer,x(n):real,y(n):real,
                           xold(n):real,yold(n):real,uz(n):real,
                           gaminv(n):real,w(n):real,q:real,
                           xmin:real,ymin:real,dt:real,dx:real,dy:real,
                           nx:integer,ny:integer,l_particles_weight:logical)
                           subroutine
getf_em2d(n:integer,x(n):real,y(n):real,
           fx(n):real,fy(n):real,fz(n):real,
           field:EM2D_FIELDtype,fpatchfine:EM2D_FIELDtype,
           which:integer) subroutine   
em2d_step() subroutine
griuni(f:EM2D_FIELDtype) subroutine
grimax(f:EM2D_FIELDtype) subroutine
smooth2d_lindman(q(0:nx+3,0:ny+2),nx,ny) subroutine
smooth2d_121(q(0:nx+3,0:ny+2),nx,ny) subroutine
move_window_field(f:EM2D_FIELDtype) subroutine
project_j(f:EM2D_FIELDtype,fc:EM2D_FIELDtype,ff:EM2D_FIELDtype) subroutine
set_substitute_fields(field:EM2D_FIELDtype,fpatchcoarse:EM2D_FIELDtype,fpatchfine:EM2D_FIELDtype) subroutine
bndijk(f:EM2D_FIELDtype,j:integer,k:integer) integer function
add_current_slice(f:EM2D_FIELDtype,i:integer) subroutine


[setexte]
Derived Type type_bnd:
n integer
nx integer
ny integer
nbndx integer
nbndy integer
n1x integer
nbot integer
nint integer
ntop integer
nbot1 integer
nbot2 integer
ntop1 integer
ntop2 integer
Ex(1:n) dynamic real
Ey(1:n) dynamic real
Bzx(1:n) dynamic real
Bzy(1:n) dynamic real
aEx(1:n) dynamic real
bEx(1:n) dynamic real
cEx(1:n) dynamic real
aEy(1:n) dynamic real
bEy(1:n) dynamic real
cEy(1:n) dynamic real
aBzx(1:n) dynamic real
bBzx(1:n) dynamic real
cBzx(1:n) dynamic real
aBzy(1:n) dynamic real
bBzy(1:n) dynamic real
cBzy(1:n) dynamic real


[create_bnd] [exchange_bnd_field2_apml_cummer] [exchange_bnd_field_apml_cummer] [move_bnd] [move_bnd] [move_window_bnd] [setexte]
Derived Type type_bnd_cummer:
n integer
nx integer
ny integer
nbndx integer
nbndy integer
n1x integer
nbot integer
nint integer
ntop integer
nbot1 integer
nbot2 integer
ntop1 integer
ntop2 integer
Ex(1:n) dynamic real
Ey(1:n) dynamic real
Bz(1:n) dynamic real
Extild(1:n) dynamic real
Eytild(1:n) dynamic real
Bzxtild(1:n) dynamic real
Bzytild(1:n) dynamic real
aEx(1:n) dynamic real
bEx(1:n) dynamic real
cEx(1:n) dynamic real
aEy(1:n) dynamic real
bEy(1:n) dynamic real
cEy(1:n) dynamic real
aBz(1:n) dynamic real
bBzx(1:n) dynamic real
cBzx(1:n) dynamic real
bBzy(1:n) dynamic real
cBzy(1:n) dynamic real
aExtild(1:n) dynamic real
aEytild(1:n) dynamic real
aBzxtild(1:n) dynamic real
aBzytild(1:n) dynamic real
bExtild(1:n) dynamic real
bEytild(1:n) dynamic real
bBzxtild(1:n) dynamic real
bBzytild(1:n) dynamic real


[add_current_slice] [champ_b] [champ_e] [champ_f] [checkconductors_workxy] [depose_current_em2d] [depose_current_em2d] [depose_current_em2d] [exchange_bnd_field] [exchange_bnd_field2] [exchange_bnd_field2_apml] [exchange_bnd_field2_apml_cummer] [exchange_bnd_field_apml] [exchange_bnd_field_apml_cummer] [exchange_bnd_field_tild] [geteb_em2d] [geteb_em2d] [geteb_em2d] [getf_em2d] [getf_em2d] [grimax] [griuni] [init_fields] [move_window_field] [move_window_field] [project_j] [push_em_b] [push_em_e] [set_substitute_fields] [set_substitute_fields] [setexte] [shift_fields_1cell] [smooth]
Derived Type EM2D_FIELDtype:
nx integer  /0/
ny integer  /0/
nxi integer /0/
nyi integer /0/
nxf integer /0/
nyf integer /0/
nxl integer /0/
nyl integer /0/
nxcoeffs integer /0/
nycoeffs integer /0/
nxcopy integer /0/
nycopy integer /0/
ntimes integer /1/
xmin real
ymin real
xmax real
ymax real
xminpatch_scatter            real /0./
xmaxpatch_scatter            real /0./
yminpatch_scatter            real /0./
ymaxpatch_scatter            real /0./
xminpatch_gather             real /0./
xmaxpatch_gather             real /0./
yminpatch_gather             real /0./
ymaxpatch_gather             real /0./
rap integer
dx real
dy real
dxi real
dyi real
a real /0./
b real /0./
c real /0./
xlbound                      integer /0/
xrbound                      integer /0/
ylbound                      integer /0/
yrbound                      integer /0/
l_apply_pml        logical /.true./
l_add_source       logical /.true./
l_overcycle_ions   logical /.true./
l_addpatchresidual logical /.false./
l_usecoeffs        logical /.false./
l_uselargestencil  logical /.false./
l_pushf            logical /.false./
ntemp integer
ipulse integer /1/
npulse integer
laser_source_x real
testc real
sinteta real
cst1 real
cst2 real
cj(2) dynamic real
clight real
mu0    real
Ex(0:nx+3,0:ny+2) dynamic real
Ey(0:nx+3,0:ny+2) dynamic real
Ez(0:nx+3,0:ny+2) dynamic real
Bx(0:nx+3,0:ny+2) dynamic real
By(0:nx+3,0:ny+2) dynamic real
Bz(0:nx+3,0:ny+2) dynamic real
F(0:nxf+3,0:nyf+2) dynamic real
Exdj(0:nxl+3,0:nyl+2) dynamic real
Eydj(0:nxl+3,0:nyl+2) dynamic real
Ezdj(0:nxl+3,0:nyl+2) dynamic real
aEx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bEx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cEx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
dEx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
aEy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bEy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cEy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
dEy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
aEz(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bEzx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cEzx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bEzy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cEzy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
dEz(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
aBx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bBx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cBx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
aBy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bBy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cBy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
aBz(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bBzx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cBzx(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
bBzy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
cBzy(0:nxcoeffs+3,0:nycoeffs+2) dynamic real
Excopy(0:nxcopy+3,0:nycopy+2) dynamic real
Eycopy(0:nxcopy+3,0:nycopy+2) dynamic real
Bzcopy(0:nxcopy+3,0:nycopy+2) dynamic real
J(0:nx+3,0:ny+2,3) dynamic real
Jarray(0:nx+3,0:ny+2,3,ntimes) dynamic real
Rho(0:nxf+3,0:nyf+2) dynamic real
nxfsum integer /0/
nyfsum integer /0/
Exfsum(0:nxfsum+3,0:nyfsum+2) dynamic real
Eyfsum(0:nxfsum+3,0:nyfsum+2) dynamic real
Ezfsum(0:nxfsum+3,0:nyfsum+2) dynamic real
Bxfsum(0:nxfsum+3,0:nyfsum+2) dynamic real
Byfsum(0:nxfsum+3,0:nyfsum+2) dynamic real
Bzfsum(0:nxfsum+3,0:nyfsum+2) dynamic real
rm1(ny) dynamic real
rm2(ny) dynamic real
Bz_in(0:ny+2) dynamic real
Ey_in(0:ny+2) dynamic real
Ex_in(0:ny+2) dynamic real
Ez_in(0:ny+2) dynamic real
By_in(0:ny+2) dynamic real
Bx_in(0:ny+2) dynamic real
nxs integer /0/
nys integer /0/
dirprop integer /0/ # if 1 or -1, will suppress forward/backward emission
Ez_s(0:nxs+3,0:nys+2) dynamic real
Ezx_s(0:nxs+3,0:nys+2) dynamic real
Bz_s(0:nxs+3,0:nys+2) dynamic real
Bzx_s(0:nxs+3,0:nys+2) dynamic real
Ey_sbnd(0:nxs+3,0:nys+2) dynamic real
By_sbnd(0:nxs+3,0:nys+2) dynamic real
laser_profile(0:ny+3) dynamic real
temp(0:ntemp) dynamic real
tpulse(0:npulse+1) dynamic real
pulse(0:npulse+1) dynamic real
bndexeybz dynamic type_bnd
bndbxbyez dynamic type_bnd
bndexeybz_cummer dynamic type_bnd_cummer
bndbxbyez_cummer dynamic type_bnd_cummer