STORMM Source Documentation
Loading...
Searching...
No Matches
amber_ascii.h
1// -*-c++-*-
2#ifndef STORMM_AMBER_ASCII_H
3#define STORMM_AMBER_ASCII_H
4
5#include "copyright.h"
6#include "Constants/behavior.h"
7#include "Accelerator/hybrid.h"
8#include "Parsing/polynumeric.h"
9#include "Parsing/textfile.h"
10#include "coordinateframe.h"
11
12namespace stormm {
13namespace trajectory {
14
15using constants::ExceptionResponse;
16using card::Hybrid;
17using parse::PolyNumeric;
18using parse::TextFile;
19
25int getAmberRestartAtomCount(const TextFile &tf);
26
34void getAmberRestartAtomCountAndTime(const TextFile &tf, int *atom_count, double *start_time,
35 ExceptionResponse policy = ExceptionResponse::WARN);
36
49void splitInterlacedCoordinates(const std::vector<PolyNumeric> &allcrd, double* x, double* y,
50 double* z, int natom);
51
67void getAmberInputCoordinates(const TextFile &tf, double* x_coordinates, double* y_coordinates,
68 double* z_coordinates, int natom, double* box_space_transform,
69 double* inverse_transform, double* box_dimensions);
70
71void getAmberInputCoordinates(const TextFile &tf, Hybrid<double> *x_coordinates,
72 Hybrid<double> *y_coordinates, Hybrid<double> *z_coordinates,
73 Hybrid<double> *box_space_transform,
74 Hybrid<double> *inverse_transform, Hybrid<double> *box_dimensions);
76
83void getAmberRestartVelocities(const TextFile &tf, Hybrid<double> *x_velocities,
84 Hybrid<double> *y_velocities, Hybrid<double> *z_velocities);
85
93int countAmberCrdFormatFrames(const TextFile &tf, int natom, UnitCellType unit_cell);
94
116void readAmberCrdFormat(const TextFile &tf, double *x_coordinates, double *y_coordinates,
117 double *z_coordinates, int natom, UnitCellType unit_cell,
118 double *box_space_transform, double *inverse_transform,
119 double* box_dimensions, int frame_number = 0);
120
121void readAmberCrdFormat(const TextFile &tf, Hybrid<double> *x_coordinates,
122 Hybrid<double> *y_coordinates, Hybrid<double> *z_coordinates,
123 UnitCellType unit_cell, Hybrid<double> *box_space_transform,
124 Hybrid<double> *inverse_transform, Hybrid<double> *box_dimensions,
125 int frame_number = 0);
126
127void readAmberCrdFormat(const TextFile &tf, CoordinateFrameWriter *cfw, int frame_number = 0);
129
130} // namespace trajectory
131} // namespace stormm
132
133#endif
An evolution of GpuBuffer in pmemd.cuda, the Composite array has elements that are accessible from ei...
Definition hybrid.h:202
Structure for translating a text file into a compact, rapidly parsable vector of characters in CPU RA...
Definition textfile.h:45
Collect C-style pointers for the elements of a writable CoordinateFrame object.
Definition coordinateframe.h:30