int main(){ int a = 0; Energy *energy0 = calloc(sizeof(Energy), 1); Energy *energy1 = calloc(sizeof(Energy), 1); //Energy *energy2 = calloc(sizeof(Energy), 1); initEnergy(energy0, 1); initEnergy(energy1, 1); //initEnergy(energy2, 1); setSensor(energy0, "ACa", "A", "", "/dev/ttyACM0"); setSensor(energy1, "ACb", "B", "", "/dev/ttyACM0"); //setSensor(energy5, "AC ", "C", "", "/dev/ttyACM0"); setTimer(energy0, 10); setTimer(energy1, 10); //setTimer(energy2, 10); startEnergy(energy0); startEnergy(energy1); //startEnergy(energy2); while(a < 60){ //system("clear"); printEnergy(energy0); printEnergy(energy1); //printEnergy(energy2); a ++; sleep(10); } //system("clear"); printf("stop \n"); stopEnergy(energy0); stopEnergy(energy1); //stopEnergy(energy2); sleep(6); printEnergy(energy0); printEnergy(energy1); //printEnergy(energy2); }
void EnergyMinimizer::finishIteration() { // Perform a force field update in regular intervals // or if the movement of some atoms during the last step // has been too large (to update the pair list) float max = 0.f; for(Size i = 0; i < direction_.size(); ++i) { float tmp = direction_[i].getSquareLength(); if (tmp > max) { max = tmp; } } max = step_*sqrt(max); if (((force_field_->getUpdateFrequency() != 0) && (number_of_iterations_ % force_field_->getUpdateFrequency() == 0)) || (max > 8.)) { force_field_->update(); //initial_grad_.invalidate(); } // Take a snapshot of the system every snapshot_frequency_ iterations. if ((snapshot_ != 0) && (snapshot_frequency_ != 0) && (number_of_iterations_ % snapshot_frequency_ == 0)) { takeSnapShot(); } // print the energy every energy_output_frequency_ iterations if ((energy_output_frequency_ != 0) && (number_of_iterations_ % energy_output_frequency_ == 0)) { printEnergy(); } // Check whether there the new energy and the old energy differ // significantly if (fabs(initial_energy_ - old_energy_) < energy_difference_bound_) { // count if there is the same energy between last iteration and // this iteration same_energy_counter_++; } else { same_energy_counter_ = 0; } // Increment the iteration counter ++number_of_iterations_; }