Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

Output.C File Reference

#include "largefiles.h"
#include <string.h>
#include <stdlib.h>
#include "InfoStream.h"
#include "IMDOutput.h"
#include "Output.h"
#include "dcdlib.h"
#include "strlib.h"
#include "Molecule.h"
#include "Node.h"
#include "Parameters.h"
#include "PDB.h"
#include "SimParameters.h"
#include "Vector.h"
#include "structures.h"
#include "MStream.h"
#include "Communicate.h"
#include "PatchMap.h"
#include "PatchMap.inl"
#include "ScriptTcl.h"
#include "Lattice.h"
#include <fcntl.h>
#include <sys/stat.h>

Go to the source code of this file.

Defines

#define PATHSEPSTR   "/"
#define MKDIR(X)   mkdir(X,0777)
#define NAMD_write   NAMD_write64
#define O_LARGEFILE   0x0
#define namdMyNode   Node::Object()
#define simParams   simParameters
#define pdbData   pdb
#define RAD2DEG   180.0/3.14159265359

Functions

void NAMD_write (int fd, const char *buf, size_t count, const char *errmsg="NAMD_write64")
template<class xVector, class xDone>
void wrap_coor_int (xVector *coor, Lattice &lattice, xDone *done)
void wrap_coor (Vector *coor, Lattice &lattice, double *done)
void wrap_coor (FloatVector *coor, Lattice &lattice, float *done)


Define Documentation

#define MKDIR  )     mkdir(X,0777)
 

Definition at line 45 of file Output.C.

#define NAMD_write   NAMD_write64
 

Definition at line 48 of file Output.C.

#define namdMyNode   Node::Object()
 

Definition at line 71 of file Output.C.

#define O_LARGEFILE   0x0
 

Definition at line 66 of file Output.C.

#define PATHSEPSTR   "/"
 

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 44 of file Output.C.

#define pdbData   pdb
 

Definition at line 73 of file Output.C.

#define RAD2DEG   180.0/3.14159265359
 

Definition at line 553 of file Output.C.

#define simParams   simParameters
 

Definition at line 72 of file Output.C.

Referenced by HomePatch::addForceToMomentum(), HomePatch::addVelocityToPosition(), ComputeCylindricalBC::ComputeCylindricalBC(), BondElem::computeForce(), ComputeFullDirect::ComputeFullDirect(), ComputeLCPO::ComputeLCPO(), ComputeMsm::ComputeMsm(), ComputePme::ComputePme(), ComputeRestraints::ComputeRestraints(), ComputeSphericalBC::ComputeSphericalBC(), ComputeStir::ComputeStir(), ComputeTclBC::ComputeTclBC(), Controller::Controller(), Output::coordinate(), Output::coordinateNeeded(), ComputeMgr::createComputes(), LdbCoordinator::createLoadBalancer(), ComputeStir::doForce(), ComputeNonbondedSelf::doForce(), ComputeNonbondedPair::doForce(), ComputeGridForce::doForce(), ComputeEField::doForce(), ComputeConsTorque::doForce(), HomePatch::doGroupSizeCheck(), HomePatch::doMarginCheck(), HomePatch::doPairlistCheck(), ComputeTclBC::doWork(), ComputeNonbondedCUDA::doWork(), ComputeGBISser::doWork(), dumpbench(), OptPmeXPencil::fft_init(), OptPmeYPencil::fft_init(), OptPmeZPencil::fft_init(), PmeXPencil::fft_init(), PmeYPencil::fft_init(), PmeZPencil::fft_init(), ComputeNonbondedCUDA::finishWork(), Output::force(), Output::forceNeeded(), HomePatch::gbisComputeAfterP1(), HomePatch::gbisComputeAfterP2(), ComputePmeMgr::gridCalc2(), OptPmeMgr::initialize(), LdbCoordinator::initialize(), GridforceLiteGrid::initialize(), GridforceFullSubGrid::initialize(), GridforceFullMainGrid::initialize(), ComputePmeMgr::initialize(), ComputeMsmMgr::initialize(), OptPmeMgr::initialize_pencils(), ComputePmeMgr::initialize_pencils(), initializePmeGrid(), HomePatch::loweAndersenVelocities(), WorkDistrib::mapComputes(), Molecule::Molecule(), HomePatch::mollyAverage(), HomePatch::mollyMollify(), NamdHybridLB::NamdHybridLB(), GridforceGrid::new_grid(), ComputeNonbondedCUDA::noWork(), Molecule::num_deg_freedom(), Molecule::num_fixed_atoms(), Molecule::num_group_deg_freedom(), OptPmeCompute::OptPmeCompute(), Parameters::Parameters(), HomePatch::positionsReady(), HomePatch::rattle1(), HomePatch::rattle2(), Parameters::read_ener_table(), ComputeMsmSerialMgr::recvCoord(), ComputeExtMgr::recvCoord(), OptPmeMgr::recvEvir(), ComputeNonbondedCUDA::recvYieldDevice(), ComputeNonbondedCUDA::registerPatches(), GridforceLiteGrid::reinitialize(), GridforceFullMainGrid::reinitialize(), ScriptTcl::run(), ComputeNonbondedUtil::select(), SELF(), Sequencer::Sequencer(), HomePatch::setGBISIntrinsicRadii(), NamdCentLB::Strategy(), OptPmeCompute::ungridForces(), ComputePme::ungridForces(), ComputeMgr::updateLocalComputes4(), Output::velocity(), Output::velocityNeeded(), and wrap_coor_int().


