The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
cad_curve Type Referenceabstract

Detailed Description

CAD curve class.

A curve is defined in terms of the parametric coordinate \( u \) as

\[ r (u) = \frac{\sum_0^n x_i \omega_i f^n_i (u) }{\sum_0^n \omega_i f^n_i (u)} \]

where \( n+1 \) is the order of the curve, \( \omega_i, x_i \) are the weights and positions of the control points, and \( f^k_l \) is the Bernstein polynomial of degree \( k \) and kind \( l \).

Inheritance diagram for cad_curve:
Inheritance graph
[legend]

Public Member Functions

procedure(cad_dummy_eval), deferred eval (self, pt, u, v)
 Parametric point evaluation.
 
procedure eval (self, pt, u, v)
 Parametric point evaluation.
 
procedure grid (self)
 Generate grid over curve domain.
 
procedure(cad_dummy_find), deferred locate (self, pt, u, v)
 Physical point location.
 
procedure locate (self, pt, u, v)
 Physical point location.
 
procedure reflect (self, copy, tol, k)
 Reflect curve.
 

Public Attributes

integer(i4id
 Input ID of CAD object.
 
integer(i4order
 Curve order.
 
real(r8), dimension(:,:), pointer pt
 Vertex locations [3,order].
 
real(r8), dimension(3, cad_ngridrgrid
 Object mesh.
 
real(r8), dimension(:), pointer wt
 Weight values [order].
 

Member Function/Subroutine Documentation

◆ eval() [1/2]

procedure(cad_dummy_eval), deferred eval ( class(cad_entity), intent(in)  self,
real(r8), dimension(3), intent(out)  pt,
real(r8), intent(in)  u,
real(r8), intent(in)  v 
)
pure virtualinherited

Parametric point evaluation.

Parameters
[out]ptPosition vector [3]
[in]uParametric coordinate 1
[in]vParametric coordinate 2

◆ eval() [2/2]

procedure eval ( class(cad_curve), intent(in)  self,
real(r8), dimension(3), intent(out)  pt,
real(r8), intent(in)  u,
real(r8), intent(in)  v 
)

Parametric point evaluation.

  • (u,v) -> (x,y,z)
    Parameters
    [out]ptPosition vector [3]
    [in]uParametric coordinate 1
    [in]vParametric coordinate 2 (ignored)

◆ grid()

procedure grid ( class(cad_curve), intent(inout)  self)

Generate grid over curve domain.

◆ locate() [1/2]

procedure(cad_dummy_find), deferred locate ( class(cad_entity), intent(in)  self,
real(r8), dimension(3), intent(in)  pt,
real(r8), intent(out)  u,
real(r8), intent(out)  v 
)
pure virtualinherited

Physical point location.

Parameters
[in]ptPosition vector [3]
[out]uParametric coordinate 1
[out]vParametric coordinate 2

◆ locate() [2/2]

procedure locate ( class(cad_curve), intent(in)  self,
real(r8), dimension(3), intent(in)  pt,
real(r8), intent(out)  u,
real(r8), intent(out)  v 
)

Physical point location.

  • (x,y,z) -> (u,v)
    Parameters
    [in]ptPosition vector [3]
    [out]uParametric coordinate 1
    [out]vParametric coordinate 2 (ignored)

◆ reflect()

procedure reflect ( class(cad_curve), intent(in)  self,
class(cad_curve), intent(out)  copy,
real(r8), intent(in)  tol,
integer(i4), intent(in)  k 
)

Reflect curve.

Parameters
[in]selfSource object to copy
[out]copyReflected copy of the source curve
[in]tolMinimum distance from plane
[in]kCoordinate index for the reflection plane

Member Data Documentation

◆ id

integer(i4) id
inherited

Input ID of CAD object.

◆ order

integer(i4) order

Curve order.

◆ pt

real(r8), dimension(:,:), pointer pt

Vertex locations [3,order].

◆ rgrid

real(r8), dimension(3,cad_ngrid) rgrid

Object mesh.

◆ wt

real(r8), dimension(:), pointer wt

Weight values [order].


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