Source code for pycif.plugins.models.lagrangian.perturb_model
import copy
from ....utils.classes.chemistries import Chemistry
[docs]
def perturb_model(self, nsamples, transf_mapper):
# Perturb active species in the chemical scheme
list_acspecies = copy.deepcopy(self.chemistry.acspecies.attributes[:])
self.perturbed_species = {}
for ispec, spec in enumerate(list_acspecies):
for i in range(nsamples):
spec_sample = "{}__sample#{:03d}".format(spec, i)
spec_plg = getattr(self.chemistry.acspecies, spec)
setattr(
self.chemistry.acspecies, spec_sample,
Chemistry(plg_orig=spec_plg)
)
self.chemistry.acspecies.attributes.append(spec_sample)
self.perturbed_species[spec_sample] = spec
delattr(self.chemistry.acspecies, spec)
self.chemistry.acspecies.attributes.remove(spec)