Skip to content
Snippets Groups Projects
Commit 34d091a1 authored by cmaffeo2's avatar cmaffeo2
Browse files

added configuration syntax for specifying gridFileScale for particles

parent 4650488b
No related branches found
No related tags found
No related merge requests found
...@@ -149,6 +149,8 @@ Configuration::Configuration(const char* config_file, int simNum, bool debug) : ...@@ -149,6 +149,8 @@ Configuration::Configuration(const char* config_file, int simNum, bool debug) :
if (len >= 3 && map[len-3]=='.' && map[len-2]=='d' && map[len-1]=='x') { if (len >= 3 && map[len-3]=='.' && map[len-2]=='d' && map[len-1]=='x') {
// A dx file. Load the old-fashioned way. // A dx file. Load the old-fashioned way.
part[i].pmf = new BaseGrid(map.val()); part[i].pmf = new BaseGrid(map.val());
if (partGridFileScale[i] != 1.0f) part[i].pmf->scale(partGridFileScale[i]);
part[i].meanPmf = part[i].pmf->mean(); part[i].meanPmf = part[i].pmf->mean();
printf("Loaded dx grid `%s'.\n", map.val()); printf("Loaded dx grid `%s'.\n", map.val());
printf("System size %s.\n", part[i].pmf->getExtent().toString().val()); printf("System size %s.\n", part[i].pmf->getExtent().toString().val());
...@@ -382,6 +384,7 @@ Configuration::~Configuration() { ...@@ -382,6 +384,7 @@ Configuration::~Configuration() {
// Particle parameters // Particle parameters
delete[] part; delete[] part;
delete[] partGridFile; delete[] partGridFile;
delete[] partGridFileScale;
delete[] partForceXGridFile; delete[] partForceXGridFile;
delete[] partForceYGridFile; delete[] partForceYGridFile;
delete[] partForceZGridFile; delete[] partForceZGridFile;
...@@ -595,6 +598,7 @@ int Configuration::readParameters(const char * config_file) { ...@@ -595,6 +598,7 @@ int Configuration::readParameters(const char * config_file) {
// Allocate the particle variables. // Allocate the particle variables.
part = new BrownianParticleType[numParts]; part = new BrownianParticleType[numParts];
partGridFile = new String[numParts]; partGridFile = new String[numParts];
partGridFileScale = new float[numParts];
partForceXGridFile = new String[numParts]; partForceXGridFile = new String[numParts];
partForceYGridFile = new String[numParts]; partForceYGridFile = new String[numParts];
partForceZGridFile = new String[numParts]; partForceZGridFile = new String[numParts];
...@@ -610,6 +614,11 @@ int Configuration::readParameters(const char * config_file) { ...@@ -610,6 +614,11 @@ int Configuration::readParameters(const char * config_file) {
// Allocate rigid body types // Allocate rigid body types
rigidBody = new RigidBodyType[numRigidTypes]; rigidBody = new RigidBodyType[numRigidTypes];
// Set a default
for (int i = 0; i < numParts; ++i) {
partGridFileScale[i] = 1.0f;
}
int btfcap = 10; int btfcap = 10;
bondTableFile = new String[btfcap]; bondTableFile = new String[btfcap];
...@@ -782,6 +791,8 @@ int Configuration::readParameters(const char * config_file) { ...@@ -782,6 +791,8 @@ int Configuration::readParameters(const char * config_file) {
} }
if (readDihedralFile(value, ++currDihedral)) if (readDihedralFile(value, ++currDihedral))
numTabDihedralFiles++; numTabDihedralFiles++;
} else if (param == String("gridFileScale")) {
partGridFileScale[currPart] = (float) strtod(value.val(), NULL);
} else if (param == String("rigidBodyPotential")) { } else if (param == String("rigidBodyPotential")) {
partRigidBodyGrid[currPart].push_back(value); partRigidBodyGrid[currPart].push_back(value);
} }
......
...@@ -180,6 +180,7 @@ public: ...@@ -180,6 +180,7 @@ public:
bool readAnglesFromFile; bool readAnglesFromFile;
bool readDihedralsFromFile; bool readDihedralsFromFile;
String* partGridFile; String* partGridFile;
float* partGridFileScale;
std::vector< std::vector<String> > partRigidBodyGrid; std::vector< std::vector<String> > partRigidBodyGrid;
String* partDiffusionGridFile; String* partDiffusionGridFile;
String* partForceXGridFile; String* partForceXGridFile;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment