Exemple #1
0
void read_trnheader(char *fn,t_trnheader *trn)
{
  int  fp;
  bool bOK;
  
  fp = open_trn(fn,"r");
  if (!do_trnheader(fp,TRUE,trn,&bOK))
    gmx_fatal(FARGS,"Empty file %s",fn);
  close_trn(fp);
}
Exemple #2
0
void read_trnheader(const char *fn,t_trnheader *trn)
{
  t_fileio *fio;
  gmx_bool bOK;
  
  fio = open_trn(fn,"r");
  if (!do_trnheader(fio,TRUE,trn,&bOK))
    gmx_fatal(FARGS,"Empty file %s",fn);
  close_trn(fio);
}
Exemple #3
0
static gmx_bool do_trn(t_fileio *fio, gmx_bool bRead, int *step, real *t, real *lambda,
                       rvec *box, int *natoms, rvec *x, rvec *v, rvec *f)
{
    t_trnheader *sh;
    gmx_bool     bOK;

    snew(sh, 1);
    if (!bRead)
    {
        sh->box_size = (box) ? sizeof(matrix) : 0;
        sh->x_size   = ((x) ? (*natoms*sizeof(x[0])) : 0);
        sh->v_size   = ((v) ? (*natoms*sizeof(v[0])) : 0);
        sh->f_size   = ((f) ? (*natoms*sizeof(f[0])) : 0);
        sh->natoms   = *natoms;
        sh->step     = *step;
        sh->nre      = 0;
        sh->t        = *t;
        sh->lambda   = *lambda;
    }
    if (!do_trnheader(fio, bRead, sh, &bOK))
    {
        return FALSE;
    }
    if (bRead)
    {
        *natoms = sh->natoms;
        *step   = sh->step;
        *t      = sh->t;
        *lambda = sh->lambda;
        if (sh->ir_size)
        {
            gmx_file("inputrec in trn file");
        }
        if (sh->e_size)
        {
            gmx_file("energies in trn file");
        }
        if (sh->top_size)
        {
            gmx_file("topology in trn file");
        }
        if (sh->sym_size)
        {
            gmx_file("symbol table in trn file");
        }
    }
    bOK = do_htrn(fio, sh, box, x, v, f);

    sfree(sh);

    return bOK;
}
Exemple #4
0
int read_trr_natoms(char *fn,int *natoms)
{
	XDRFILE *xd;
	t_trnheader sh;
	int  result;
	
	xd = xdrfile_open(fn,"r");
	if (NULL == xd)
		return exdrFILENOTFOUND;
	if ((result = do_trnheader(xd,1,&sh)) != exdrOK)
		return result;
	xdrfile_close(xd);
	*natoms = sh.natoms;
	
	return exdrOK;
}
Exemple #5
0
static int do_trn(XDRFILE *xd,mybool bRead,int *step,float *t,float *lambda,
				  matrix box,int *natoms,rvec *x,rvec *v,rvec *f)
{
    t_trnheader *sh;
    int result;
  
    sh = calloc(1,sizeof(*sh));
  
    if (!bRead) {
        sh->box_size = (NULL != box) ? sizeof(matrix):0;
        sh->x_size   = ((NULL != x) ? (*natoms*sizeof(x[0])):0);
        sh->v_size   = ((NULL != v) ? (*natoms*sizeof(v[0])):0);
        sh->f_size   = ((NULL != f) ? (*natoms*sizeof(f[0])):0);
        sh->natoms = *natoms;
        sh->step   = *step;
        sh->nre    = 0;
        sh->td      = *t;
        sh->lambdad = *lambda;
        sh->tf      = *t;
        sh->lambdaf = *lambda;
    }
    if ((result = do_trnheader(xd,bRead,sh)) != exdrOK)
        return result;

    if (bRead) {
        *natoms = sh->natoms;
        *step   = sh->step;
        *t      = sh->td;
        *lambda = sh->lambdad;
    }
    if ((result = do_htrn(xd,bRead,sh,box,x,v,f)) != exdrOK)
        return result;

    free(sh);
  
    return exdrOK;
}
Exemple #6
0
gmx_bool fread_trnheader(t_fileio *fio, t_trnheader *trn, gmx_bool *bOK)
{
    return do_trnheader(fio, TRUE, trn, bOK);
}
Exemple #7
0
bool fread_trnheader(int fp,t_trnheader *trn, bool *bOK)
{
  return do_trnheader(fp,TRUE,trn,bOK);
}