Changeset e83114 for src/Potentials/PotentialFactory.cpp
- Timestamp:
- Aug 30, 2025, 2:41:40 PM (8 weeks ago)
- Branches:
- Candidate_v1.7.0, stable
- Children:
- a0d8aa
- Parents:
- 72b6d7
- git-author:
- Frederik Heber <frederik.heber@…> (08/16/25 10:32:39)
- git-committer:
- Frederik Heber <frederik.heber@…> (08/30/25 14:41:40)
- File:
-
- 1 edited
-
src/Potentials/PotentialFactory.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/Potentials/PotentialFactory.cpp
r72b6d7 re83114 137 137 } 138 138 139 EmpiricalPotential* PotentialFactory::getDefaultPotential(const std::string &_name) const 140 { 141 EmpiricalPotential *potential = NULL; 142 switch (getTypeForName(_name)) { 139 EmpiricalPotential *PotentialFactory::createInstance( 140 const std::string &potentialtype, 141 const SerializablePotential::ParticleTypes_t &types, 142 const FunctionModel::parameters_t ¶ms) const 143 { 144 EmpiricalPotential *potential = NULL; 145 switch (getTypeForName(potentialtype)) { 143 146 case constant: 144 potential = new ConstantPotential();145 break;147 potential = new ConstantPotential(types); 148 break; 146 149 case tersoff: 147 potential = new ManyBodyPotential_Tersoff();148 break;150 potential = new ManyBodyPotential_Tersoff(types); 151 break; 149 152 case morse: 150 potential = new PairPotential_Morse();151 break;153 potential = new PairPotential_Morse(types); 154 break; 152 155 case harmonic_bond: 153 potential = new PairPotential_Harmonic();154 break;156 potential = new PairPotential_Harmonic(types); 157 break; 155 158 case harmonic_angle: 156 potential = new ThreeBodyPotential_Angle();157 break;159 potential = new ThreeBodyPotential_Angle(types); 160 break; 158 161 case lennardjones: 159 potential = new PairPotential_LennardJones();160 break;162 potential = new PairPotential_LennardJones(types); 163 break; 161 164 case torsion: 162 potential = new FourBodyPotential_Torsion();163 break;165 potential = new FourBodyPotential_Torsion(types); 166 break; 164 167 case improper: 165 potential = new FourBodyPotential_Improper();166 break;168 potential = new FourBodyPotential_Improper(types); 169 break; 167 170 default: 168 171 ASSERT(0, "PotentialFactory::createInstance() - unknown potential desired to create."); 169 172 break; 170 173 } 174 if (potential != NULL) 175 potential->setParameters(params); 171 176 return potential; 177 } 178 179 EmpiricalPotential* PotentialFactory::getDefaultPotential(const std::string &_name) const 180 { 181 switch (getTypeForName(_name)) { 182 case constant: 183 return new ConstantPotential(); 184 case tersoff: 185 return new ManyBodyPotential_Tersoff(); 186 case morse: 187 return new PairPotential_Morse(); 188 case harmonic_bond: 189 return new PairPotential_Harmonic(); 190 case harmonic_angle: 191 return new ThreeBodyPotential_Angle(); 192 case lennardjones: 193 return new PairPotential_LennardJones(); 194 case torsion: 195 return new FourBodyPotential_Torsion(); 196 case improper: 197 return new FourBodyPotential_Improper(); 198 default: 199 ASSERT(0, "PotentialFactory::createInstance() - unknown potential desired to create."); 200 break; 201 } 202 return NULL; 172 203 } 173 204
Note:
See TracChangeset
for help on using the changeset viewer.
