Motivation
We are developing the machine description of the Divertor Impurity Monitor (DIM) using the spectrometer_visible IDS.
To reconstruct optical geometry for ray tracing, we need to describe hyperboloidal, ellipsoidal, and paraboloidal surfaces in:
- channel/optical_element/front_surface
- channel/optical_element/back_surface
The current curvature identifiers cover planar, cylindrical, spherical, and toroidal surfaces. They do not explicitly represent these additional conic surfaces.
Requested change
Extend the shared curved_surface structure to support rotationally symmetric hyperboloidal, ellipsoidal, and paraboloidal surfaces, including the parameters needed to reconstruct their positioned analytic supports.
We suggest:
- Extending curvature_type with identifiers for these surface types, while preserving existing identifier values.
- Adding a conic description containing:
- Vertex position.
- Symmetry-axis unit vector.
- Signed radius of curvature at the vertex, R [m].
- Conic constant, K [dimensionless].
- Defining the relationship between these parameters and the existing
optical_element/geometry reference frame.
One possible representation is:
- conic/vertex: global cylindrical coordinates (R, phi, Z).
- conic/axis: global Cartesian unit-vector components.
- conic/vertex_radius: signed vertex radius [m].
- conic/conic_constant: dimensionless conic constant.
The field names and organization are suggestions for discussion.
Mathematical definition
In local coordinates with the origin at the vertex and z along the symmetry axis, the surface can be defined by:
x² + y² + (1 + K) z² - 2 R z = 0
This gives:
- K < -1: hyperboloid of revolution.
- K = -1: paraboloid of revolution.
- K > -1, K != 0: ellipsoid of revolution.
- K = 0: the existing spherical case.
The documentation should specify the radius sign convention, surface branch selection, and normal orientation. It should also clarify whether the existing geometry/centre denotes the optical vertex or a separate reference point.
Scope and compatibility
The same representation should apply to front_surface and back_surface, retaining the existing convention that mirrors use the front surface and lenses may use both.
This request concerns analytic conic supports. Address exact trimming boundaries and general NURBS surfaces separately. An off-axis aperture must not be assumed to be centered on the parent conic's vertex.
Existing fields and identifier values should remain valid. A B-spline CAD representation alone should not be treated as evidence that the surface is a particular conic.
Expected validation
- Populate and validate each new surface type using IMAS-Python.
- Preserve its parameters through a netCDF round trip.
- Reconstruct synthetic surfaces and verify their positions and normals.
- Check the spherical limit and compatibility with existing data.
Would extending curved_surface in this way be appropriate, or is there an existing geometry structure that should be reused?
Motivation
We are developing the machine description of the Divertor Impurity Monitor (DIM) using the spectrometer_visible IDS.
To reconstruct optical geometry for ray tracing, we need to describe hyperboloidal, ellipsoidal, and paraboloidal surfaces in:
The current curvature identifiers cover planar, cylindrical, spherical, and toroidal surfaces. They do not explicitly represent these additional conic surfaces.
Requested change
Extend the shared curved_surface structure to support rotationally symmetric hyperboloidal, ellipsoidal, and paraboloidal surfaces, including the parameters needed to reconstruct their positioned analytic supports.
We suggest:
optical_element/geometryreference frame.One possible representation is:
The field names and organization are suggestions for discussion.
Mathematical definition
In local coordinates with the origin at the vertex and z along the symmetry axis, the surface can be defined by:
x² + y² + (1 + K) z² - 2 R z = 0
This gives:
The documentation should specify the radius sign convention, surface branch selection, and normal orientation. It should also clarify whether the existing geometry/centre denotes the optical vertex or a separate reference point.
Scope and compatibility
The same representation should apply to front_surface and back_surface, retaining the existing convention that mirrors use the front surface and lenses may use both.
This request concerns analytic conic supports. Address exact trimming boundaries and general NURBS surfaces separately. An off-axis aperture must not be assumed to be centered on the parent conic's vertex.
Existing fields and identifier values should remain valid. A B-spline CAD representation alone should not be treated as evidence that the surface is a particular conic.
Expected validation
Would extending curved_surface in this way be appropriate, or is there an existing geometry structure that should be reused?