Stellarator-Tools
Loading...
Searching...
No Matches
bmw_context::bmw_context_class Interface Reference

Base class representing a bmw context. This contains all memory needed to operate bmw. More...

Public Member Functions

procedure, pass set_up_grid_m (this, p_start, p_end, parallel, io_unit)
 Set the unprimed grid.
 
procedure, pass set_up_grid_a (this, r_grid, z_grid, dphi, parallel, io_unit)
 Set the unprimed grid.
 
procedure, pass set_up_grid_c (this, vmec_vac_file, num_v, flags, p_start, p_end, parallel, io_unit)
 Set the unprimed grid.
 
GENERIC set_up_grid set_up_grid_m, set_up_grid_a, set_up_grid_c
 
procedure, pass write (this, result_file_name, parallel)
 Write NetCDF based result file.
 
FINAL bmw_context_destruct (this)
 Deconstruct a bmw_context_class object.
 
class(bmw_context_class) function, pointer bmw_context_construct (mgrid_file_name, wout_file_name, siesta_file_name, flags, num_p, parallel, io_unit)
 Construct a bmw_context_class object.
 
class(bmw_context_class) function, pointer bmw_context_construct_plasma (wout_file_name, siesta_file_name, flags, num_r, num_p, num_z, rmax, rmin, zmax, zmin, parallel, io_unit)
 Construct a bmw_context_class object.
 

Public Attributes

class(vmec_file_class), pointer vmec => null()
 VMEC equilibrium object.
 
class(m_grid_class), pointer m_grid => null()
 Vacuum grid object.
 
class(primed_grid_class), pointer p_grid => null()
 Primed grid object.
 
class(unprimed_grid_class), pointer up_grid => null()
 Unprimed grid object.
 

Detailed Description

Base class representing a bmw context. This contains all memory needed to operate bmw.

Interface for the bmw_context constructor.

Member Function/Subroutine Documentation

◆ bmw_context_construct()

class (bmw_context_class) function, pointer bmw_context::bmw_context_class::bmw_context_construct ( character (len=*), intent(in)  mgrid_file_name,
character (len=*), intent(in)  wout_file_name,
character (len=*), intent(in)  siesta_file_name,
integer, intent(in)  flags,
integer, intent(inout)  num_p,
class (bmw_parallel_context_class), intent(in)  parallel,
integer, intent(in)  io_unit 
)

Construct a bmw_context_class object.

Allocates memory and initializes a bmw_context_class object.

Parameters
[in]mgrid_file_namePath and name of the mgrid file.
[in]wout_file_namePath and name of the wout file.
[in]siesta_file_namePath and name of the siesta file.
[in]flagsOption flags.
[in]num_pNumber of phi planes per field period.
[in]parallelbmw_parallel_context_class object instance.
[in]io_unitUnit number to write messages to.
Returns
A pointer to a constructed bmw_context_class object.

◆ bmw_context_construct_plasma()

class (bmw_context_class) function, pointer bmw_context::bmw_context_class::bmw_context_construct_plasma ( character (len=*), intent(in)  wout_file_name,
character (len=*), intent(in)  siesta_file_name,
integer, intent(in)  flags,
integer, intent(in)  num_r,
integer, intent(in)  num_p,
integer, intent(in)  num_z,
real (rprec), intent(in)  rmax,
real (rprec), intent(in)  rmin,
real (rprec), intent(in)  zmax,
real (rprec), intent(in)  zmin,
class (bmw_parallel_context_class), intent(in)  parallel,
integer, intent(in)  io_unit 
)

Construct a bmw_context_class object.

Allocates memory and initializes a bmw_context_class object.

