40 sprintf(path,
"%s%s", run, state);
42 hid_t state_group = H5Gcreate2(f, path, H5P_DEFAULT, H5P_DEFAULT,
52 for(i = 0; i < n; i++) {
56 H5LTset_attribute_string(state_group,
"rprt",
"unit",
"m");
58 for(i = 0; i < n; i++) {
62 H5LTset_attribute_string(state_group,
"phiprt",
"unit",
"deg");
64 for(i = 0; i < n; i++) {
68 H5LTset_attribute_string(state_group,
"zprt",
"unit",
"m");
70 for(i = 0; i < n; i++) {
74 H5LTset_attribute_string(state_group,
"prprt",
"unit",
"kg*m/s");
76 for(i = 0; i < n; i++) {
80 H5LTset_attribute_string(state_group,
"pphiprt",
"unit",
"kg*m/s");
82 for(i = 0; i < n; i++) {
86 H5LTset_attribute_string(state_group,
"pzprt",
"unit",
"kg*m/s");
89 for(i = 0; i < n; i++) {
93 H5LTset_attribute_string(state_group,
"r",
"unit",
"m");
95 for(i = 0; i < n; i++) {
99 H5LTset_attribute_string(state_group,
"phi",
"unit",
"deg");
101 for(i = 0; i < n; i++) {
105 H5LTset_attribute_string(state_group,
"z",
"unit",
"m");
107 for(i = 0; i < n; i++) {
111 H5LTset_attribute_string(state_group,
"ppar",
"unit",
"kg*m/s");
113 for(i = 0; i < n; i++) {
117 H5LTset_attribute_string(state_group,
"mu",
"unit",
"eV/T");
119 for(i = 0; i < n; i++) {
123 H5LTset_attribute_string(state_group,
"zeta",
"unit",
"rad");
126 for(i = 0; i < n; i++) {
130 H5LTset_attribute_string(state_group,
"weight",
"unit",
"markers/s");
132 for(i = 0; i < n; i++) {
136 H5LTset_attribute_string(state_group,
"time",
"unit",
"s");
138 for(i = 0; i < n; i++) {
142 H5LTset_attribute_string(state_group,
"mileage",
"unit",
"s");
144 for(i = 0; i < n; i++) {
148 H5LTset_attribute_string(state_group,
"cputime",
"unit",
"s");
150 for(i = 0; i < n; i++) {
154 H5LTset_attribute_string(state_group,
"rho",
"unit",
"1");
156 for(i = 0; i < n; i++) {
160 H5LTset_attribute_string(state_group,
"theta",
"unit",
"deg");
162 for(i = 0; i < n; i++) {
166 H5LTset_attribute_string(state_group,
"mass",
"unit",
"amu");
169 for(i = 0; i < n; i++) {
173 H5LTset_attribute_string(state_group,
"br",
"unit",
"T");
175 for(i = 0; i < n; i++) {
176 data[i] = p[i].
B_phi;
179 H5LTset_attribute_string(state_group,
"bphi",
"unit",
"T");
181 for(i = 0; i < n; i++) {
185 H5LTset_attribute_string(state_group,
"bz",
"unit",
"T");
192 for(i = 0; i < n; i++) {
193 intdata[i] = p[i].
id;
196 H5LTset_attribute_string(state_group,
"ids",
"unit",
"1");
198 for(i = 0; i < n; i++) {
202 H5LTset_attribute_string(state_group,
"endcond",
"unit",
"1");
204 for(i = 0; i < n; i++) {
208 H5LTset_attribute_string(state_group,
"walltile",
"unit",
"1");
212 int* intdata32 = (
int*) malloc(n *
sizeof(
int));
216 fedisableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
218 for(i = 0; i < n; i++) {
219 intdata32[i] = (int)round(p[i].charge/
CONST_E);
222 feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
225 H5LTset_attribute_string(state_group,
"charge",
"unit",
"e");
227 for(i = 0; i < n; i++) {
228 intdata32[i] = p[i].
anum;
231 H5LTset_attribute_string(state_group,
"anum",
"unit",
"1");
233 for(i = 0; i < n; i++) {
234 intdata32[i] = p[i].
znum;
237 H5LTset_attribute_string(state_group,
"znum",
"unit",
"1");
241 for(i = 0; i < n; i++) {
245 H5LTset_attribute_string(state_group,
"errormsg",
"unit",
"1");
247 for(i = 0; i < n; i++) {
251 H5LTset_attribute_string(state_group,
"errorline",
"unit",
"1");
253 for(i = 0; i < n; i++) {
257 H5LTset_attribute_string(state_group,
"errormod",
"unit",
"1");
261 H5Gclose(state_group);
Header file for particle.c.
General representation of a marker.