The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines
diagnostic Module Reference

Detailed Description

Classes and subroutines used for synthetic diagnostics.

Authors
Chris Hansen
Date
March 2013

Data Types

type  field_probe
 Synthetic field diagnostic. More...
 
type  flux_probe
 Synthetic flux diagnostic. More...
 

Functions/Subroutines

real(r8) function bscal_surf_int (mesh, field, quad_order, reg_mask)
 Evaluate the boundary integral of a boundary scalar field.
 
subroutine field_probe_eval (self, vals)
 Evalute field at all probe locations.
 
subroutine field_probe_save (self, time)
 Sample and save the result to the history file.
 
subroutine field_probe_setup (self, npts, pts, filename)
 Initialize point list and setup ownership.
 
subroutine field_probe_setup_save (self, filename)
 Setup history file for repeated saves.
 
subroutine flux_probe_eval (self, tflux)
 Needs docs.
 
subroutine flux_probe_setup (self)
 Needs docs.
 
subroutine project_points_to_boundary (mesh, npts, pts, order)
 Project a set of points to the mesh boundary.
 
real(r8) function scal_energy (mesh, field, quad_order)
 Evaluate the field energy of a scalar.
 
real(r8) function scal_int (mesh, field, quad_order)
 Evaluate the volume integral of a scalar.
 
real(r8) function scal_surf_int (mesh, field, quad_order)
 Evaluate the boundary integral of a scalar field.
 
real(r8) function tfluxfun (mesh, field, quad_order, axis)
 Evaluate the toroidally averaged toroidal flux of a 3-vector.
 
real(r8) function vec_energy (mesh, field, quad_order)
 Evaluate the field energy of a 3-vector.
 
real(r8) function vec_surf_int (mesh, field, quad_order)
 Evaluate the boundary flux of a vector field.
 
real(r8) function weighted_vec_energy (mesh, field, weight, quad_order)
 Evaluate the field energy of a 3-vector with a scalar weight field.
 

Function/Subroutine Documentation

◆ bscal_surf_int()

real(r8) function bscal_surf_int ( class(oft_bmesh), intent(inout)  mesh,
class(bfem_interp), intent(inout)  field,
integer(i4), intent(in)  quad_order,
integer(i4), intent(in), optional  reg_mask 
)

Evaluate the boundary integral of a boundary scalar field.

Parameters
[in,out]fieldInput field
[in]quad_orderDesired quadrature order
[in]reg_maskRegion to integrate over
Returns
\( \int u dS \)

◆ field_probe_eval()

subroutine field_probe_eval ( class(field_probe), intent(inout)  self,
real(r8), dimension(:,:), intent(inout)  vals 
)

Evalute field at all probe locations.

Parameters
[in,out]valsFields at all probe locations [3,npts]

◆ field_probe_save()

subroutine field_probe_save ( class(field_probe), intent(inout)  self,
real(r8), intent(in)  time 
)

Sample and save the result to the history file.

Parameters
[in]timeTime of signal sample

◆ field_probe_setup()

subroutine field_probe_setup ( class(field_probe), intent(inout)  self,
integer(i4), intent(inout)  npts,
real(r8), dimension(:,:), intent(in), optional  pts,
character(len=*), intent(in), optional  filename 
)

Initialize point list and setup ownership.

Sampling locations may be set in the code directly, via pts, or loaded from a file, via filename. If filename is specified the number of points read from the file is returned in npts.

Parameters
[in,out]nptsNumber of probes
[in]ptsArray of probe locations [3,npts] (optional)
[in]filenameFile containing probe locations (optional)

◆ field_probe_setup_save()

subroutine field_probe_setup_save ( class(field_probe), intent(inout)  self,
character(len=*), intent(in)  filename 
)

Setup history file for repeated saves.

Parameters
[in]filenameFilename for history file

◆ flux_probe_eval()

subroutine flux_probe_eval ( class(flux_probe), intent(inout)  self,
real(r8), intent(inout)  tflux 
)

Needs docs.

◆ flux_probe_setup()

subroutine flux_probe_setup ( class(flux_probe), intent(inout)  self)

Needs docs.

◆ project_points_to_boundary()

subroutine project_points_to_boundary ( class(oft_mesh), intent(inout)  mesh,
integer(i4), intent(in)  npts,
real(r8), dimension(:,:), intent(inout)  pts,
integer(i4), intent(in), optional  order 
)

Project a set of points to the mesh boundary.

Projection is performed by finding the closest point to a set of known points on the boundary mesh. Boundary points are defined by a given 2D quadrature rule. This provides a relatively evenly spaced set of points over each boundary triangle.

Parameters
[in]nptsNumber of points
[in,out]ptsList of points [3,npts]
[in]orderOrder of 2D quadrature rule used (optional)

◆ scal_energy()

real(r8) function scal_energy ( class(oft_mesh), intent(inout)  mesh,
class(fem_interp), intent(inout)  field,
integer(i4), intent(in)  quad_order 
)

Evaluate the field energy of a scalar.

Parameters
[in,out]fieldInput field
[in]quad_orderDesired quadrature order
Returns
\( \int u^2 dV \)

◆ scal_int()

real(r8) function scal_int ( class(oft_mesh), intent(inout)  mesh,
class(fem_interp), intent(inout)  field,
integer(i4), intent(in)  quad_order 
)

Evaluate the volume integral of a scalar.

Parameters
[in,out]fieldInput field
[in]quad_orderDesired quadrature order
Returns
\( \int u dV \)

◆ scal_surf_int()

real(r8) function scal_surf_int ( class(oft_mesh), intent(inout)  mesh,
class(fem_interp), intent(inout)  field,
integer(i4), intent(in)  quad_order 
)

Evaluate the boundary integral of a scalar field.

Parameters
[in,out]fieldInput field
[in]quad_orderDesired quadrature order
Returns
\( \int u dS \)

◆ tfluxfun()

real(r8) function tfluxfun ( class(oft_mesh), intent(inout)  mesh,
class(fem_interp), intent(inout)  field,
integer(i4), intent(in)  quad_order,
integer(i4), intent(in), optional  axis 
)

Evaluate the toroidally averaged toroidal flux of a 3-vector.

Note
This requires your geometry is oriented with one of the principle axes as the axis of toroidal symmetry.
Parameters
[in,out]fieldInput field
[in]quad_orderDesired quadrature order
[in]axisIndex of axis coordinate (optional)
Returns
Toroidally averaged flux

◆ vec_energy()

real(r8) function vec_energy ( class(oft_mesh), intent(inout)  mesh,
class(fem_interp), intent(inout)  field,
integer(i4), intent(in)  quad_order 
)

Evaluate the field energy of a 3-vector.

Parameters
[in,out]fieldInput field
[in]quad_orderDesired quadrature order
Returns
\( \int \left| \textbf{u} \right|^2 dV \)

◆ vec_surf_int()

real(r8) function vec_surf_int ( class(oft_mesh), intent(inout)  mesh,
class(fem_interp), intent(inout)  field,
integer(i4), intent(in)  quad_order 
)

Evaluate the boundary flux of a vector field.

Parameters
[in,out]fieldInput field
[in]quad_orderDesired quadrature order
Returns
\( \int \textbf{u} \cdot \textbf{dS} \)

◆ weighted_vec_energy()

real(r8) function weighted_vec_energy ( class(oft_mesh), intent(inout)  mesh,
class(fem_interp), intent(inout)  field,
class(fem_interp), intent(inout)  weight,
integer(i4), intent(in)  quad_order 
)

Evaluate the field energy of a 3-vector with a scalar weight field.

Parameters
[in,out]fieldInput field \( (u) \)
[in,out]weightWeight field \( (\omega) \)
[in]quad_orderDesired quadrature order
Returns
\( \int \left( \omega * \left| \textbf{u} \right|^2 \right) dV \)