|
XGCa
|
Data Types | |
| type | grid_type |
Functions/Subroutines | |
| subroutine | init_fortran_grid (grid_nnode_in, grid_ntriangle_in, grid_x_in, grid_rgn_in, grid_nd_in, grid_mapping_in, basis_in) |
| subroutine | init_fortran_grid_surf (n_xpt, i_x1, i_x2, nsurf1, nsurf2, nsurf3a, nsurf3b, isurf_sep1, isurf_sep2, npsi_surf, surf_maxlen, surf_len, surf_idx) |
| subroutine | init_fortran_grid_filter_arrays (npsi_surf, surf_maxlen, theta_sort_idx, m_max_surf) |
| subroutine | init_fortran_grid_theta_qsafety (nnode, npsi_surf, theta, qsafety) |
| subroutine | init_secondary_grid_arrays (grid_psi_in, grid_grad_psi_in, grid_bfield_in) |
| subroutine | init_fortran_vols_and_areas (tr_area_h, tr_vol_h, node_vol_nearest_h, node_vol_h, node_area_h) |
| subroutine | init_fortran_psi_grid_props (npsi_surf, psi_surf, npsi_surf2, psi_surf2, psi_surf_map) |
| subroutine | alloc_fortran_gradient_mat_unit_vec (m, n, width) |
| subroutine | init_grid (grid) |
| Initializes the grid data structure from input files containing i) The (R,Z) coordinates of all vertices including whether they are wall vertices (.node file), ii) the connectivity of the vertices defining the triangles of the unstructured mesh (.ele file), iii) the flux-surface connectivity, i.e. which vertices are on the same flux-surface, and for vertices not aligned on flux-surfaces between which flux-surfaces those vertices lie. More... | |
| subroutine | init_triangle (grid) |
| subroutine | interpolate_theta (n0, n1, x0, x1, y0, y1, periodic) |
| Interpolates data onto a new theta grid. More... | |
Variables | |
| integer, parameter | grid_rgn_wall = 100 |
| real(8), parameter | grid_search_tr2_psi_null = -1D10 |
| integer, parameter | grid_min_surf_size = 5 |
| type(grid_type), target | grid_global |
| subroutine grid_class::alloc_fortran_gradient_mat_unit_vec | ( | integer(c_int), intent(in), value | m, |
| integer(c_int), intent(in), value | n, | ||
| integer(c_int), intent(in), value | width | ||
| ) |

| subroutine grid_class::init_fortran_grid | ( | integer(c_int), intent(in), value | grid_nnode_in, |
| integer(c_int), intent(in), value | grid_ntriangle_in, | ||
| real (kind=8), dimension(2,grid_nnode_in), target | grid_x_in, | ||
| integer(c_int), dimension(grid_nnode_in), target | grid_rgn_in, | ||
| integer(c_int), dimension(3,grid_ntriangle_in), target | grid_nd_in, | ||
| real (kind=8), dimension(2,3,grid_ntriangle_in), target | grid_mapping_in, | ||
| integer(c_int), dimension(grid_nnode_in), target | basis_in | ||
| ) |
| subroutine grid_class::init_fortran_grid_filter_arrays | ( | integer(c_int), intent(in), value | npsi_surf, |
| integer(c_int), intent(in), value | surf_maxlen, | ||
| integer(c_int), dimension(surf_maxlen, npsi_surf), target | theta_sort_idx, | ||
| integer(c_int), dimension(npsi_surf), target | m_max_surf | ||
| ) |
| subroutine grid_class::init_fortran_grid_surf | ( | integer(c_int), intent(in), value | n_xpt, |
| integer(c_int), intent(in), value | i_x1, | ||
| integer(c_int), intent(in), value | i_x2, | ||
| integer(c_int), intent(in), value | nsurf1, | ||
| integer(c_int), intent(in), value | nsurf2, | ||
| integer(c_int), intent(in), value | nsurf3a, | ||
| integer(c_int), intent(in), value | nsurf3b, | ||
| integer(c_int), intent(in), value | isurf_sep1, | ||
| integer(c_int), intent(in), value | isurf_sep2, | ||
| integer(c_int), intent(in), value | npsi_surf, | ||
| integer(c_int), intent(in), value | surf_maxlen, | ||
| integer(c_int), dimension(npsi_surf), target | surf_len, | ||
| integer(c_int), dimension(surf_maxlen, npsi_surf), target | surf_idx | ||
| ) |
| subroutine grid_class::init_fortran_grid_theta_qsafety | ( | integer(c_int), intent(in), value | nnode, |
| integer(c_int), intent(in), value | npsi_surf, | ||
| real(c_double), dimension(nnode), target | theta, | ||
| real(c_double), dimension(npsi_surf), target | qsafety | ||
| ) |
| subroutine grid_class::init_fortran_psi_grid_props | ( | integer(c_int), intent(in), value | npsi_surf, |
| real(c_double), dimension(npsi_surf), target | psi_surf, | ||
| integer(c_int), intent(in), value | npsi_surf2, | ||
| real(c_double), dimension(npsi_surf2), target | psi_surf2, | ||
| integer(c_int), dimension(npsi_surf2), target | psi_surf_map | ||
| ) |
| subroutine grid_class::init_fortran_vols_and_areas | ( | real(c_double), dimension(grid_global%ntriangle), target | tr_area_h, |
| real(c_double), dimension(grid_global%ntriangle), target | tr_vol_h, | ||
| real(c_double), dimension(grid_global%nnode), target | node_vol_nearest_h, | ||
| real(c_double), dimension(grid_global%nnode), target | node_vol_h, | ||
| real(c_double), dimension(grid_global%nnode), target | node_area_h | ||
| ) |
| subroutine grid_class::init_grid | ( | type(grid_type), intent(inout) | grid | ) |
Initializes the grid data structure from input files containing i) The (R,Z) coordinates of all vertices including whether they are wall vertices (.node file), ii) the connectivity of the vertices defining the triangles of the unstructured mesh (.ele file), iii) the flux-surface connectivity, i.e. which vertices are on the same flux-surface, and for vertices not aligned on flux-surfaces between which flux-surfaces those vertices lie.
| [in,out] | grid | memory for grid data, type(grid_type) |
| [in] | filename3 | File containing the flux-surface connectivity |


| subroutine grid_class::init_secondary_grid_arrays | ( | real (kind=8), dimension(grid_global%nnode), target | grid_psi_in, |
| real (kind=8), dimension(grid_global%nnode, 2) | grid_grad_psi_in, | ||
| real (kind=8), dimension(grid_global%nnode, 4) | grid_bfield_in | ||
| ) |
| subroutine grid_class::init_triangle | ( | type(grid_type) | grid | ) |

| subroutine grid_class::interpolate_theta | ( | integer(c_int), intent(in), value | n0, |
| integer(c_int), intent(in), value | n1, | ||
| real (c_double), dimension(n0), intent(in) | x0, | ||
| real (c_double), dimension(n1), intent(in) | x1, | ||
| real (c_double), dimension(n0), intent(in) | y0, | ||
| real (c_double), dimension(n1), intent(out) | y1, | ||
| integer(c_int), intent(in), value | periodic | ||
| ) |
Interpolates data onto a new theta grid.
| [in] | n0 | length of the input theta grid; integer |
| [in] | n1 | length of the output theta grid; integer |
| [in] | x0 | input theta grid; real(8) |
| [in] | x1 | output theta grid; real(8) |
| [in] | y0 | input data; real(8) |
| [out] | y1 | output data; real(8) |
| [in] | periodic | whether the input data is periodic; integer |
| type(grid_type), target grid_class::grid_global |
| integer, parameter grid_class::grid_min_surf_size = 5 |
| integer, parameter grid_class::grid_rgn_wall = 100 |
| real (8), parameter grid_class::grid_search_tr2_psi_null = -1D10 |