Parameters
[in]mgrid_file_namePath and name of the mgrid file.
[in]wout_file_namePath and name of the wout file.
[in]siesta_file_namePath and name of the siesta file.
[in]flagsOption flags.
[in]num_rNumber of radial points.
[in]num_pNumber of toroidal points.
[in]num_zNumber of vertical points.
[in]rmaxMaximum radial position.
[in]rminMinimum radial position.
[in]zmaxMaximum vertical position.
[in]zminMinimum vertical position.
[in]parallelbmw_parallel_context_class object instance.
[in]io_unitUnit number to write messages to.
Returns
A pointer to a constructed bmw_context_class object.

◆ bmw_context_destruct()

FINAL bmw_context::bmw_context_class::bmw_context_destruct ( type (bmw_context_class), intent(inout)  this)
final

Deconstruct a bmw_context_class object.

Deallocates memory and uninitializes a bmw_context_class object.

Parameters
[in,out]thisA bmw_context_class instance.

◆ set_up_grid_a()

procedure, pass bmw_context::bmw_context_class::set_up_grid_a ( class (bmw_context_class), intent(inout)  this,
real (rprec), dimension(:,:,:), intent(in)  r_grid,
real (rprec), dimension(:,:,:), intent(in)  z_grid,
real (rprec), intent(in)  dphi,
class (bmw_parallel_context_class), intent(in)  parallel,
integer, intent(in)  io_unit 
)

Set the unprimed grid.

This initializes the unprimed file using supplied grid as the unprimed grid.

Parameters
[in,out]thisA bmw_context_class instance.
[in]r_grid3D Array of r positions.
[in]z_grid3D Array of z positions.
[in]dphiPhi grid spacing.
[in]parallelbmw_parallel_context_class object instance.
[in]io_unitUnit number to write messages to.
Returns
A pointer to a constructed bmw_context_class object.

◆ set_up_grid_c()

procedure, pass bmw_context::bmw_context_class::set_up_grid_c ( class (bmw_context_class), intent(inout)  this,
character (len=*), intent(in)  vmec_vac_file,
integer, intent(in)  num_v,
integer, intent(in)  flags,
integer, intent(in)  p_start,
integer, intent(in)  p_end,
class (bmw_parallel_context_class), intent(in)  parallel,
integer, intent(in)  io_unit 
)

Set the unprimed grid.

This initializes the unprimed file using supplied grid as the unprimed grid. This run the vacuum corrected unprimed grid.

Parameters
[in,out]thisA bmw_context_class instance.
[in]vmec_vac_fileName of the zero beta vmec file.
[in]num_vNumber of toroidal grid points.
[in]flagsNumber of toroidal grid points.
[in]r_grid3D Array of r positions.
[in]z_grid3D Array of z positions.
[in]dphiPhi grid spacing.
[in]parallelbmw_parallel_context_class object instance.
[in]io_unitUnit number to write messages to.
Returns
A pointer to a constructed bmw_context_class object.

◆ set_up_grid_m()

procedure, pass bmw_context::bmw_context_class::set_up_grid_m ( class (bmw_context_class), intent(inout)  this,
integer, intent(in)  p_start,
integer, intent(in)  p_end,
class (bmw_parallel_context_class), intent(in)  parallel,
integer, intent(in)  io_unit 
)

Set the unprimed grid.

This initializes the unprimed file using the mgrid grid as the unprimed grid.

Parameters
[in,out]thisA bmw_context_class instance.
[in]p_startStarting phi index to compute fields to.
[in]p_endEnding phi index to compute fields to.
[in]parallelbmw_parallel_context_class object instance.
[in]io_unitUnit number to write messages to.
Returns
A pointer to a constructed bmw_context_class object.

◆ write()

procedure, pass bmw_context::bmw_context_class::write ( class (bmw_context_class), intent(in)  this,
character (len=*), intent(in)  result_file_name,
class (bmw_parallel_context_class), intent(in)  parallel 
)

Write NetCDF based result file.

Defines dimensions and variables for the BMW result file. Flat internal arrays need to be reshaped to the dimension.

Parameters
[in]thisA bmw_context_class instance.
[in]result_file_nameNetCDF file id of the result file.
[in]parallelbmw_parallel_context_class object instance.

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