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

Public Member Functions

procedure eval (self, pt, u, v)
 Parametric point evaluation.
procedure(cad_dummy_eval), deferred eval (self, pt, u, v)
 Parametric point evaluation.
procedure grid (self)
 Generate grid over curve domain.
procedure locate (self, pt, u, v)
 Physical point location.
procedure(cad_dummy_find), deferred 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 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)

◆ eval() [2/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

◆ grid()

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

Generate grid over curve domain.

◆ locate() [1/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)

◆ locate() [2/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

◆ 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: