def __init__(self, E1, SE1, E2, SE2, name=None, tex_name=None, info=None): Block.__init__(self, name=name, tex_name=tex_name, info=info) self._E1 = dummify(E1) self._E2 = dummify(E2) self._SE1 = SE1 self._SE2 = SE2 self.zSE2 = FlagValue(self._SE2, value=0., info='Flag non-zeros in SE2', tex_name='z^{SE2}') # data correction for E1, E2, SE1 (TODO) self.E1 = ConstService( tex_name='E^{1c}', info='Corrected E1 data', ) self.E2 = ConstService( tex_name='E^{2c}', info='Corrected E2 data', ) self.SE1 = ConstService( tex_name='SE^{1c}', info='Corrected SE1 data', ) self.SE2 = ConstService( tex_name='SE^{2c}', info='Corrected SE2 data', ) self.a = ConstService( info='Intermediate Sat coeff', tex_name='a', ) self.A = ConstService( info='Saturation start', tex_name='A^q', ) self.B = ConstService( info='Saturation gain', tex_name='B^q', ) self.vars = { 'E1': self.E1, 'E2': self.E2, 'SE1': self.SE1, 'SE2': self.SE2, 'zSE2': self.zSE2, 'a': self.a, 'A': self.A, 'B': self.B, }
def __init__(self, E1, SE1, E2, SE2, name=None, tex_name=None, info=None): Block.__init__(self, name=name, tex_name=tex_name, info=info) self._E1 = E1 self._E2 = E2 self._SE1 = SE1 self._SE2 = SE2 self.zE1 = FlagValue( self._E1, value=0., info='Flag non-zeros in E1', tex_name='z^{E1}', ) self.zE2 = FlagValue( self._E2, value=0., info='Flag non-zeros in E2', tex_name='z^{E2}', ) self.zSE1 = FlagValue( self._SE1, value=0., info='Flag non-zeros in SE1', tex_name='z^{SE1}', ) self.zSE2 = FlagValue(self._SE2, value=0., info='Flag non-zeros in SE2', tex_name='z^{SE2}') # disallow E1 = E2 != 0 since the curve fitting will fail self.E12c = InitChecker( self._E1, not_equal=self._E2, info='E1 and E2 after correction', error_out=True, ) # data correction for E1, E2, SE1 self.E1 = ConstService( tex_name='E^{1c}', info='Corrected E1 data', ) self.E2 = ConstService( tex_name='E^{2c}', info='Corrected E2 data', ) self.SE1 = ConstService( tex_name='SE^{1c}', info='Corrected SE1 data', ) self.SE2 = ConstService( tex_name='SE^{2c}', info='Corrected SE2 data', ) self.A = ConstService( info='Saturation gain', tex_name='A^e', ) self.B = ConstService( info='Exponential coef. in saturation', tex_name='B^e', ) self.vars = { 'E1': self.E1, 'E2': self.E2, 'SE1': self.SE1, 'SE2': self.SE2, 'zE1': self.zE1, 'zE2': self.zE2, 'zSE1': self.zSE1, 'zSE2': self.zSE2, 'A': self.A, 'B': self.B, }