Skip to content
Snippets Groups Projects

Dataclasses for method creation

Merged Markus Holzer requested to merge FixPystencilUpdate into master
Viewing commit a3330bb1
Show latest version
1 file
+ 24
26
Preferences
Compare changes
+ 24
26
@@ -704,32 +704,30 @@ class LBMConfig:
self.force_model = cumulant_force_model.CenteredCumulantForceModel \
if self.method == Method.CUMULANT else forcemodels.Guo
if self.force_model is not None and not issubclass(self.force_model, AbstractForceModel):
if isinstance(self.force_model, str):
new_force_model = ForceModel[self.force_model.upper()]
warnings.warn(f'ForceModel "{self.force_model}" as str is deprecated. Use {new_force_model} instead or '
f'provide a class of type AbstractForceModel',
category=DeprecationWarning)
elif isinstance(self.force_model, ForceModel):
new_force_model = self.force_model
else:
raise ValueError("Force model can either be provides as type of class AbstractForceModel, as type "
"of Enum ForceModel or as string")
force_model_dict = {
'simple': forcemodels.Simple,
'luo': forcemodels.Luo,
'guo': forcemodels.Guo,
'schiller': forcemodels.Guo,
'buick': forcemodels.Buick,
'silva': forcemodels.Buick,
'edm': forcemodels.EDM,
'kupershtokh': forcemodels.EDM,
'cumulant': cumulant_force_model.CenteredCumulantForceModel,
'he': forcemodels.He,
'shanchen': forcemodels.ShanChen
}
self.force_model = force_model_dict[new_force_model.name.lower()]
force_model_dict = {
'simple': forcemodels.Simple,
'luo': forcemodels.Luo,
'guo': forcemodels.Guo,
'schiller': forcemodels.Guo,
'buick': forcemodels.Buick,
'silva': forcemodels.Buick,
'edm': forcemodels.EDM,
'kupershtokh': forcemodels.EDM,
'cumulant': cumulant_force_model.CenteredCumulantForceModel,
'he': forcemodels.He,
'shanchen': forcemodels.ShanChen
}
if isinstance(self.force_model, str):
new_force_model = ForceModel[self.force_model.upper()]
warnings.warn(f'ForceModel "{self.force_model}" as str is deprecated. Use {new_force_model} instead or '
f'provide a class of type AbstractForceModel',
category=DeprecationWarning)
force_model_class = force_model_dict[new_force_model.name.lower()]
self.force_model = force_model_class(force=self.force)
elif isinstance(self.force_model, ForceModel):
force_model_class = force_model_dict[new_force_model.name.lower()]
self.force_model = force_model_class(force=self.force)
@dataclass