public Material DeepClone(DopingType dopingType) { var semiconductor = new Semiconductor { DielectricConstant = DielectricConstant, BandGap = BandGap.DeepClone(), ElectronAffinity = ElectronAffinity, DopingType = dopingType, DopantConcentration = DopantConcentration.DeepClone(), IntrinsicCarrierConcentration = IntrinsicCarrierConcentration.DeepClone(), Temperature = Temperature }; InitClone(semiconductor, Length.FromMicrometers(50)); semiconductor.Prepare(); return(semiconductor); }