306 #ifdef USE_STD_INTTYPES_H
307 #include <inttypes.h>
313 typedef __int32 int32_t;
314 typedef unsigned __int32 uint32_t;
315 typedef __int64 int64_t;
316 typedef unsigned __int64 uint64_t;
325 #if !defined __cplusplus || defined __STDC_FORMAT_MACROS
327 # if __WORDSIZE == 64
328 # define __PRI64_PREFIX "l"
329 # define __PRIPTR_PREFIX "l"
331 # define __PRI64_PREFIX "ll"
332 # define __PRIPTR_PREFIX
339 # define PRId64 __PRI64_PREFIX "d"
343 # define PRIu64 __PRI64_PREFIX "u"
347 # define PRIuPTR __PRIPTR_PREFIX "u"
355 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
360 #ifndef DECLSPECDLLEXPORT
362 #define DECLSPECDLLEXPORT __declspec(dllexport)
364 #define DECLSPECDLLEXPORT
369 #define TNG_FRAME_DEPENDENT 1
371 #define TNG_PARTICLE_DEPENDENT 2
374 #define TNG_MAX_DATE_STR_LEN 24
376 #define TNG_MD5_HASH_LEN 16
378 #define TNG_MAX_STR_LEN 1024
381 #define TNG_ASSERT(cnd, msg) if(!(cnd)) {printf("%s\n", msg); assert(cnd);}
383 #define TNG_ASSERT(cnd, msg) (void)0;
420 #define TNG_GENERAL_INFO 0x0000000000000000LL
421 #define TNG_MOLECULES 0x0000000000000001LL
422 #define TNG_TRAJECTORY_FRAME_SET 0x0000000000000002LL
423 #define TNG_PARTICLE_MAPPING 0x0000000000000003LL
431 #define TNG_TRAJ_BOX_SHAPE 0x0000000010000000LL
432 #define TNG_TRAJ_POSITIONS 0x0000000010000001LL
433 #define TNG_TRAJ_VELOCITIES 0x0000000010000002LL
434 #define TNG_TRAJ_FORCES 0x0000000010000003LL
435 #define TNG_TRAJ_PARTIAL_CHARGES 0x0000000010000004LL
436 #define TNG_TRAJ_FORMAL_CHARGES 0x0000000010000005LL
437 #define TNG_TRAJ_B_FACTORS 0x0000000010000006LL
438 #define TNG_TRAJ_ANISOTROPIC_B_FACTORS 0x0000000010000007LL
439 #define TNG_TRAJ_OCCUPANCY 0x0000000010000008LL
440 #define TNG_TRAJ_GENERAL_COMMENTS 0x0000000010000009LL
448 #define TNG_GMX_LAMBDA 0x1000000010000000LL
449 #define TNG_GMX_ENERGY_ANGLE 0x1000000010000001LL
450 #define TNG_GMX_ENERGY_RYCKAERT_BELL 0x1000000010000002LL
451 #define TNG_GMX_ENERGY_LJ_14 0x1000000010000003LL
452 #define TNG_GMX_ENERGY_COULOMB_14 0x1000000010000004LL
453 #define TNG_GMX_ENERGY_LJ_(SR) 0x1000000010000005LL
454 #define TNG_GMX_ENERGY_COULOMB_(SR) 0x1000000010000006LL
455 #define TNG_GMX_ENERGY_COUL_RECIP 0x1000000010000007LL
456 #define TNG_GMX_ENERGY_POTENTIAL 0x1000000010000008LL
457 #define TNG_GMX_ENERGY_KINETIC_EN 0x1000000010000009LL
458 #define TNG_GMX_ENERGY_TOTAL_ENERGY 0x1000000010000010LL
459 #define TNG_GMX_ENERGY_TEMPERATURE 0x1000000010000011LL
460 #define TNG_GMX_ENERGY_PRESSURE 0x1000000010000012LL
461 #define TNG_GMX_ENERGY_CONSTR_RMSD 0x1000000010000013LL
462 #define TNG_GMX_ENERGY_CONSTR2_RMSD 0x1000000010000014LL
463 #define TNG_GMX_ENERGY_BOX_X 0x1000000010000015LL
464 #define TNG_GMX_ENERGY_BOX_Y 0x1000000010000016LL
465 #define TNG_GMX_ENERGY_BOX_Z 0x1000000010000017LL
466 #define TNG_GMX_ENERGY_BOXXX 0x1000000010000018LL
467 #define TNG_GMX_ENERGY_BOXYY 0x1000000010000019LL
468 #define TNG_GMX_ENERGY_BOXZZ 0x1000000010000020LL
469 #define TNG_GMX_ENERGY_BOXYX 0x1000000010000021LL
470 #define TNG_GMX_ENERGY_BOXZX 0x1000000010000022LL
471 #define TNG_GMX_ENERGY_BOXZY 0x1000000010000023LL
472 #define TNG_GMX_ENERGY_BOXVELXX 0x1000000010000024LL
473 #define TNG_GMX_ENERGY_BOXVELYY 0x1000000010000025LL
474 #define TNG_GMX_ENERGY_BOXVELZZ 0x1000000010000026LL
475 #define TNG_GMX_ENERGY_BOXVELYX 0x1000000010000027LL
476 #define TNG_GMX_ENERGY_BOXVELZX 0x1000000010000028LL
477 #define TNG_GMX_ENERGY_BOXVELZY 0x1000000010000029LL
478 #define TNG_GMX_ENERGY_VOLUME 0x1000000010000030LL
479 #define TNG_GMX_ENERGY_DENSITY 0x1000000010000031LL
480 #define TNG_GMX_ENERGY_PV 0x1000000010000032LL
481 #define TNG_GMX_ENERGY_ENTHALPY 0x1000000010000033LL
482 #define TNG_GMX_ENERGY_VIR_XX 0x1000000010000034LL
483 #define TNG_GMX_ENERGY_VIR_XY 0x1000000010000035LL
484 #define TNG_GMX_ENERGY_VIR_XZ 0x1000000010000036LL
485 #define TNG_GMX_ENERGY_VIR_YX 0x1000000010000037LL
486 #define TNG_GMX_ENERGY_VIR_YY 0x1000000010000038LL
487 #define TNG_GMX_ENERGY_VIR_YZ 0x1000000010000039LL
488 #define TNG_GMX_ENERGY_VIR_ZX 0x1000000010000040LL
489 #define TNG_GMX_ENERGY_VIR_ZY 0x1000000010000041LL
490 #define TNG_GMX_ENERGY_VIR_ZZ 0x1000000010000042LL
491 #define TNG_GMX_ENERGY_SHAKEVIR_XX 0x1000000010000043LL
492 #define TNG_GMX_ENERGY_SHAKEVIR_XY 0x1000000010000044LL
493 #define TNG_GMX_ENERGY_SHAKEVIR_XZ 0x1000000010000045LL
494 #define TNG_GMX_ENERGY_SHAKEVIR_YX 0x1000000010000046LL
495 #define TNG_GMX_ENERGY_SHAKEVIR_YY 0x1000000010000047LL
496 #define TNG_GMX_ENERGY_SHAKEVIR_YZ 0x1000000010000048LL
497 #define TNG_GMX_ENERGY_SHAKEVIR_ZX 0x1000000010000049LL
498 #define TNG_GMX_ENERGY_SHAKEVIR_ZY 0x1000000010000050LL
499 #define TNG_GMX_ENERGY_SHAKEVIR_ZZ 0x1000000010000051LL
500 #define TNG_GMX_ENERGY_FORCEVIR_XX 0x1000000010000052LL
501 #define TNG_GMX_ENERGY_FORCEVIR_XY 0x1000000010000053LL
502 #define TNG_GMX_ENERGY_FORCEVIR_XZ 0x1000000010000054LL
503 #define TNG_GMX_ENERGY_FORCEVIR_YX 0x1000000010000055LL
504 #define TNG_GMX_ENERGY_FORCEVIR_YY 0x1000000010000056LL
505 #define TNG_GMX_ENERGY_FORCEVIR_YZ 0x1000000010000057LL
506 #define TNG_GMX_ENERGY_FORCEVIR_ZX 0x1000000010000058LL
507 #define TNG_GMX_ENERGY_FORCEVIR_ZY 0x1000000010000059LL
508 #define TNG_GMX_ENERGY_FORCEVIR_ZZ 0x1000000010000060LL
509 #define TNG_GMX_ENERGY_PRES_XX 0x1000000010000061LL
510 #define TNG_GMX_ENERGY_PRES_XY 0x1000000010000062LL
511 #define TNG_GMX_ENERGY_PRES_XZ 0x1000000010000063LL
512 #define TNG_GMX_ENERGY_PRES_YX 0x1000000010000064LL
513 #define TNG_GMX_ENERGY_PRES_YY 0x1000000010000065LL
514 #define TNG_GMX_ENERGY_PRES_YZ 0x1000000010000066LL
515 #define TNG_GMX_ENERGY_PRES_ZX 0x1000000010000067LL
516 #define TNG_GMX_ENERGY_PRES_ZY 0x1000000010000068LL
517 #define TNG_GMX_ENERGY_PRES_ZZ 0x1000000010000069LL
518 #define TNG_GMX_ENERGY_SURFXSURFTEN 0x1000000010000070LL
519 #define TNG_GMX_ENERGY_MUX 0x1000000010000071LL
520 #define TNG_GMX_ENERGY_MUY 0x1000000010000072LL
521 #define TNG_GMX_ENERGY_MUZ 0x1000000010000073LL
522 #define TNG_GMX_ENERGY_VCOS 0x1000000010000074LL
523 #define TNG_GMX_ENERGY_VISC 0x1000000010000075LL
524 #define TNG_GMX_ENERGY_BAROSTAT 0x1000000010000076LL
525 #define TNG_GMX_ENERGY_T_SYSTEM 0x1000000010000077LL
526 #define TNG_GMX_ENERGY_LAMB_SYSTEM 0x1000000010000078LL
527 #define TNG_GMX_SELECTION_GROUP_NAMES 0x1000000010000079LL
528 #define TNG_GMX_ATOM_SELECTION_GROUP 0x1000000010000080LL
561 struct tng_trajectory;
567 struct tng_gen_block;
568 struct tng_particle_mapping;
569 struct tng_trajectory_frame_set;
570 struct tng_particle_data;
571 struct tng_non_particle_data;
702 char *file_name,
const int max_len);
717 const char *file_name);
735 char *file_name,
const int max_len);
750 const char *file_name);
766 const char *file_name);
815 char *name,
const int max_len);
830 const char *new_name);
848 char *name,
const int max_len);
863 const char *new_name);
881 char *name,
const int max_len);
896 const char *new_name);
914 char *name,
const int max_len);
929 const char *new_name);
947 char *name,
const int max_len);
962 const char *new_name);
980 char *name,
const int max_len);
995 const char *new_name);
1013 char *signature,
const int max_len);
1028 const char *signature);
1046 char *signature,
const int max_len);
1061 const char *signature);
1079 char *name,
const int max_len);
1094 const char *new_name);
1232 const double precision);
1320 int64_t **mol_cnt_list);
1439 const int64_t frame);
1490 int64_t *first_frame,
1491 int64_t *last_frame);
1624 const char *new_name);
1694 const int64_t index,
1743 const int64_t index,
1775 const int64_t index,
1807 const int64_t index,
1890 const int64_t from_atom_id,
1891 const int64_t to_atom_id,
1950 const char *new_name);
1981 const int64_t index,
2082 const char *new_name);
2113 const int64_t index,
2135 const char *atom_name,
2136 const char *atom_type,
2159 const char *atom_name,
2160 const char *atom_type,
2212 const char *new_name);
2249 const char *new_type);
2314 int64_t **from_atoms,
2315 int64_t **to_atoms);
2454 const int64_t num_first_particle,
2455 const int64_t n_particles,
2456 const int64_t *mapping_table);
2489 const char hash_mode);
2508 const char hash_mode);
2533 const char hash_mode);
2549 const char hash_mode);
2569 const char hash_mode,
2570 const int64_t block_id);
2589 const char hash_mode);
2609 const char hash_mode,
2610 const int64_t block_id);
2628 const char hash_mode);
2649 const char hash_mode);
2668 const int64_t first_frame,
2669 const int64_t n_frames);
2690 const int64_t first_frame,
2691 const int64_t n_frames,
2692 const double first_frame_time);
2707 const double first_frame_time);
2757 const char *block_name,
2758 const char datatype,
2759 const char block_type_flag,
2761 const int64_t n_values_per_frame,
2762 int64_t stride_length,
2763 const int64_t codec_id,
2802 const char *block_name,
2803 const char datatype,
2804 const char block_type_flag,
2806 const int64_t n_values_per_frame,
2807 int64_t stride_length,
2808 const int64_t num_first_particle,
2809 const int64_t n_particles,
2810 const int64_t codec_id,
2829 const int64_t block_id,
2850 const int64_t block_id,
2851 int *block_dependency);
2867 const int64_t block_id,
2868 int64_t *n_values_per_frame);
2892 const int64_t frame_nr,
2893 const int64_t block_id,
2895 const char hash_mode);
2926 const int64_t frame_nr,
2927 const int64_t block_id,
2928 const int64_t val_first_particle,
2929 const int64_t val_n_particles,
2931 const char hash_mode);
2948 const int64_t n_frames,
2949 const int64_t n_values_per_frame,
2968 const int64_t n_frames,
2969 const int64_t n_particles,
2970 const int64_t n_values_per_frame,
3003 const int64_t block_id,
3006 int64_t *n_values_per_frame,
3041 const int64_t block_id,
3044 int64_t *stride_length,
3045 int64_t *n_values_per_frame,
3082 const int64_t block_id,
3083 const int64_t start_frame_nr,
3084 const int64_t end_frame_nr,
3085 const char hash_mode,
3087 int64_t *n_values_per_frame,
3127 const int64_t block_id,
3128 const int64_t start_frame_nr,
3129 const int64_t end_frame_nr,
3130 const char hash_mode,
3132 int64_t *stride_length,
3133 int64_t *n_values_per_frame,
3174 const int64_t block_id,
3177 int64_t *n_particles,
3178 int64_t *n_values_per_frame,
3219 const int64_t block_id,
3222 int64_t *stride_length,
3223 int64_t *n_particles,
3224 int64_t *n_values_per_frame,
3270 const int64_t block_id,
3271 const int64_t start_frame_nr,
3272 const int64_t end_frame_nr,
3273 const char hash_mode,
3275 int64_t *n_particles,
3276 int64_t *n_values_per_frame,
3324 const int64_t block_id,
3325 const int64_t start_frame_nr,
3326 const int64_t end_frame_nr,
3327 const char hash_mode,
3329 int64_t *n_particles,
3330 int64_t *stride_length,
3331 int64_t *n_values_per_frame,
3349 const int64_t block_id,
3351 int64_t *stride_length);
3393 (
const char *filename,
3420 const int64_t frame_nr,
3506 int64_t *stride_length);
3531 int64_t *stride_length);
3556 int64_t *stride_length);
3584 int64_t *stride_length);
3618 const int64_t block_id,
3621 int64_t *retrieved_frame_number,
3622 double *retrieved_time);
3654 const int64_t block_id,
3657 int64_t *retrieved_frame_number,
3658 double *retrieved_time);
3686 const int64_t first_frame,
3687 const int64_t last_frame,
3689 int64_t *stride_length);
3717 const int64_t first_frame,
3718 const int64_t last_frame,
3720 int64_t *stride_length);
3748 const int64_t first_frame,
3749 const int64_t last_frame,
3751 int64_t *stride_length);
3785 const int64_t first_frame,
3786 const int64_t last_frame,
3788 int64_t *stride_length);
3821 const int64_t n_values_per_frame,
3822 const int64_t block_id,
3823 const char *block_name,
3824 const char particle_dependency,
3825 const char compression);
3859 const int64_t n_values_per_frame,
3860 const int64_t block_id,
3861 const char *block_name,
3862 const char particle_dependency,
3863 const char compression);
3896 const int64_t n_values_per_frame,
3897 const int64_t block_id,
3898 const char *block_name,
3899 const char particle_dependency,
3900 const char compression);
4166 const int64_t frame_nr,
4167 const float *values,
4168 const int64_t n_values_per_frame,
4169 const int64_t block_id,
4170 const char *block_name,
4171 const char particle_dependency,
4172 const char compression);
4212 const int64_t frame_nr,
4213 const double *values,
4214 const int64_t n_values_per_frame,
4215 const int64_t block_id,
4216 const char *block_name,
4217 const char particle_dependency,
4218 const char compression);
4243 const int64_t frame_nr,
4244 const float *positions);
4270 const int64_t frame_nr,
4271 const double *positions);
4296 const int64_t frame_nr,
4297 const float *velocities);
4323 const int64_t frame_nr,
4324 const double *velocities);
4349 const int64_t frame_nr,
4350 const float *forces);
4376 const int64_t frame_nr,
4377 const double *forces);
4401 const int64_t frame_nr,
4402 const float *box_shape);
4427 const int64_t frame_nr,
4428 const double *box_shape);
4471 const int64_t frame_nr,
4473 const float *values,
4474 const int64_t n_values_per_frame,
4475 const int64_t block_id,
4476 const char *block_name,
4477 const char particle_dependency,
4478 const char compression);
4521 const int64_t frame_nr,
4523 const double *values,
4524 const int64_t n_values_per_frame,
4525 const int64_t block_id,
4526 const char *block_name,
4527 const char particle_dependency,
4528 const char compression);
4557 const int64_t frame_nr,
4559 const float *positions);
4588 const int64_t frame_nr,
4590 const double *positions);
4619 const int64_t frame_nr,
4621 const float *velocities);
4650 const int64_t frame_nr,
4652 const double *velocities);
4681 const int64_t frame_nr,
4683 const float *forces);
4712 const int64_t frame_nr,
4714 const double *forces);
4742 const int64_t frame_nr,
4744 const float *box_shape);
4772 const int64_t frame_nr,
4774 const double *box_shape);
4799 const int64_t block_id,
4838 int64_t current_frame,
4839 const int64_t n_requested_data_block_ids,
4840 const int64_t *requested_data_block_ids,
4841 int64_t *next_frame,
4842 int64_t *n_data_blocks_in_next_frame,
4843 int64_t **data_block_ids_in_next_frame);
4927 const int64_t prev_frame);
4940 const int64_t block_id,
tng_function_status DECLSPECDLLEXPORT tng_num_frame_sets_get(const tng_trajectory_t tng_data, int64_t *n)
Get the number of frame sets.
tng_function_status DECLSPECDLLEXPORT tng_first_computer_name_get(const tng_trajectory_t tng_data, char *name, const int max_len)
Get the name of the computer used when creating the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_molecule_atom_of_index_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const int64_t index, tng_atom_t *atom)
Retrieve the atom of a molecule with specified index in the list of atoms.
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_write_interval_double_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of box shape data blocks containing double preci...
tng_function_status DECLSPECDLLEXPORT tng_time_per_frame_get(const tng_trajectory_t tng_data, double *time)
Get the current time per frame of the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_util_generic_with_time_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const double *values, const int64_t n_values_per_frame, const int64_t block_id, const char *block_name, const char particle_dependency, const char compression)
High-level function for writing data of one frame to a double precision data block. If the frame is at the beginning of a frame set the time stamp of the frame set is set.
tng_function_status DECLSPECDLLEXPORT tng_molecule_w_id_add(const tng_trajectory_t tng_data, const char *name, const int64_t id, tng_molecule_t *molecule)
Add a molecule with a specific ID to the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_version_patchlevel(const tng_trajectory_t tng_data, int *patch_level)
Get the patch level of the TNG library.
tng_function_status DECLSPECDLLEXPORT tng_distance_unit_exponential_set(const tng_trajectory_t tng_data, const int64_t exp)
Set the exponent used for distances in the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_chain_residue_of_index_get(const tng_trajectory_t tng_data, const tng_chain_t chain, const int64_t index, tng_residue_t *residue)
Retrieve the residue of a chain with specified index in the list of residues.
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const float *box_shape)
High-level function for adding data to box shape data blocks.
tng_function_status DECLSPECDLLEXPORT tng_num_molecules_get(const tng_trajectory_t tng_data, int64_t *n)
Get the current total number of molecules.
tng_function_status DECLSPECDLLEXPORT tng_util_force_write_frequency_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of force data blocks. Obsolete! Use tng_util_for...
tng_function_status DECLSPECDLLEXPORT tng_util_pos_read_range(const tng_trajectory_t tng_data, const int64_t first_frame, const int64_t last_frame, float **positions, int64_t *stride_length)
High-level function for reading the positions of all particles from a specific range of frames...
tng_function_status DECLSPECDLLEXPORT tng_compression_precision_get(const tng_trajectory_t tng_data, double *precision)
Get the precision of lossy compression.
tng_function_status DECLSPECDLLEXPORT tng_forcefield_name_set(const tng_trajectory_t tng_data, const char *new_name)
Set the name of the forcefield used in the trajectory.
struct tng_bond * tng_bond_t
Definition: tng_io_fwd.h:26
#define DECLSPECDLLEXPORT
Definition: tng_io.h:364
tng_function_status DECLSPECDLLEXPORT tng_block_read_next(const tng_trajectory_t tng_data, const tng_gen_block_t block_data, const char hash_mode)
Read one (the next) block (of any kind) from the input_file of tng_data.
struct tng_gen_block * tng_gen_block_t
Definition: tng_io_fwd.h:29
tng_function_status DECLSPECDLLEXPORT tng_chain_name_get(const tng_trajectory_t tng_data, const tng_chain_t chain, char *name, const int max_len)
Get the name of a chain.
tng_function_status DECLSPECDLLEXPORT tng_num_particles_variable_get(const tng_trajectory_t tng_data, char *variable)
Get if the number of particle can be varied during the simulation.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_read(const tng_trajectory_t tng_data, const char hash_mode)
Read one frame set, including all particle mapping blocks and data blocks, starting from the current ...
tng_function_status DECLSPECDLLEXPORT tng_last_computer_name_get(const tng_trajectory_t tng_data, char *name, const int max_len)
Get the name of the computer used when last modifying the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_molecule_chain_add(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const char *name, tng_chain_t *chain)
Add a chain to a molecule.
tng_function_status DECLSPECDLLEXPORT tng_util_pos_write_interval_double_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of position data blocks containing double precis...
tng_function_status DECLSPECDLLEXPORT tng_data_interval_get(const tng_trajectory_t tng_data, const int64_t block_id, const int64_t start_frame_nr, const int64_t end_frame_nr, const char hash_mode, union data_values ***values, int64_t *n_values_per_frame, char *type)
Read and retrieve non-particle data, in a specific interval. Obsolete!
tng_function_status DECLSPECDLLEXPORT tng_util_vel_read(const tng_trajectory_t tng_data, float **velocities, int64_t *stride_length)
High-level function for reading the velocities of all particles from all frames.
tng_function_status DECLSPECDLLEXPORT tng_util_vel_write_interval_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of velocity data blocks.
char * c
Definition: tng_io.h:578
tng_function_status DECLSPECDLLEXPORT tng_util_pos_write_interval_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of position data blocks.
tng_function_status DECLSPECDLLEXPORT tng_data_get_stride_length(const tng_trajectory_t tng_data, const int64_t block_id, int64_t frame, int64_t *stride_length)
Get the stride length of a specific data (particle dependency does not matter) block, either in the current frame set or of a specific frame.
tng_function_status DECLSPECDLLEXPORT tng_molecule_cnt_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, int64_t *cnt)
Get the count of a molecule.
tng_function_status DECLSPECDLLEXPORT tng_particle_data_block_add(const tng_trajectory_t tng_data, const int64_t id, const char *block_name, const char datatype, const char block_type_flag, int64_t n_frames, const int64_t n_values_per_frame, int64_t stride_length, const int64_t num_first_particle, const int64_t n_particles, const int64_t codec_id, void *new_data)
Add a particle dependent data block.
tng_function_status DECLSPECDLLEXPORT tng_util_vel_write_interval_double_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of velocity data blocks containing double precis...
tng_function_status DECLSPECDLLEXPORT tng_frame_particle_data_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const int64_t block_id, const int64_t val_first_particle, const int64_t val_n_particles, const void *values, const char hash_mode)
Write particle data of one trajectory frame to the output_file of tng_data.
tng_function_status DECLSPECDLLEXPORT tng_forcefield_name_get(const tng_trajectory_t tng_data, char *name, const int max_len)
Get the name of the forcefield used in the trajectory.
tng_hash_mode
Definition: tng_io.h:552
tng_function_status DECLSPECDLLEXPORT tng_util_generic_with_time_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const float *values, const int64_t n_values_per_frame, const int64_t block_id, const char *block_name, const char particle_dependency, const char compression)
High-level function for writing data of one frame to a data block. If the frame is at the beginning o...
tng_function_status DECLSPECDLLEXPORT tng_file_headers_write(const tng_trajectory_t tng_data, const char hash_mode)
Write the header blocks to the output_file of tng_data.
tng_function_status DECLSPECDLLEXPORT tng_data_values_free(const tng_trajectory_t tng_data, union data_values **values, const int64_t n_frames, const int64_t n_values_per_frame, const char type)
Free data of an array of values (2D).
tng_function_status DECLSPECDLLEXPORT tng_particle_mapping_add(const tng_trajectory_t tng_data, const int64_t num_first_particle, const int64_t n_particles, const int64_t *mapping_table)
Add a particle mapping table.
tng_function_status DECLSPECDLLEXPORT tng_global_residue_id_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, int64_t *id)
Get the residue id (based on other molecules and molecule counts) of real particle number (number in ...
tng_function_status DECLSPECDLLEXPORT tng_first_program_name_set(const tng_trajectory_t tng_data, const char *new_name)
Set the name of the program used when creating the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_trajectory_init(tng_trajectory_t *tng_data_p)
Setup a trajectory data container.
tng_function_status DECLSPECDLLEXPORT tng_compression_precision_set(const tng_trajectory_t tng_data, const double precision)
Set the precision of lossy compression.
tng_function_status DECLSPECDLLEXPORT tng_molecule_chain_w_id_add(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const char *name, const int64_t id, tng_chain_t *chain)
Add a chain with a specific id to a molecule.
tng_function_status DECLSPECDLLEXPORT tng_num_particles_get(const tng_trajectory_t tng_data, int64_t *n)
Get the current number of particles.
tng_function_status DECLSPECDLLEXPORT tng_data_block_dependency_get(const tng_trajectory_t tng_data, const int64_t block_id, int *block_dependency)
Get the dependency of a data block of a specific ID.
tng_function_status DECLSPECDLLEXPORT tng_medium_stride_length_set(const tng_trajectory_t tng_data, const int64_t len)
Set the medium stride length of the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double *box_shape)
High-level function for adding data to box shape data blocks at double precision. ...
tng_function_status DECLSPECDLLEXPORT tng_trajectory_init_from_src(const tng_trajectory_t src, tng_trajectory_t *dest_p)
Copy a trajectory data container (dest is setup as well).
tng_function_status DECLSPECDLLEXPORT tng_frame_set_prev_frame_set_file_pos_get(const tng_trajectory_t tng_data, const tng_trajectory_frame_set_t frame_set, int64_t *pos)
Get the file position of the previous frame set in the input file.
tng_endianness_32
Definition: tng_io.h:391
tng_function_status DECLSPECDLLEXPORT tng_util_pos_write_frequency_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of position data blocks. Obsolete! Use tng_util_...
tng_function_status DECLSPECDLLEXPORT tng_molecule_id_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, int64_t *id)
Get the molecule id of real particle number (number in mol system).
tng_function_status DECLSPECDLLEXPORT tng_num_frames_per_frame_set_get(const tng_trajectory_t tng_data, int64_t *n)
Get the number of frames per frame set.
tng_function_status DECLSPECDLLEXPORT tng_chain_residue_w_id_add(const tng_trajectory_t tng_data, const tng_chain_t chain, const char *name, const int64_t id, tng_residue_t *residue)
Add a residue with a specific ID to a chain.
tng_function_status DECLSPECDLLEXPORT tng_util_force_read_range(const tng_trajectory_t tng_data, const int64_t first_frame, const int64_t last_frame, float **forces, int64_t *stride_length)
High-level function for reading the forces of all particles from a specific range of frames...
tng_function_status DECLSPECDLLEXPORT tng_util_force_write_interval_double_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of force data blocks containing double precision...
tng_function_status DECLSPECDLLEXPORT tng_distance_unit_exponential_get(const tng_trajectory_t tng_data, int64_t *exp)
Get the exponent used for distances in the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_molsystem_bonds_get(const tng_trajectory_t tng_data, int64_t *n_bonds, int64_t **from_atoms, int64_t **to_atoms)
Get the bonds of the current molecular system.
tng_function_status DECLSPECDLLEXPORT tng_molecule_free(const tng_trajectory_t tng_data, tng_molecule_t *molecule_p)
Clean up a molecule container and free its allocated memory.
tng_function_status DECLSPECDLLEXPORT tng_first_frame_nr_of_next_frame_set_get(const tng_trajectory_t tng_data, int64_t *frame)
Read the number of the first frame of the next frame set.
tng_function_status DECLSPECDLLEXPORT tng_atom_type_set(const tng_trajectory_t tng_data, const tng_atom_t atom, const char *new_type)
Set the atom type of an atom.
double d
Definition: tng_io.h:575
tng_function_status DECLSPECDLLEXPORT tng_molecule_destroy(const tng_trajectory_t tng_data, const tng_molecule_t molecule)
Clean up a molecule container.
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_with_time_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const double *box_shape)
High-level function for adding data to box shape data blocks at double precision. If the frame is at ...
tng_function_status DECLSPECDLLEXPORT tng_particle_data_values_free(const tng_trajectory_t tng_data, union data_values ***values, const int64_t n_frames, const int64_t n_particles, const int64_t n_values_per_frame, const char type)
Free data of an array of values (3D).
struct tng_residue * tng_residue_t
Definition: tng_io_fwd.h:22
tng_function_status DECLSPECDLLEXPORT tng_first_program_name_get(const tng_trajectory_t tng_data, char *name, const int max_len)
Get the name of the program used when creating the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_molecule_chain_find(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const char *name, const int64_t id, tng_chain_t *chain)
Find a chain in a molecule.
tng_function_status DECLSPECDLLEXPORT tng_last_computer_name_set(const tng_trajectory_t tng_data, const char *new_name)
Set the name of the computer used when last modifying the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_util_generic_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double *values, const int64_t n_values_per_frame, const int64_t block_id, const char *block_name, const char particle_dependency, const char compression)
High-level function for writing data of one frame to a double precision data block.
tng_function_status DECLSPECDLLEXPORT tng_output_file_get(const tng_trajectory_t tng_data, char *file_name, const int max_len)
Get the name of the output file.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_read_next(const tng_trajectory_t tng_data, const char hash_mode)
Read one (the next) frame set, including particle mapping and related data blocks from the input_file...
tng_function_status DECLSPECDLLEXPORT tng_util_force_with_time_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const double *forces)
High-level function for adding data to forces data blocks at double precision. If the frame is at the...
tng_function_status DECLSPECDLLEXPORT tng_util_vel_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double *velocities)
High-level function for adding data to velocities data blocks at double precision.
tng_function_status DECLSPECDLLEXPORT tng_util_num_frames_with_data_of_block_id_get(const tng_trajectory_t tng_data, const int64_t block_id, int64_t *n_frames)
Get the number of frames containing data of a specific type.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_with_time_new(const tng_trajectory_t tng_data, const int64_t first_frame, const int64_t n_frames, const double first_frame_time)
Create and initialise a frame set with the time of the first frame specified.
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_write_frequency_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of velocity data blocks. Obsolete! Use tng_util_...
tng_function_status DECLSPECDLLEXPORT tng_particle_data_interval_get(const tng_trajectory_t tng_data, const int64_t block_id, const int64_t start_frame_nr, const int64_t end_frame_nr, const char hash_mode, union data_values ****values, int64_t *n_particles, int64_t *n_values_per_frame, char *type)
Read and retrieve particle data, in a specific interval. Obsolete!
float f
Definition: tng_io.h:576
tng_function_status DECLSPECDLLEXPORT tng_util_force_read(const tng_trajectory_t tng_data, float **forces, int64_t *stride_length)
High-level function for reading the forces of all particles from all frames.
tng_function_status DECLSPECDLLEXPORT tng_molecule_system_copy(const tng_trajectory_t tng_data_src, const tng_trajectory_t tng_data_dest)
Copy all molecules and the molecule counts from one TNG trajectory to another.
tng_function_status DECLSPECDLLEXPORT tng_util_vel_with_time_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const double *velocities)
High-level function for adding data to velocities data blocks at double precision. If the frame is at the beginning of a frame set the time stamp of the frame set is set.
tng_function_status DECLSPECDLLEXPORT tng_num_molecule_types_get(const tng_trajectory_t tng_data, int64_t *n)
Get the number of molecule types (length of tng_data->molecules).
tng_function_status DECLSPECDLLEXPORT tng_long_stride_length_set(const tng_trajectory_t tng_data, const int64_t len)
Set the long stride length of the trajectory.
tng_data_type
Definition: tng_io.h:555
tng_function_status DECLSPECDLLEXPORT tng_util_particle_data_next_frame_read(const tng_trajectory_t tng_data, const int64_t block_id, void **values, char *data_type, int64_t *retrieved_frame_number, double *retrieved_time)
High-level function for reading the next frame of particle-dependent data of a specific type...
tng_function_status DECLSPECDLLEXPORT tng_molecule_bond_add(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const int64_t from_atom_id, const int64_t to_atom_id, tng_bond_t *bond)
Add a bond between two atoms to a molecule.
tng_file_endianness
Definition: tng_io.h:387
tng_function_status DECLSPECDLLEXPORT tng_util_trajectory_next_frame_present_data_blocks_find(const tng_trajectory_t tng_data, int64_t current_frame, const int64_t n_requested_data_block_ids, const int64_t *requested_data_block_ids, int64_t *next_frame, int64_t *n_data_blocks_in_next_frame, int64_t **data_block_ids_in_next_frame)
High-level function for determining the next frame with data and what data blocks have data for that ...
tng_function_status DECLSPECDLLEXPORT tng_util_pos_read(const tng_trajectory_t tng_data, float **positions, int64_t *stride_length)
High-level function for reading the positions of all particles from all frames.
tng_function_status DECLSPECDLLEXPORT tng_molecule_atom_find(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const char *name, const int64_t id, tng_atom_t *atom)
Find an atom in a molecule.
tng_function_status DECLSPECDLLEXPORT tng_atom_residue_get(const tng_trajectory_t tng_data, const tng_atom_t atom, tng_residue_t *residue)
Get the residue of an atom.
tng_function_status DECLSPECDLLEXPORT tng_molecule_chain_of_index_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const int64_t index, tng_chain_t *chain)
Retrieve the chain of a molecule with specified index in the list of chains.
tng_function_status DECLSPECDLLEXPORT tng_data_get(const tng_trajectory_t tng_data, const int64_t block_id, union data_values ***values, int64_t *n_frames, int64_t *n_values_per_frame, char *type)
Retrieve non-particle data, from the last read frame set. Obsolete!
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_write_interval_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of box shape data blocks.
tng_function_status DECLSPECDLLEXPORT tng_chain_residue_add(const tng_trajectory_t tng_data, const tng_chain_t chain, const char *name, tng_residue_t *residue)
Add a residue to a chain.
tng_function_status DECLSPECDLLEXPORT tng_util_vel_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const float *velocities)
High-level function for adding data to velocities data blocks.
tng_function_status DECLSPECDLLEXPORT tng_molecule_name_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, char *name, const int max_len)
Get the name of a molecule.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_read_current_only_data_from_block_id(const tng_trajectory_t tng_data, const char hash_mode, const int64_t block_id)
Read data from the current frame set from the input_file. Only read particle mapping and data blocks ...
tng_block_type
Definition: tng_io.h:414
struct tng_trajectory_frame_set * tng_trajectory_frame_set_t
Definition: tng_io_fwd.h:33
tng_function_status DECLSPECDLLEXPORT tng_input_file_len_get(const tng_trajectory_t tng_data, int64_t *len)
Get the length of the input file.
tng_function_status DECLSPECDLLEXPORT tng_molecule_num_atoms_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, int64_t *n)
Get the number of atoms in a molecule.
tng_function_status DECLSPECDLLEXPORT tng_particle_data_get(const tng_trajectory_t tng_data, const int64_t block_id, union data_values ****values, int64_t *n_frames, int64_t *n_particles, int64_t *n_values_per_frame, char *type)
Retrieve particle data, from the last read frame set. Obsolete!
tng_variable_n_atoms_flag
Definition: tng_io.h:540
tng_function_status DECLSPECDLLEXPORT tng_residue_atom_w_id_add(const tng_trajectory_t tng_data, const tng_residue_t residue, const char *atom_name, const char *atom_type, const int64_t id, tng_atom_t *atom)
Add an atom with a specific ID to a residue.
tng_function_status DECLSPECDLLEXPORT tng_molecule_num_chains_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, int64_t *n)
Get the number of chains in a molecule.
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_with_time_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const float *box_shape)
High-level function for adding data to box shape data blocks. If the frame is at the beginning of a f...
tng_function_status DECLSPECDLLEXPORT tng_time_get_str(const tng_trajectory_t tng_data, char *time)
Get the date and time of initial file creation in ISO format (string).
tng_bool
Definition: tng_io.h:536
struct tng_atom * tng_atom_t
Definition: tng_io_fwd.h:24
tng_function_status DECLSPECDLLEXPORT tng_frame_set_first_frame_time_set(const tng_trajectory_t tng_data, const double first_frame_time)
Set the time stamp of the first frame of the current frame set.
tng_function_status DECLSPECDLLEXPORT tng_util_vel_write_frequency_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of velocity data blocks. Obsolete! Use tng_util_...
tng_function_status DECLSPECDLLEXPORT tng_output_file_endianness_get(const tng_trajectory_t tng_data, tng_file_endianness *endianness)
Get the endianness of the output file.
tng_function_status DECLSPECDLLEXPORT tng_atom_type_get(const tng_trajectory_t tng_data, const tng_atom_t atom, char *type, const int max_len)
Get the type of an atom.
tng_function_status DECLSPECDLLEXPORT tng_first_computer_name_set(const tng_trajectory_t tng_data, const char *new_name)
Set the name of the computer used when creating the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_output_append_file_set(const tng_trajectory_t tng_data, const char *file_name)
Set the name of the output file for appending. The output file will not be overwritten.
tng_function_status DECLSPECDLLEXPORT tng_util_time_of_frame_get(const tng_trajectory_t tng_data, const int64_t frame_nr, double *time)
High-level function for getting the time (in seconds) of a frame.
tng_function_status DECLSPECDLLEXPORT tng_util_frame_current_compression_get(const tng_trajectory_t tng_data, const int64_t block_id, int64_t *codec_id, double *factor)
High-level function for getting the compression method and multiplication factor of the last read fra...
tng_function_status DECLSPECDLLEXPORT tng_atom_name_set(const tng_trajectory_t tng_data, const tng_atom_t atom, const char *new_name)
Set the name of an atom.
tng_function_status DECLSPECDLLEXPORT tng_data_block_num_values_per_frame_get(const tng_trajectory_t tng_data, const int64_t block_id, int64_t *n_values_per_frame)
Get the number of values per frame of a data block of a specific ID.
tng_function_status DECLSPECDLLEXPORT tng_num_frames_per_frame_set_set(const tng_trajectory_t tng_data, const int64_t n)
Set the number of frames per frame set.
tng_function_status DECLSPECDLLEXPORT tng_medium_stride_length_get(const tng_trajectory_t tng_data, int64_t *len)
Get the medium stride length of the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_last_program_name_set(const tng_trajectory_t tng_data, const char *new_name)
Set the name of the program used when last modifying the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_data_block_add(const tng_trajectory_t tng_data, const int64_t id, const char *block_name, const char datatype, const char block_type_flag, int64_t n_frames, const int64_t n_values_per_frame, int64_t stride_length, const int64_t codec_id, void *new_data)
Add a non-particle dependent data block.
tng_function_status DECLSPECDLLEXPORT tng_last_user_name_get(const tng_trajectory_t tng_data, char *name, const int max_len)
Get the name of the user who last modified the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_nr_find(const tng_trajectory_t tng_data, const int64_t nr)
Find the requested frame set number.
tng_function_status DECLSPECDLLEXPORT tng_output_file_endianness_set(const tng_trajectory_t tng_data, const tng_file_endianness endianness)
Set the endianness of the output file.
tng_function_status DECLSPECDLLEXPORT tng_first_user_name_set(const tng_trajectory_t tng_data, const char *new_name)
Set the name of the user who created the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_residue_name_get(const tng_trajectory_t tng_data, const tng_residue_t residue, char *name, const int max_len)
Get the name of a residue.
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_read_range(const tng_trajectory_t tng_data, const int64_t first_frame, const int64_t last_frame, float **box_shape, int64_t *stride_length)
High-level function for reading the box shape from a specific range of frames.
tng_function_status DECLSPECDLLEXPORT tng_particle_data_vector_interval_get(const tng_trajectory_t tng_data, const int64_t block_id, const int64_t start_frame_nr, const int64_t end_frame_nr, const char hash_mode, void **values, int64_t *n_particles, int64_t *stride_length, int64_t *n_values_per_frame, char *type)
Read and retrieve a vector (1D array) particle data, in a specific interval.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_particle_mapping_free(const tng_trajectory_t tng_data)
Remove all particle mappings (in memory) from the current frame set.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_write(const tng_trajectory_t tng_data, const char hash_mode)
Write one frame set, including mapping and related data blocks to the output_file of tng_data...
tng_function_status DECLSPECDLLEXPORT tng_util_force_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double *forces)
High-level function for adding data to forces data blocks at double precision.
tng_function_status DECLSPECDLLEXPORT tng_version_major(const tng_trajectory_t tng_data, int *version)
Get the major version of the TNG library.
tng_function_status DECLSPECDLLEXPORT tng_data_vector_interval_get(const tng_trajectory_t tng_data, const int64_t block_id, const int64_t start_frame_nr, const int64_t end_frame_nr, const char hash_mode, void **values, int64_t *stride_length, int64_t *n_values_per_frame, char *type)
Read and retrieve a vector (1D array) of non-particle data, in a specific interval.
tng_function_status DECLSPECDLLEXPORT tng_long_stride_length_get(const tng_trajectory_t tng_data, int64_t *len)
Get the long stride length of the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_next_frame_set_file_pos_get(const tng_trajectory_t tng_data, const tng_trajectory_frame_set_t frame_set, int64_t *pos)
Get the file position of the next frame set in the input file.
tng_function_status DECLSPECDLLEXPORT tng_util_pos_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const float *positions)
High-level function for adding data to positions data blocks.
tng_function_status DECLSPECDLLEXPORT tng_molecule_residue_of_index_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const int64_t index, tng_residue_t *residue)
Retrieve the residue of a molecule with specified index in the list of chains.
tng_function_status DECLSPECDLLEXPORT tng_last_user_name_set(const tng_trajectory_t tng_data, const char *new_name)
Set the name of the user who last modified the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_input_file_set(const tng_trajectory_t tng_data, const char *file_name)
Set the name of the input file.
tng_function_status DECLSPECDLLEXPORT tng_util_non_particle_data_next_frame_read(const tng_trajectory_t tng_data, const int64_t block_id, void **values, char *data_type, int64_t *retrieved_frame_number, double *retrieved_time)
High-level function for reading the next frame of non-particle-dependent data of a specific type...
tng_function_status DECLSPECDLLEXPORT tng_data_block_name_get(const tng_trajectory_t tng_data, const int64_t block_id, char *name, const int max_len)
Get the name of a data block of a specific ID.
tng_function_status DECLSPECDLLEXPORT tng_last_signature_set(const tng_trajectory_t tng_data, const char *signature)
Set the pgp_signature of the user last modifying the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_molecule_alloc(const tng_trajectory_t tng_data, tng_molecule_t *molecule_p)
Allocate memory for and setup a molecule container.
tng_function_status DECLSPECDLLEXPORT tng_util_trajectory_open(const char *filename, const char mode, tng_trajectory_t *tng_data_p)
High-level function for opening and initializing a TNG trajectory.
tng_function_status DECLSPECDLLEXPORT tng_util_trajectory_close(tng_trajectory_t *tng_data_p)
High-level function for closing a TNG trajectory.
tng_function_status DECLSPECDLLEXPORT tng_molecule_add(const tng_trajectory_t tng_data, const char *name, tng_molecule_t *molecule)
Add a molecule to the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_version_minor(const tng_trajectory_t tng_data, int *version)
Get the minor version of the TNG library.
tng_hash_type
Definition: tng_io.h:409
tng_function_status DECLSPECDLLEXPORT tng_util_pos_with_time_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const double *positions)
High-level function for adding data to positions data blocks at double precision. If the frame is at ...
tng_function_status DECLSPECDLLEXPORT tng_util_force_with_time_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const float *forces)
High-level function for adding data to forces data blocks. If the frame is at the beginning of a fram...
tng_function_status DECLSPECDLLEXPORT tng_residue_id_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, int64_t *id)
Get the residue id (local to molecule) of real particle number (number in mol system).
tng_compression
Definition: tng_io.h:403
tng_function_status DECLSPECDLLEXPORT tng_molecule_find(const tng_trajectory_t tng_data, const char *name, const int64_t id, tng_molecule_t *molecule)
Find a molecule.
tng_function_status DECLSPECDLLEXPORT tng_residue_atom_of_index_get(const tng_trajectory_t tng_data, const tng_residue_t residue, const int64_t index, tng_atom_t *atom)
Retrieve the atom of a residue with specified index in the list of atoms.
tng_function_status DECLSPECDLLEXPORT tng_residue_num_atoms_get(const tng_trajectory_t tng_data, const tng_residue_t residue, int64_t *n)
Get the number of atoms in a residue.
tng_function_status DECLSPECDLLEXPORT tng_version(const tng_trajectory_t tng_data, char *version, const int max_len)
Get the full version string of the TNG library.
tng_function_status DECLSPECDLLEXPORT tng_input_file_get(const tng_trajectory_t tng_data, char *file_name, const int max_len)
Get the name of the input file.
tng_function_status DECLSPECDLLEXPORT tng_residue_name_set(const tng_trajectory_t tng_data, const tng_residue_t residue, const char *new_name)
Set the name of a residue.
tng_function_status DECLSPECDLLEXPORT tng_last_signature_get(const tng_trajectory_t tng_data, char *signature, const int max_len)
Get the pgp_signature of the user last modifying the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_residue_atom_add(const tng_trajectory_t tng_data, const tng_residue_t residue, const char *atom_name, const char *atom_type, tng_atom_t *atom)
Add an atom to a residue.
tng_function_status DECLSPECDLLEXPORT tng_util_vel_with_time_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const float *velocities)
High-level function for adding data to velocities data blocks. If the frame is at the beginning of a ...
int64_t i
Definition: tng_io.h:577
tng_function_status DECLSPECDLLEXPORT tng_time_per_frame_set(const tng_trajectory_t tng_data, const double time)
Set the time per frame of the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_first_signature_set(const tng_trajectory_t tng_data, const char *signature)
Set the pgp_signature of the user creating the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_particle_data_vector_get(const tng_trajectory_t tng_data, const int64_t block_id, void **values, int64_t *n_frames, int64_t *stride_length, int64_t *n_particles, int64_t *n_values_per_frame, char *type)
Retrieve a vector (1D array) of particle data, from the last read frame set.
tng_function_status DECLSPECDLLEXPORT tng_chain_name_set(const tng_trajectory_t tng_data, const tng_chain_t chain, const char *new_name)
Set the name of a chain.
tng_function_status DECLSPECDLLEXPORT tng_molecule_name_set(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const char *new_name)
Set the name of a molecule.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_premature_write(const tng_trajectory_t tng_data, const char hash_mode)
Write one frame set even if it does not have as many frames as expected. The function also writes map...
tng_function_status DECLSPECDLLEXPORT tng_util_generic_write_interval_set(const tng_trajectory_t tng_data, const int64_t i, const int64_t n_values_per_frame, const int64_t block_id, const char *block_name, const char particle_dependency, const char compression)
High-level function for setting the writing interval of data blocks.
struct tng_trajectory * tng_trajectory_t
Definition: tng_io_fwd.h:16
tng_particle_dependency
Definition: tng_io.h:532
tng_function_status DECLSPECDLLEXPORT tng_current_frame_set_get(const tng_trajectory_t tng_data, tng_trajectory_frame_set_t *frame_set_p)
Get the current trajectory frame set.
tng_function_status DECLSPECDLLEXPORT tng_trajectory_destroy(tng_trajectory_t *tng_data_p)
Clean up a trajectory data container.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_new(const tng_trajectory_t tng_data, const int64_t first_frame, const int64_t n_frames)
Create and initialise a frame set.
tng_function_status DECLSPECDLLEXPORT tng_atom_name_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, char *name, const int max_len)
Get the atom name of real particle number (number in mol system).
tng_function_status DECLSPECDLLEXPORT tng_util_force_write_interval_set(const tng_trajectory_t tng_data, const int64_t i)
High-level function for setting the writing interval of force data blocks.
tng_function_status DECLSPECDLLEXPORT tng_util_vel_read_range(const tng_trajectory_t tng_data, const int64_t first_frame, const int64_t last_frame, float **velocities, int64_t *stride_length)
High-level function for reading the velocities of all particles from a specific range of frames...
tng_function_status DECLSPECDLLEXPORT tng_residue_name_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, char *name, const int max_len)
Get the residue name of real particle number (number in mol system).
tng_function_status DECLSPECDLLEXPORT tng_num_frames_get(const tng_trajectory_t tng_data, int64_t *n)
Get the number of frames in the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_frame_range_get(const tng_trajectory_t tng_data, const tng_trajectory_frame_set_t frame_set, int64_t *first_frame, int64_t *last_frame)
Get the first and last frames of the frame set.
tng_function_status DECLSPECDLLEXPORT tng_atom_type_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, char *type, const int max_len)
Get the atom type of real particle number (number in mol system).
tng_function_status DECLSPECDLLEXPORT tng_chain_name_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, char *name, const int max_len)
Get the chain name of real particle number (number in mol system).
tng_function_status DECLSPECDLLEXPORT tng_last_program_name_get(const tng_trajectory_t tng_data, char *name, const int max_len)
Get the name of the program used when last modifying the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_molecule_name_of_particle_nr_get(const tng_trajectory_t tng_data, const int64_t nr, char *name, const int max_len)
Get the molecule name of real particle number (number in mol system).
tng_function_status DECLSPECDLLEXPORT tng_data_vector_get(const tng_trajectory_t tng_data, const int64_t block_id, void **values, int64_t *n_frames, int64_t *stride_length, int64_t *n_values_per_frame, char *type)
Retrieve a vector (1D array) of non-particle data, from the last read frame set.
struct tng_chain * tng_chain_t
Definition: tng_io_fwd.h:20
tng_function_status DECLSPECDLLEXPORT tng_chain_residue_find(const tng_trajectory_t tng_data, const tng_chain_t chain, const char *name, const int64_t id, tng_residue_t *residue)
Find a residue in a chain.
tng_function_status DECLSPECDLLEXPORT tng_chain_num_residues_get(const tng_trajectory_t tng_data, const tng_chain_t chain, int64_t *n)
Get the number of residues in a molecule chain.
tng_endianness_64
Definition: tng_io.h:396
tng_function_status DECLSPECDLLEXPORT tng_util_generic_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const float *values, const int64_t n_values_per_frame, const int64_t block_id, const char *block_name, const char particle_dependency, const char compression)
High-level function for writing data of one frame to a data block.
tng_function_status DECLSPECDLLEXPORT tng_molecule_existing_add(const tng_trajectory_t tng_data, tng_molecule_t *molecule)
Add an existing molecule (from a molecule container) to the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_atom_name_get(const tng_trajectory_t tng_data, const tng_atom_t atom, char *name, const int max_len)
Get the name of an atom.
tng_function_status DECLSPECDLLEXPORT tng_molecule_of_index_get(const tng_trajectory_t tng_data, const int64_t index, tng_molecule_t *molecule)
Retrieve the molecule with specified index in the list of molecules.
tng_function_status DECLSPECDLLEXPORT tng_first_user_name_get(const tng_trajectory_t tng_data, char *name, const int max_len)
Get the name of the user who created the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_util_pos_with_time_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double time, const float *positions)
High-level function for adding data to positions data blocks. If the frame is at the beginning of a f...
tng_function_status DECLSPECDLLEXPORT tng_first_signature_get(const tng_trajectory_t tng_data, char *signature, const int max_len)
Get the pgp_signature of the user creating the trajectory.
tng_function_status DECLSPECDLLEXPORT tng_output_file_set(const tng_trajectory_t tng_data, const char *file_name)
Set the name of the output file.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_read_next_only_data_from_block_id(const tng_trajectory_t tng_data, const char hash_mode, const int64_t block_id)
Read one (the next) frame set, including particle mapping and data blocks with a specific block id fr...
tng_function_status DECLSPECDLLEXPORT tng_util_box_shape_read(const tng_trajectory_t tng_data, float **box_shape, int64_t *stride_length)
High-level function for reading the box shape from all frames.
tng_function_status DECLSPECDLLEXPORT tng_util_pos_double_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const double *positions)
High-level function for adding data to positions data blocks at double precision. ...
tng_function_status DECLSPECDLLEXPORT tng_molecule_cnt_set(const tng_trajectory_t tng_data, const tng_molecule_t molecule, const int64_t cnt)
Set the count of a molecule.
tng_function_status
Definition: tng_io.h:547
tng_function_status DECLSPECDLLEXPORT tng_util_generic_write_interval_double_set(const tng_trajectory_t tng_data, const int64_t i, const int64_t n_values_per_frame, const int64_t block_id, const char *block_name, const char particle_dependency, const char compression)
High-level function for setting the writing interval of data blocks containing double precision data...
tng_function_status DECLSPECDLLEXPORT tng_molecule_num_residues_get(const tng_trajectory_t tng_data, const tng_molecule_t molecule, int64_t *n)
Get the number of residues in a molecule.
tng_function_status DECLSPECDLLEXPORT tng_util_prepare_append_after_frame(const tng_trajectory_t tng_data, const int64_t prev_frame)
Finds the frame set of the specified frame in order to prepare for writing after it.
tng_function_status DECLSPECDLLEXPORT tng_molecule_init(const tng_trajectory_t tng_data, const tng_molecule_t molecule)
Setup a molecule container.
tng_function_status DECLSPECDLLEXPORT tng_util_force_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const float *forces)
High-level function for adding data to forces data blocks.
tng_function_status DECLSPECDLLEXPORT tng_frame_data_write(const tng_trajectory_t tng_data, const int64_t frame_nr, const int64_t block_id, const void *values, const char hash_mode)
Write data of one trajectory frame to the output_file of tng_data.
tng_function_status DECLSPECDLLEXPORT tng_file_headers_read(const tng_trajectory_t tng_data, const char hash_mode)
Read the header blocks from the input_file of tng_data.
tng_function_status DECLSPECDLLEXPORT tng_molecule_cnt_list_get(const tng_trajectory_t tng_data, int64_t **mol_cnt_list)
Get the list of the count of each molecule.
tng_function_status DECLSPECDLLEXPORT tng_frame_set_of_frame_find(const tng_trajectory_t tng_data, const int64_t frame)
Find the frame set containing a specific frame.
struct tng_molecule * tng_molecule_t
Definition: tng_io_fwd.h:18
tng_function_status DECLSPECDLLEXPORT tng_implicit_num_particles_set(const tng_trajectory_t tng_data, const int64_t n)
Set the number of particles, in the case no molecular system is used.