Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

Measure.C File Reference

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "Measure.h"
#include "AtomSel.h"
#include "Matrix4.h"
#include "utilities.h"
#include "fitrms.h"
#include "ResizeArray.h"
#include "SpatialSearch.h"
#include "MoleculeList.h"
#include "Inform.h"
#include "Timestep.h"
#include "VMDApp.h"
#include "WKFThreads.h"
#include "WKFUtils.h"

Go to the source code of this file.


Compounds

struct gofrparms_t
struct sasathreadparms

Defines

#define ROTATE(a, i, j, k, l)
#define SWAP(qq, ww)
#define NPTS 500
#define SWAP(qq, ww)

Functions

const char * measure_error (int errnum)
int measure_move (const AtomSel *sel, float *framepos, const Matrix4 &mat)
int measure_sumweights (const AtomSel *sel, int numweights, const float *weights, float *weightsum)
int measure_center_perresidue (MoleculeList *mlist, const AtomSel *sel, const float *framepos, const float *weight, float *com)
int measure_center (const AtomSel *sel, const float *framepos, const float *weight, float *com)
int measure_minmax (int num, const int *on, const float *framepos, const float *radii, float *min_coord, float *max_coord)
int measure_avpos_perresidue (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *avpos)
int measure_avpos (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *avpos)
int measure_dipole (const AtomSel *sel, MoleculeList *mlist, float *dipole, int unitsdebye, int usecenter)
int measure_hbonds (Molecule *mol, AtomSel *sel1, AtomSel *sel2, double cutoff, double maxangle, int *donlist, int *hydlist, int *acclist, int maxsize)
int measure_rmsf_perresidue (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *rmsf)
int measure_rmsf (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *rmsf)
int measure_rgyr (const AtomSel *sel, MoleculeList *mlist, const float *weight, float *rgyr)
measure the radius of gyration, including the given weights. More...

int measure_rmsd_perresidue (const AtomSel *sel1, const AtomSel *sel2, MoleculeList *mlist, int num, float *weight, float *rmsd)
int measure_rmsd (const AtomSel *sel1, const AtomSel *sel2, int num, const float *framepos1, const float *framepos2, float *weight, float *rmsd)
measure the rmsd given a selection and weight term. More...

int jacobi (float a[4][4], float d[3], float v[3][3])
int transvecinv (const double *v, Matrix4 &res)
int transvec (const double *v, Matrix4 &res)
Matrix4 myfit2 (const float *x, const float *y, const float *comx, const float *comy)
Matrix4 myfit3 (const float *x1, const float *x2, const float *y1, const float *y2, const float *comx, const float *comy)
int measure_fit (const AtomSel *sel1, const AtomSel *sel2, const float *x, const float *y, const float *weight, const int *order, Matrix4 *mat)
int measure_sasa_perresidue (const AtomSel *sel, const float *framepos, const float *radius, float srad, float *sasa, ResizeArray< float > *sasapts, const AtomSel *restrictsel, const int *nsamples, int *rescount, MoleculeList *mlist)
int measure_sasa (const AtomSel *sel, const float *framepos, const float *radius, float srad, float *sasa, ResizeArray< float > *sasapts, const AtomSel *restrictsel, const int *nsamples)
void * measure_sasa_thread (void *voidparms)
int measure_sasalist (MoleculeList *mlist, const AtomSel **sellist, int numsels, float srad, float *sasalist, const int *nsamples)
float fix_pbc_n_sqr (float delta, const float boxby2)
float min_dist_with_pbc (const float *a, const float *b, const float *boxby2)
double spherical_cap (const double &radius, const double &boxby2)
the volume of a sperical cap. More...

