The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
CAD surface class.
A surface is defined in terms of the parametric coordinates \( u,v \) as
\[ r (u,v) = \frac{ \sum_{i=0}^n \sum_{j=0}^m x_{ij} \omega_{ij} f^n_i (u) f^m_j (v) }{\sum_{i=0}^n \sum_{j=0}^m \omega_{ij} f^n_i (u) f^m_j (v)} \]
where \( n+1, m+1 \) are the orders of each bounding curve, \( \omega_{ij}, x_{ij} \) are the weights and positions of the control points, and \( f^k_l \) is the Bernstein polynomial of degree \( k \) and kind \( l \).
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 surface 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 surface. | |
Public Attributes | |
integer(i4) | id |
Input ID of CAD object. | |
integer(i4), dimension(2) | order |
Surface order [2]. | |
real(r8), dimension(:,:,:), pointer | pt |
Vertex locations [3,order(1),order(2)]. | |
real(r8), dimension(3, cad_ngrid, cad_ngrid) | rgrid |
Object mesh. | |
real(r8), dimension(:,:), pointer | wt |
Weight values [order(1),order(2)]. | |
|
pure virtualinherited |
Parametric point evaluation.
[out] | pt | Position vector [3] |
[in] | u | Parametric coordinate 1 |
[in] | v | Parametric coordinate 2 |
procedure eval | ( | class(cad_surf), intent(in) | self, |
real(r8), dimension(3), intent(out) | pt, | ||
real(r8), intent(in) | u, | ||
real(r8), intent(in) | v | ||
) |
Parametric point evaluation.
[out] | pt | Position vector [3] |
[in] | u | Parametric coordinate 1 |
[in] | v | Parametric coordinate 2 |
procedure grid | ( | class(cad_surf), intent(inout) | self | ) |
Generate grid over surface domain.
|
pure virtualinherited |
Physical point location.
[in] | pt | Position vector [3] |
[out] | u | Parametric coordinate 1 |
[out] | v | Parametric coordinate 2 |
procedure locate | ( | class(cad_surf), intent(in) | self, |
real(r8), dimension(3), intent(in) | pt, | ||
real(r8), intent(out) | u, | ||
real(r8), intent(out) | v | ||
) |
Physical point location.
[in] | pt | Position vector [3] |
[out] | u | Parametric coordinate 1 |
[out] | v | Parametric coordinate 2 |
procedure reflect | ( | class(cad_surf), intent(in) | self, |
class(cad_surf), intent(out) | copy, | ||
real(r8), intent(in) | tol, | ||
integer(i4), intent(in) | k | ||
) |
Reflect surface.
[in] | self | Source surface to copy |
[out] | copy | Reflected copy of the source surface |
[in] | tol | Minimum distance from plane |
[in] | k | Coordinate index for the reflection plane |
|
inherited |
Input ID of CAD object.
integer(i4), dimension(2) order |
Surface order [2].