The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
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 \)