Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | 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 46 of file Output.C.

#define NAMD_write   NAMD_write64
 

Definition at line 49 of file Output.C.

#define namdMyNode   Node::Object()
 

Definition at line 72 of file Output.C.

#define O_LARGEFILE   0x0
 

Definition at line 67 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 45 of file Output.C.

#define pdbData   pdb
 

Definition at line 74 of file Output.C.

#define RAD2DEG   180.0/3.14159265359
 

Definition at line 554 of file Output.C.

#define simParams   simParameters
 

Definition at line 73 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(), ComputeRestraints::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(), HomePatch::hardWallDrude(), OptPmeMgr::initialize(), LdbCoordinator::initialize(), GridforceLiteGrid::initialize(), GridforceFullSubGrid::initialize(), GridforceFullMainGrid::initialize(), ComputePmeMgr::initialize(), ComputeMsmMgr::initialize(), ComputePmeMgr::initialize_computes(), OptPmeMgr::initialize_pencils(), ComputePmeMgr::initialize_pencils(), initializePmeGrid(), ComputePmeMgr::isPmeProcessor(), 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(), ComputeFmmSerialMgr::recvCoord(), ComputeExtMgr::recvCoord(), OptPmeMgr::recvEvir(), ComputeNonbondedCUDA::recvYieldDevice(), ComputeNonbondedCUDA::registerPatches(), GridforceLiteGrid::reinitialize(), GridforceFullMainGrid::reinitialize(), ScriptTcl::run(), ComputeNonbondedUtil::select(), SELF(), Sequencer::Sequencer(), HomePatch::setGBISIntrinsicRadii(), NamdCentLB::Strategy(), OptPmeXPencil::submit_evir(), ComputePmeMgr::submitReductions(), ComputePme::ungridForces(), OptPmeCompute::ungridForces_compute(), OptPmeCompute::ungridForces_finalize(), 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 51 of file Output.C.

References NAMD_bug(), and NAMD_err().

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

void wrap_coor FloatVector coor,
Lattice lattice,
float *  done
 

Definition at line 190 of file Output.C.

References wrap_coor_int().

Referenced by Output::coordinate().

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

void wrap_coor Vector coor,
Lattice lattice,
double *  done
 

Definition at line 186 of file Output.C.

References wrap_coor_int().

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

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

Definition at line 154 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().

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


Generated on Tue Jun 18 04:07:51 2013 for NAMD by  doxygen 1.3.9.1