|
1 | | -// The Java Access Layer currently does not provide an identifiers library. |
| 1 | +// Import the Access Layer and required identifiers |
| 2 | +import java.io.*; |
| 3 | + |
| 4 | +import imasjava.*; |
| 5 | + |
| 6 | +public class identifier_example2 { |
| 7 | + public static void main(String[] args) { |
| 8 | + // Create IDS instance |
| 9 | + imas.equilibrium equilibrium = new imas.equilibrium(); |
| 10 | + // Configure equilibrium IDS |
| 11 | + equilibrium.ids_properties.homogeneous_time = 1; |
| 12 | + equilibrium.ids_properties.comment = "Test equilibrium IDS"; |
| 13 | + |
| 14 | + // Setup equilibrium time slice and profiles |
| 15 | + equilibrium.time_slice = new imas.equilibrium.time_sliceClass[1]; |
| 16 | + equilibrium.time_slice[0] = new imas.equilibrium.time_sliceClass(); |
| 17 | + equilibrium.time_slice[0].profiles_2d = new imas.equilibrium.time_sliceClass.profiles_2dClass[1]; |
| 18 | + equilibrium.time_slice[0].profiles_2d[0] = new imas.equilibrium.time_sliceClass.profiles_2dClass(); |
| 19 | + |
| 20 | + poloidal_plane_coordinates_identifier.setIdentifier(equilibrium.time_slice[0].profiles_2d[0].grid_type, "rectangular"); |
| 21 | + |
| 22 | + // // Output equilibrium grid type information |
| 23 | + System.out.println("Equilibrium Grid Type:"); |
| 24 | + System.out.println(" Name: " + equilibrium.time_slice[0].profiles_2d[0].grid_type.name); |
| 25 | + System.out.println(" Index: " + equilibrium.time_slice[0].profiles_2d[0].grid_type.index); |
| 26 | + System.out.println(" Description: " + equilibrium.time_slice[0].profiles_2d[0].grid_type.description); |
| 27 | + |
| 28 | + // Configure distribution sources IDS |
| 29 | + imas.distribution_sources distribution_sources = new imas.distribution_sources(); |
| 30 | + distribution_sources.ids_properties.homogeneous_time = 1; |
| 31 | + distribution_sources.ids_properties.comment = "Test distribution sources IDS"; |
| 32 | + |
| 33 | + // Setup distribution sources structure |
| 34 | + distribution_sources.source = new imas.distribution_sources.sourceClass[1]; |
| 35 | + distribution_sources.source[0] = new imas.distribution_sources.sourceClass(); |
| 36 | + distribution_sources.source[0].process = new imas.distribution_sources.sourceClass.processClass[1]; |
| 37 | + distribution_sources.source[0].process[0] = new imas.distribution_sources.sourceClass.processClass(); |
| 38 | + |
| 39 | + // Set distribution source type identifier using reflection-based method |
| 40 | + distribution_source_identifier.setIdentifier(distribution_sources.source[0].process[0].type, "NBI"); |
| 41 | + |
| 42 | + // Output distribution source type information |
| 43 | + System.out.println("Distribution Source Type:"); |
| 44 | + System.out.println(" Name: " + distribution_sources.source[0].process[0].type.name); |
| 45 | + System.out.println(" Index: " + distribution_sources.source[0].process[0].type.index); |
| 46 | + System.out.println(" Description: " + distribution_sources.source[0].process[0].type.description); |
| 47 | + } |
| 48 | +} |
| 49 | + |
| 50 | +// $ java -cp $CLASSPATH identifier_example2.java |
| 51 | +// Equilibrium Grid Type: |
| 52 | +// Name: rectangular |
| 53 | +// Index: 1 |
| 54 | +// Description: Cylindrical R,Z ala eqdsk (R=dim1, Z=dim2). In this case the position arrays should not be filled since they are redundant with grid/dim1 and dim2. |
| 55 | +// Distribution Source Type: |
| 56 | +// Name: NBI |
| 57 | +// Index: 1 |
| 58 | +// Description: Source from neutral beam injection |
| 59 | + |
0 commit comments