XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Types | Public Member Functions | Public Attributes | List of all members
psn_class Module Reference

This module defines the data structure psn that is used for storing data on the triangle grid (fields, potentials, densities, etc.) More...

Collaboration diagram for psn_class:
Collaboration graph
[legend]

Data Types

type  psn_type
 

Public Member Functions

subroutine psn_mem_alloc (psn, n, ntr, npsi, nhybrid)
 Allocates memory for the psn data structure. More...
 
subroutine set_rho_ff_pointers (nrho, n, pot0, dpot, dpot_ff, pot_rho_ff, E_rho_ff
 
subroutine set_rho_pointers (nrho, n, pot0, dpot, E_rho
 
subroutine set_electron_charge_pointers (nnode, npsi00, phi_ind0, density, density0, den00_1d)
 
subroutine set_electron_charge_pointers_em (nnode, jpar, jpar0)
 
subroutine set_ion_charge_pointers (nnode, npsi00, phi_ind0, density, density0, den00_1d)
 
subroutine set_ion_charge_pointers_em (nnode, jpar, jpar0)
 
subroutine set_ff_pointers (nnode, ff_hdp_p, ff_hdp_tr, ff_hdp_dx, ff_1dp_p, ff_1dp_tr, ff_1dp_dx)
 

Public Attributes

type(psn_type), target psn_global
 

Detailed Description

This module defines the data structure psn that is used for storing data on the triangle grid (fields, potentials, densities, etc.)

Member Function/Subroutine Documentation

subroutine psn_class::psn_mem_alloc ( type(psn_type), intent(inout)  psn,
integer, intent(in)  n,
integer, intent(in)  ntr,
integer, intent(in)  npsi,
integer, intent(in)  nhybrid 
)

Allocates memory for the psn data structure.

Parameters
[in,out]psnfield data structure, type(psn_type)
[in]nNumber of vertices in the triangle mesh, (integer)
[in]ntrNumber of triangles in the triangle mesh, (integer)
[in]npsiNumber of flux-surfaces on uniform psi-grid, (integer)
[in]nhybridNumber of hybrid iterations in the calculation of the non-adiabatic elec. response, (integer)

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine psn_class::set_electron_charge_pointers ( integer, intent(in)  nnode,
integer, intent(in)  npsi00,
integer, intent(in)  phi_ind0,
real (8), dimension(nnode, phi_ind0:1), target  density,
real (8), dimension(nnode), target  density0,
real (8), dimension(npsi00), target  den00_1d 
)
subroutine psn_class::set_electron_charge_pointers_em ( integer, intent(in)  nnode,
real (8), dimension(nnode, 0:1), target  jpar,
real (8), dimension(nnode), target  jpar0 
)
subroutine psn_class::set_ff_pointers ( integer, intent(in)  nnode,
real (8), dimension(3,nnode,0:1), target  ff_hdp_p,
integer, dimension(nnode,0:1), target  ff_hdp_tr,
real (8), dimension(nnode,0:1), target  ff_hdp_dx,
real (8), dimension(3,nnode,0:1), target  ff_1dp_p,
integer, dimension(nnode,0:1), target  ff_1dp_tr,
real (8), dimension(nnode,0:1), target  ff_1dp_dx 
)
Parameters
ff_hdp_pInterpolation weights for half-integer step parallel to B
ff_hdp_trTriangle index for half-integer step parallel to B
ff_hdp_dxArc length for half-integer step parallel to B
ff_1dp_pInterpolation weights for full-integer step parallel to B
ff_1dp_trTriangle index for full-integer step parallel to B
ff_1dp_dxArc length for full-integer step parallel to B
subroutine psn_class::set_ion_charge_pointers ( integer, intent(in)  nnode,
integer, intent(in)  npsi00,
integer, intent(in)  phi_ind0,
real (8), dimension(nnode, phi_ind0:1), target  density,
real (8), dimension(nnode), target  density0,
real (8), dimension(npsi00), target  den00_1d 
)
subroutine psn_class::set_ion_charge_pointers_em ( integer, intent(in)  nnode,
real (8), dimension(nnode, 0:1), target  jpar,
real (8), dimension(nnode), target  jpar0 
)
subroutine psn_class::set_rho_ff_pointers ( integer, intent(in)  nrho,
integer, intent(in)  n,
real (8), dimension(n), target  pot0,
real (8), dimension(n,-1:2), target  dpot,
real (8), dimension(0:1,n), target  dpot_ff,
real (8), dimension(0:1,0:nrho,n), target  pot_rho_ff,
real (8), dimension(0:1,3,0:nrho,n), target  E_rho_ff 
)
subroutine psn_class::set_rho_pointers ( integer, intent(in)  nrho,
integer, intent(in)  n,
real (8), dimension(n), target  pot0,
real (8), dimension(n,1), target  dpot,
real (8), dimension(2,0:nrho,n), target  E_rho 
)

Member Data Documentation

type(psn_type), target psn_class::psn_global

The documentation for this module was generated from the following file: