|
Stellarator and Tokamak Modeling and Meshing Software (STOMMS)
|
Classes | |
| struct | CurveMetaData |
Functions | |
| bool | findNextPoint (Point &startPoint, Point &nextPoint, double &lengthPoloidalGoal, const PhysicsPoint &oPoint, CurveMetaData &curveData, EqdskData eqdsk) |
| bool | findNextFieldFollowingPoint (Point &startPoint, Point &nextPoint, double &dist, int m, CurveMetaData &curveData, EqdskData eqdsk) |
| double | getStepToroidalAngle (int numPlanes, int m, int &steps, double stepRadians) |
| double | getStepToroidalUnit (const PhysicsPoint &oPoint, double goal) |
| int | updatePointOnBoundary (Point &pt, const DomainBox &box) |
| bool | isBoundaryPointOnOrigin (Point &pt1, Point &pt2, double &dist, int numIterations, CurveMetaData &curveData, EqdskData &eqdsk, const DomainBox &box) |
| bool | doesPointHitTheOrigin (Point &pt1, Point &pt2, Point startPt, double goal, double distNewToStartLast, CurveMetaData &curveData, EqdskData &eqdsk) |
| std::vector< PhysicsPoint > | getStartPointClosed (const std::vector< double > &corePsiValues, EqdskData &eqdskData) |
| std::vector< std::vector< PhysicsPoint > > | getStartPointsOnSimFace (pGFace face, const std::vector< double > &psiNormList, EqdskData &eqdskData) |
| int | findStartPointIndexAtIntersection (const Point &pt1, const Point &pt2, std::vector< Point > &startPoints, int iFilter=-1) |
| int | intersectBetweenTwoLineSegments (const Point &testPt1, const Point &testPt2, const Point &refPt1, const Point &refPt2, double toleranceMeter, double toleranceSine, Point &intersectPt1, Point &intersectPt2) |
| int | getNumIntersection (const Point &pt1, const Point &pt2, const WallCurve &wall) |
| std::vector< Point > | getPushedPoints (const PhysicsPoint &xPoint, double dist, EqdskData &eqdsk) |
| std::vector< Point > | findPointBySectioningBtwTwoPts (double targetPsi, int sampleN, const Point &pt1, const Point pt2, EqdskData &eqdsk) |
| std::vector< Point > | findPointBySectioningOnEdge (double targetPsi, pGEdge ge, EqdskData &eqdsk) |
| std::vector< Point > | findStartPointOnWall (double psiNormalized, int type, const WallCurve &wall, EqdskData &eqdsk) |
| bool | validOpenCurve (const Flux &f, const std::vector< pGEdge > &edgesOnCurve) |
| void | restrictDistanceOfLastEdge (Flux &f, EqdskData &eqdsk) |
| bool doesPointHitTheOrigin | ( | Point & | pt1, |
| Point & | pt2, | ||
| Point | startPt, | ||
| double | goal, | ||
| double | distNewToStartLast, | ||
| CurveMetaData & | curveData, | ||
| EqdskData & | eqdsk | ||
| ) |
Check if the next traced points, hits the origin (starting point) of curve or not.
| pt1 | point to be updated. |
| pt2 | point to be checked and adjusted. |
| startPt | starting point of the curve for the test. |
| dist | local 2D distance from start point to the next finding point. |
| distNewToStartLast | distance between the last guessed pt (pt2) in last iteration and starting point of curve. |
| curveData | curve meta data containing psi values etc. |
| eqdsk | Eqdsk class for handling magnetic field related operations/queries/parameters. |
| bool findNextFieldFollowingPoint | ( | Point & | startPoint, |
| Point & | nextPoint, | ||
| double & | dist, | ||
| int | m, | ||
| CurveMetaData & | curveData, | ||
| EqdskData | eqdsk | ||
| ) |
Given a point on curve, and properties of magnetic field along with the curve meta deta, find next point on the poloidal curve. Its field following, and traces the point along the field line.
| startPoint | current point on the curve (last successful traced point). |
| nextPoint | the next traced point. |
| dist | local 2D distance from start point to the next finding point. |
| m | a division parameter for steppings in toroidal direction. |
| curveData | curve meta data containing psi values etc. |
| eqdsk | Eqdsk class for handling magnetic field related operations/queries/parameters. |
| box | bounding box of the domain. |
| bool findNextPoint | ( | Point & | startPoint, |
| Point & | nextPoint, | ||
| double & | lengthPoloidalGoal, | ||
| const PhysicsPoint & | oPoint, | ||
| CurveMetaData & | curveData, | ||
| EqdskData | eqdsk | ||
| ) |
Given a point on curve, and properties of magnetic field along with the curve meta deta, find next point on the poloidal curve. Its not field following. For field-following curve tracing, function is findNextFieldFollowingPoint.
| startPoint | current point on the curve (last successful traced point). |
| nextPoint | the next traced point. |
| lengthPoloidalGoal | local 2D distance from start point to the next finding point. |
| oPoint | magnetic axis (oPoint). |
| curveData | curve meta data containing psi values etc. |
| eqdsk | Eqdsk class for handling magnetic field related operations/queries/parameters. |
| box | bounding box of the domain. |
| std::vector< Point > findPointBySectioningBtwTwoPts | ( | double | targetPsi, |
| int | sampleN, | ||
| const Point & | pt1, | ||
| const Point | pt2, | ||
| EqdskData & | eqdsk | ||
| ) |
| int findStartPointIndexAtIntersection | ( | const Point & | pt1, |
| const Point & | pt2, | ||
| std::vector< Point > & | startPoints, | ||
| int | iFilter = -1 |
||
| ) |
| std::vector< Point > findStartPointOnWall | ( | double | psiNormalized, |
| int | type, | ||
| const WallCurve & | wall, | ||
| EqdskData & | eqdsk | ||
| ) |
| std::vector< Point > getPushedPoints | ( | const PhysicsPoint & | xPoint, |
| double | dist, | ||
| EqdskData & | eqdsk | ||
| ) |
| std::vector< PhysicsPoint > getStartPointClosed | ( | const std::vector< double > & | corePsiValues, |
| EqdskData & | eqdskData | ||
| ) |
Given the list of psi values for closed curves, find the starting points for each flux curve on the horizontal line starting from axis to box boundary.
| corePsiValues | list of psi values for closed curves. |
| eqdskData | class for queries related to eqdsk data. |
| std::vector< std::vector< PhysicsPoint > > getStartPointsOnSimFace | ( | pGFace | face, |
| const std::vector< double > & | psiNormList, | ||
| EqdskData & | eqdskData | ||
| ) |
| double getStepToroidalAngle | ( | int | numPlanes, |
| int | m, | ||
| int & | steps, | ||
| double | stepRadians | ||
| ) |
To find the toroidal step size for rk4 method.
| numPlanes | number of target poloidal planes. |
| m | a division parameter for steppings in toroidal direction. |
| steps | number of rk4 steps. |
| stepRadians | change in phi in radians of each rk4 step taken when moving a point along a psi curve (user input). |
| double getStepToroidalUnit | ( | const PhysicsPoint & | oPoint, |
| double | goal | ||
| ) |
To find normalized toroidal step for rk4 method.
| oPoint | magnetic axis (oPoint). |
| goal | local 2D distance from start point to the next finding point. |
| int intersectBetweenTwoLineSegments | ( | const Point & | testPt1, |
| const Point & | testPt2, | ||
| const Point & | refPt1, | ||
| const Point & | refPt2, | ||
| double | toleranceMeter, | ||
| double | toleranceSine, | ||
| Point & | intersectPt1, | ||
| Point & | intersectPt2 | ||
| ) |
| bool isBoundaryPointOnOrigin | ( | Point & | pt1, |
| Point & | pt2, | ||
| double & | dist, | ||
| int | numIterations, | ||
| CurveMetaData & | curveData, | ||
| EqdskData & | eqdsk, | ||
| const DomainBox & | box | ||
| ) |
Check if the point adjusted on the bounding box, hits the origin (starting point) of curve or not.
| pt1 | point to be updated. |
| pt2 | point to be checked and adjusted. |
| dist | local 2D distance from start point to the next finding point. |
| numIterations | current number of iterations to test a return condition. |
| curveData | curve meta data containing psi values etc. |
| eqdsk | Eqdsk class for handling magnetic field related operations/queries/parameters. |
| box | bounding box of the domain. |
If a point is outside the bounding box, readjust it on the boundary.
| pt | pt to be adjusted. |
| box | bounding box of the domain. returns the side of the box on which point lies. side = 1 is left, side = 3 is right, side = 2 is bottom, side = 0 is top. |
| bool validOpenCurve | ( | const Flux & | f, |
| const std::vector< pGEdge > & | edgesOnCurve | ||
| ) |