Changeset 40fff1
- Timestamp:
- Feb 24, 2013, 12:57:42 PM (12 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- 19fa3b
- Parents:
- 4ffbb7
- git-author:
- Frederik Heber <heber@…> (10/10/12 23:46:30)
- git-committer:
- Frederik Heber <heber@…> (02/24/13 12:57:42)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/LevMartester.cpp
r4ffbb7 r40fff1 63 63 #include "Helpers/defs.hpp" 64 64 #include "Potentials/Specifics/PairPotential_Morse.hpp" 65 #include "Potentials/Specifics/ ManyBodyPotential_Tersoff.hpp"65 #include "Potentials/Specifics/SaturationPotential.hpp" 66 66 67 67 namespace po = boost::program_options; … … 330 330 } 331 331 332 /******************* TERSOFFTRAINING *******************/333 FunctionModel::parameters_t params( ManyBodyPotential_Tersoff::MAXPARAMS, 0.);332 /******************* SATURATION TRAINING *******************/ 333 FunctionModel::parameters_t params(SaturationPotential::MAXPARAMS, 0.); 334 334 { 335 335 // then we ought to pick the right HomologyGraph ... … … 376 376 boost::bind(&getTripleFromArgument, DistanceEnergyVector.first, _1, _2); 377 377 srand((unsigned)time(0)); // seed with current time 378 // params[ManyBodyPotential_Tersoff::R] = 1./AtomicLengthToAngstroem; 379 // params[ManyBodyPotential_Tersoff::S] = 2./AtomicLengthToAngstroem; 380 params[ManyBodyPotential_Tersoff::A] = 1e+4*rand()/(double)RAND_MAX;//1.393600e+03; 381 params[ManyBodyPotential_Tersoff::B] = 1e+4*rand()/(double)RAND_MAX;//3.467000e+02; 382 params[ManyBodyPotential_Tersoff::lambda] = 1e+1*rand()/(double)RAND_MAX;//3.487900e+00; 383 params[ManyBodyPotential_Tersoff::mu] = 1e+1*rand()/(double)RAND_MAX;//2.211900e+00; 384 // params[ManyBodyPotential_Tersoff::lambda3] = 0.; 385 // params[ManyBodyPotential_Tersoff::alpha] = 0.; 386 params[ManyBodyPotential_Tersoff::beta] = 1e-1*rand()/(double)RAND_MAX;//1.572400e-07; 387 // params[ManyBodyPotential_Tersoff::chi] = 1.; 388 // params[ManyBodyPotential_Tersoff::omega] = 1.; 389 params[ManyBodyPotential_Tersoff::n] = 1e+1*rand()/(double)RAND_MAX;//7.275100e-01; 390 params[ManyBodyPotential_Tersoff::c] = 1e+1*rand()/(double)RAND_MAX;//3.804900e+04; 391 params[ManyBodyPotential_Tersoff::d] = 1e+1*rand()/(double)RAND_MAX;//4.384000e+00; 392 params[ManyBodyPotential_Tersoff::h] = 1e+1*rand()/(double)RAND_MAX;//-5.705800e-01; 393 ManyBodyPotential_Tersoff tersoff(triplefunction); 394 tersoff.setParameters(params); 395 FunctionModel &model = tersoff; 378 LOG(0, "INFO: Initial parameters are " << params << "."); 379 380 SaturationPotential saturation(triplefunction); 381 saturation.setParameters(params); 382 FunctionModel &model = saturation; 396 383 FunctionApproximation approximator( 397 384 DistanceEnergyVector.first.begin()->size(), … … 403 390 else 404 391 ELOG(0, "We require parameter derivatives for a box constraint minimization."); 392 405 393 params = model.getParameters(); 406 394 407 395 LOG(0, "RESULT: Best parameters are " << params << "."); 408 396 409 std::cout << "\ttersoffparticle:"; 410 std::cout << "\tparticle_type=C,"; 411 std::cout << "\tA=" << params[ManyBodyPotential_Tersoff::A] << ","; 412 std::cout << "\tB=" << params[ManyBodyPotential_Tersoff::B] << ","; 413 std::cout << "\tlambda=" << params[ManyBodyPotential_Tersoff::lambda] << ","; 414 std::cout << "\tmu=" << params[ManyBodyPotential_Tersoff::mu] << ","; 415 std::cout << "\tbeta=" << params[ManyBodyPotential_Tersoff::beta] << ","; 416 std::cout << "\tn=" << params[ManyBodyPotential_Tersoff::n] << ","; 417 std::cout << "\tc=" << params[ManyBodyPotential_Tersoff::c] << ","; 418 std::cout << "\td=" << params[ManyBodyPotential_Tersoff::d] << ","; 419 std::cout << "\th=" << params[ManyBodyPotential_Tersoff::h] << ","; 420 std::cout << "\tR=" << tersoff.R << ","; 421 std::cout << "\tS=" << tersoff.S << ";"; 422 std::cout << std::endl; 397 // std::cout << "\tsaturationparticle:"; 398 // std::cout << "\tparticle_type=C,"; 399 // std::cout << "\tA=" << params[SaturationPotential::A] << ","; 400 // std::cout << "\tB=" << params[SaturationPotential::B] << ","; 401 // std::cout << "\tlambda=" << params[SaturationPotential::lambda] << ","; 402 // std::cout << "\tmu=" << params[SaturationPotential::mu] << ","; 403 // std::cout << "\tbeta=" << params[SaturationPotential::beta] << ","; 404 // std::cout << "\tn=" << params[SaturationPotential::n] << ","; 405 // std::cout << "\tc=" << params[SaturationPotential::c] << ","; 406 // std::cout << "\td=" << params[SaturationPotential::d] << ","; 407 // std::cout << "\th=" << params[SaturationPotential::h] << ","; 408 //// std::cout << "\toffset=" << params[SaturationPotential::offset] << ","; 409 // std::cout << "\tR=" << saturation.R << ","; 410 // std::cout << "\tS=" << saturation.S << ";"; 411 // std::cout << std::endl; 423 412 424 413 // check L2 and Lmax error against training set
Note:
See TracChangeset
for help on using the changeset viewer.