Ignore:
Timestamp:
Feb 21, 2010, 1:34:41 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
b1d8ab5
Parents:
1074cb
Message:

Filling has a MaxDistance, somes changes to the Correlation Analysis.

Correlation:

  • OutputCorrelation() have setprecision(8), as irregularities appeared in the output files with regard to the number of digits.
  • ParseCommandLineOptions() for case 'C' now needs BinStart and BinEnd. However, may be set to 0,0 (search for yourself), or (0,-1) (start at 0, but search end for yourself).
  • BUGFIX: argument index of element parameter was wrong from the change [E/P/S].

Filling:

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/boundary.cpp

    r1074cb r850e50  
    789789 * \param *filler molecule which the box is to be filled with
    790790 * \param configuration contains box dimensions
     791 * \param MaxDistance fills in molecules only up to this distance (set to -1 if whole of the domain)
    791792 * \param distance[NDIM] distance between filling molecules in each direction
    792793 * \param boundary length of boundary zone between molecule and filling mollecules
     
    797798 * \return *mol pointer to new molecule with filled atoms
    798799 */
    799 molecule * FillBoxWithMolecule(MoleculeListClass *List, molecule *filler, config &configuration, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const bool DoRandomRotation)
     800molecule * FillBoxWithMolecule(MoleculeListClass *List, molecule *filler, config &configuration, const double MaxDistance, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const bool DoRandomRotation)
    800801{
    801802        Info FunctionInfo(__func__);
     
    862863          } else {
    863864            const double distance = (TesselStruct[i]->GetDistanceSquaredToSurface(CurrentPosition, LCList[i]));
    864             FillIt = FillIt && (distance > boundary*boundary);
     865            FillIt = FillIt && (distance > boundary*boundary) && ((MaxDistance < 0) || (MaxDistance*MaxDistance > distance));
    865866            if (FillIt) {
    866867              Log() << Verbose(1) << "INFO: Position at " << CurrentPosition << " is outer point." << endl;
    867868            } else {
    868               Log() << Verbose(1) << "INFO: Position at " << CurrentPosition << " is inner point or within boundary." << endl;
     869              Log() << Verbose(1) << "INFO: Position at " << CurrentPosition << " is inner point, within boundary or outside of MaxDistance." << endl;
    869870              break;
    870871            }
Note: See TracChangeset for help on using the changeset viewer.