void * measure_gofr_orth (void *voidparms)
int measure_gofr (AtomSel *sel1, AtomSel *sel2, MoleculeList *mlist, const int count_h, double *gofr, double *numint, double *histog, const float delta, int first, int last, int step, int *framecntr, int usepbc, int selupdate)
int measure_geom (MoleculeList *mlist, int *molid, int *atmid, ResizeArray< float > *gValues, int frame, int first, int last, int defmolid, int geomtype)
int calculate_bond (MoleculeList *mlist, int *molid, int *atmid, float *value)
int calculate_angle (MoleculeList *mlist, int *molid, int *atmid, float *value)
int calculate_dihed (MoleculeList *mlist, int *molid, int *atmid, float *value)
int normal_atom_coord (Molecule *mol, int a, float *pos)
int check_mol (Molecule *mol, int a)
int measure_energy (MoleculeList *mlist, int *molid, int *atmid, int natoms, ResizeArray< float > *gValues, int frame, int first, int last, int defmolid, double *params, int geomtype)
int compute_bond_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, float x0)
int compute_angle_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, float x0, float kub, float s0)
int compute_dihed_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, int n, float delta)
int compute_imprp_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, float x0)
int compute_vdw_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float eps1, float rmin1, float eps2, float rmin2, float cutoff, float switchdist)
int compute_elect_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float q1, float q2, bool flag1, bool flag2, float cutoff)
void center_of_mass (AtomSel *sel, MoleculeList *mlist, float *rcom)
int measure_inertia (AtomSel *sel, MoleculeList *mlist, const float *coor, float rcom[3], float priaxes[3][3], float itensor[4][4], float evalue[3])

Variables

const char * measure_error_messages []

Define Documentation

#define NPTS 500

Definition at line 1414 of file Measure.C.

Referenced by measure_sasa, measure_sasa_perresidue, and measure_sasalist.

#define ROTATE ( a,
i,
j,
k,
l )

Value:

g=a[i][j];h=a[k][l];a[i][j]=g-s*(h+g*tau);\
 a[k][l]=h+s*(g-h*tau);

Definition at line 935 of file Measure.C.

Referenced by jacobi.

#define SWAP ( qq,
ww )

Value:

{ \
 float v; float *v1; \
 v = evalue[qq]; evalue[qq] = evalue[ww]; evalue[ww] = v; \
 v1 = a[qq]; a[qq] = a[ww]; a[ww] = v1; \
}

#define SWAP ( qq,
ww )

Value:

{ \
 float v; float *v1; \
 v = evalue[qq]; evalue[qq] = evalue[ww]; evalue[ww] = v; \
 v1 = a[qq]; a[qq] = a[ww]; a[ww] = v1; \
}

Function Documentation

int calculate_angle ( MoleculeList * mlist,
int * molid,
int * atmid,
float * value
)

Definition at line 2583 of file Measure.C.

References angle, MEASURE_NOERR, MoleculeList::mol_from_id, normal_atom_coord, and vec_sub.

int calculate_bond ( MoleculeList * mlist,
int * molid,
int * atmid,
float * value
)

Definition at line 2566 of file Measure.C.

References MEASURE_NOERR, MoleculeList::mol_from_id, norm, normal_atom_coord, and vec_sub.

int calculate_dihed ( MoleculeList * mlist,
int * molid,
int * atmid,
float * value
)

Definition at line 2603 of file Measure.C.

References dihedral, MEASURE_NOERR, MoleculeList::mol_from_id, and normal_atom_coord.

void center_of_mass ( AtomSel * sel,
MoleculeList * mlist,
float * rcom
) [static]

int check_mol ( Molecule * mol,
int a
)

int compute_angle_energy ( MoleculeList * mlist,
int * molid,
int * atmid,
float * energy,
float k,
float x0,
float kub,
float s0
)

Definition at line 2757 of file Measure.C.

References calculate_angle, calculate_bond, DEGTORAD, and MEASURE_NOERR.

int compute_bond_energy ( MoleculeList * mlist,
int * molid,
int * atmid,
float * energy,
float k,
float x0
)

Definition at line 2743 of file Measure.C.

References calculate_bond, and MEASURE_NOERR.

int compute_dihed_energy ( MoleculeList * mlist,
int * molid,
int * atmid,
float * energy,
float k,
int n,
float delta
)

Definition at line 2783 of file Measure.C.

References calculate_dihed, DEGTORAD, MEASURE_NOERR, and n.