Function Documentation

void NAMD_write int  fd,
const char *  buf,
size_t  count,
const char *  errmsg = "NAMD_write64"
 

Definition at line 50 of file Output.C.

References NAMD_bug(), and NAMD_err().

00050                                                                                           {
00051   while ( count ) {
00052 #if defined(WIN32) && !defined(__CYGWIN__)
00053     long retval = _write(fd,buf,count);
00054 #else
00055     ssize_t retval = write(fd,buf,count);
00056 #endif
00057     if ( retval < 0 && errno == EINTR ) retval = 0;
00058     if ( retval < 0 ) NAMD_err(errmsg);
00059     if ( retval > count ) NAMD_bug("extra bytes written in NAMD_write64()");
00060     buf += retval;
00061     count -= retval;
00062   }
00063 }

void wrap_coor FloatVector coor,
Lattice lattice,
float *  done
 

Definition at line 189 of file Output.C.

References wrap_coor_int().

Referenced by Output::coordinate().

00189                                                                  {
00190   wrap_coor_int(coor,lattice,done);
00191 };

void wrap_coor Vector coor,
Lattice lattice,
double *  done
 

Definition at line 185 of file Output.C.

References wrap_coor_int().

00185                                                              {
00186   wrap_coor_int(coor,lattice,done);
00187 };

template<class xVector, class xDone>
void wrap_coor_int xVector *  coor,
Lattice lattice,
xDone *  done
 

Definition at line 153 of file Output.C.

References Molecule::get_cluster(), Molecule::get_clusterSize(), Molecule::is_water(), Node::molecule, Molecule::numAtoms, Node::Object(), Position, Node::simParameters, simParams, Lattice::wrap_delta(), Lattice::wrap_nearest_delta(), SimParameters::wrapAll, SimParameters::wrapNearest, and SimParameters::wrapWater.

Referenced by wrap_coor().

00153                                                                  {
00154   SimParameters *simParams = Node::Object()->simParameters;
00155   if ( *done ) return;
00156   *done = 1;
00157   if ( ! ( simParams->wrapAll || simParams->wrapWater ) ) return;
00158   const int wrapNearest = simParams->wrapNearest;
00159   const int wrapAll = simParams->wrapAll;
00160   Molecule *molecule = Node::Object()->molecule;
00161   int n = molecule->numAtoms;
00162   int i;
00163 #ifndef MEM_OPT_VERSION
00164   Position *con = new Position[n];
00165   for ( i = 0; i < n; ++i ) {
00166     con[i] = 0;
00167     int ci = molecule->get_cluster(i);
00168     con[ci] += coor[i];
00169   }
00170   for ( i = 0; i < n; ++i ) {
00171     if ( ! wrapAll && ! molecule->is_water(i) ) continue;
00172     int ci = molecule->get_cluster(i);
00173     if ( ci == i ) {
00174       Vector coni = con[i] / molecule->get_clusterSize(i);
00175       Vector trans = ( wrapNearest ?
00176         lattice.wrap_nearest_delta(coni) : lattice.wrap_delta(coni) );
00177       con[i] = trans;
00178     }
00179     coor[i] = coor[i] + con[ci];
00180   }
00181   delete [] con;
00182 #endif
00183 }


Generated on Fri May 25 04:07:18 2012 for NAMD by  doxygen 1.3.9.1