int compute_elect_energy ( MoleculeList * mlist,
int * molid,
int * atmid,
float * energy,
float q1,
float q2,
bool flag1,
bool flag2,
float cutoff
)

int compute_imprp_energy ( MoleculeList * mlist,
int * molid,
int * atmid,
float * energy,
float k,
float x0
)

Definition at line 2797 of file Measure.C.

References calculate_dihed, DEGTORAD, and MEASURE_NOERR.

int compute_vdw_energy ( MoleculeList * mlist,
int * molid,
int * atmid,
float * energy,
float eps1,
float rmin1,
float eps2,
float rmin2,
float cutoff,
float switchdist
)

Definition at line 2815 of file Measure.C.

References calculate_bond, and MEASURE_NOERR.

float fix_pbc_n_sqr ( float delta,
const float boxby2
) [static]

Definition at line 2042 of file Measure.C.

Referenced by min_dist_with_pbc.

int jacobi ( float a[4][4],
float d[3],
float v[3][3]
) [static]

Definition at line 938 of file Measure.C.

References n, ROTATE, and z.

Referenced by measure_fit, and measure_inertia.

int measure_avpos ( const AtomSel * sel,
MoleculeList * mlist,
int start,
int end,
int step,
float * avpos
)

int measure_avpos_perresidue ( const AtomSel * sel,
MoleculeList * mlist,
int start,
int end,
int step,
float * avpos
)

int measure_center ( const AtomSel * sel,
const float * framepos,
const float * weight,
float * com
)

int measure_center_perresidue ( MoleculeList * mlist,
const AtomSel * sel,
const float * framepos,
const float * weight,
float * com
)

int measure_dipole ( const AtomSel * sel,
MoleculeList * mlist,
float * dipole,
int unitsdebye,
int usecenter
)

int measure_energy ( MoleculeList * mlist,
int * molid,
int * atmid,
int natoms,
ResizeArray< float > * gValues,
int frame,
int first,
int last,
int defmolid,
double * params,
int geomtype
)

const char* measure_error ( int errnum )

Definition at line 65 of file Measure.C.

References measure_error_messages.

int measure_fit ( const AtomSel * sel1,
const AtomSel * sel2,
const float * x,
const float * y,
const float * weight,
const int * order,
Matrix4 * mat
)

int measure_geom ( MoleculeList * mlist,
int * molid,
int * atmid,
ResizeArray< float > * gValues,
int frame,
int first,
int last,
int defmolid,
int geomtype
)

int measure_gofr ( AtomSel * sel1,
AtomSel * sel2,
MoleculeList * mlist,
const int count_h,
double * gofr,
double * numint,
double * histog,
const float delta,
int first,
int last,
int step,
int * framecntr,
int usepbc,
int selupdate
)

void* measure_gofr_orth ( void * voidparms )

int measure_hbonds ( Molecule * mol,
AtomSel * sel1,
AtomSel * sel2,
double cutoff,
double maxangle,
int * donlist,
int * hydlist,
int * acclist,
int maxsize
)

int measure_inertia ( AtomSel * sel,
MoleculeList * mlist,
const float * coor,
float rcom[3],
float priaxes[3][3],
float itensor[4][4],
float evalue[3]
)

int measure_minmax ( int num,
const int * on,
const float * framepos,
const float * radii,
float * min_coord,
float * max_coord
)

int measure_move ( const AtomSel * sel,
float * framepos,
const Matrix4 & mat
)

int measure_rgyr ( const AtomSel * sel,
MoleculeList * mlist,
const float * weight,
float * rgyr
)

measure the radius of gyration, including the given weights.

Definition at line 737 of file Measure.C.

References AtomSel::coordinates, distance2, AtomSel::firstsel, AtomSel::lastsel, measure_center, MEASURE_ERR_BADWEIGHTSUM, MEASURE_ERR_GENERAL, MEASURE_ERR_NORGYR, MEASURE_ERR_NOSEL, MEASURE_NOERR, and AtomSel::on.

int measure_rmsd ( const AtomSel * sel1,
const AtomSel * sel2,
int num,
const float * framepos1,
const float * framepos2,
float * weight,
float * rmsd
)

int measure_rmsd_perresidue ( const AtomSel * sel1,
const AtomSel * sel2,
MoleculeList * mlist,
int num,
float * weight,
float * rmsd
)

int measure_rmsf ( const AtomSel * sel,
MoleculeList * mlist,
int start,
int end,
int step,
float * rmsf
)

int measure_rmsf_perresidue ( const AtomSel * sel,
MoleculeList * mlist,
int start,
int end,
int step,
float * rmsf
)

int measure_sasa ( const AtomSel * sel,
const float * framepos,
const float * radius,
float srad,
float * sasa,
ResizeArray< float > * sasapts,
const AtomSel * restrictsel,
const int * nsamples
)

int measure_sasa_perresidue ( const AtomSel * sel,
const float * framepos,
const float * radius,
float srad,
float * sasa,
ResizeArray< float > * sasapts,
const AtomSel * restrictsel,
const int * nsamples,
int * rescount,
MoleculeList * mlist
)

void* measure_sasa_thread ( void * voidparms ) [static]

int measure_sasalist ( MoleculeList * mlist,
const AtomSel ** sellist,
int numsels,
float srad,
float * sasalist,
const int * nsamples
)

int measure_sumweights ( const AtomSel * sel,
int numweights,
const float * weights,
float * weightsum
)

float min_dist_with_pbc ( const float * a,
const float * b,
const float * boxby2
) [static]

Definition at line 2050 of file Measure.C.

References fix_pbc_n_sqr.

Referenced by measure_gofr_orth.

Matrix4 myfit2 ( const float * x,
const float * y,
const float * comx,
const float * comy
) [static]

Definition at line 1066 of file Measure.C.

References Matrix4::translate, transvec, and transvecinv.

Referenced by measure_fit.

Matrix4 myfit3 ( const float * x1,
const float * x2,
const float * y1,
const float * y2,
const float * comx,
const float * comy
) [static]

int normal_atom_coord ( Molecule * mol,
int a,
float * pos
)

double spherical_cap ( const double & radius,
const double & boxby2
) [inline, static]

the volume of a sperical cap.

the volume of a spherical cap is defined as:

 pi / 9 * h^2 * (3 * r - h) 
with h = height of cap = radius - boxby2.

Definition at line 2063 of file Measure.C.

References VMD_PI.

int transvec ( const double * v,
Matrix4 & res
) [static]

Definition at line 1043 of file Measure.C.

References length, RADTODEG, Matrix4::rot, and z.

Referenced by myfit2.

int transvecinv ( const double * v,
Matrix4 & res
) [static]

Definition at line 1020 of file Measure.C.

References length, RADTODEG, Matrix4::rot, and z.

Referenced by myfit2, and myfit3.


Variable Documentation

const char* measure_error_messages[] [static]

Initial value:

 {
 "no atom selection", 
 "no atoms in selection", 
 "incorrect number of weights for selection", 
 "internal error: NULL pointer given", 
 "bad weight sum, would cause divide by zero", 
 "molecule was deleted(?)", 
 "cannot understand weight parameter", 
 "non-number given as parameter", 
 "two selections don't have the same number of atoms", 
 "internal error: out of range", 
 "no coordinates in selection", 
 "couldn't compute eigenvalue/vectors", 
 "unknown Tcl problem", 
 "no atom radii", 
 "order parameter contains out-of-range atom index", 
 "order parameter not supported in old RMS fit mode", 
 "specified frames are out of range", 
 "both selections must reference the same molecule", 
 "one atom appears twice in list", 
 "molecule contains no frames", 
 "invalid atom id", 
 "cutoff must be smaller than cell dimension", 
 "Zero volmap gridsize" 
}

Definition at line 39 of file Measure.C.

Referenced by measure_error.


Generated on Mon Nov 17 02:47:40 2025 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002

AltStyle によって変換されたページ (->オリジナル) /