當前位置: 首頁>>代碼示例>>Python>>正文


Python Structure.group_atoms方法代碼示例

本文整理匯總了Python中structure.Structure.group_atoms方法的典型用法代碼示例。如果您正苦於以下問題:Python Structure.group_atoms方法的具體用法?Python Structure.group_atoms怎麽用?Python Structure.group_atoms使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在structure.Structure的用法示例。


在下文中一共展示了Structure.group_atoms方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: PhysicalSystem

# 需要導入模塊: from structure import Structure [as 別名]
# 或者: from structure.Structure import group_atoms [as 別名]

#.........這裏部分代碼省略.........
            else:
                self.error(ion+' is not in the physical system',exit=False)
                errors = True
            #end if
        #end for
        if errors:
            self.error('system cannot be generated')
        #end if
        self.valency = obj(**valency)
        self.update()
    #end def pseudize

        
    def check_folded_system(self):
        sys_folded    = self.folded_system!=None
        struct_folded = self.structure.folded_structure!=None
        if sys_folded!=struct_folded:
            self.error('folding of physical system and structure is not consistent\n  system folded: {0}\n  structure folded: {1}'.format(sys_folded,struct_folded))
        #end if
        if sys_folded and id(self.structure.folded_structure)!=id(self.folded_system.structure):
            self.error('structure of folded system and folded structure are distinct\n  this is not allowed and may be a developer error')
        #end if
    #end def check_folded_system


    def change_units(self,units):
        self.structure.change_units(units,folded=False)
        if self.folded_system!=None:
            self.folded_system.change_units(units)
        #end if
    #end def change_units


    def group_atoms(self):
        self.structure.group_atoms(folded=False)
        if self.folded_system!=None:
            self.folded_system.group_atoms()
        #end if
    #end def group_atoms


    def rename(self,folded=True,**name_pairs):
        self.particles.rename(**name_pairs)
        self.structure.rename(folded=False,**name_pairs)
        if self.pseudized:
            for old,new in name_pairs.iteritems():
                if old in self.valency:
                    if new not in self.valency:
                        self.valency[new] = self.valency[old]
                    #end if
                    del self.valency[old]
                #end if
            #end for
            self.valency_in = self.valency
        #end if
        if self.folded_system!=None and folded:
            self.folded_system.rename(folded=folded,**name_pairs)
        #end if
    #end def rename


    def copy(self):
        cp = DevBase.copy(self)
        if self.folded_system!=None and self.structure.folded_structure!=None:
            del cp.folded_system.structure
            cp.folded_system.structure = cp.structure.folded_structure
開發者ID:Paul-St-Young,項目名稱:myNexus,代碼行數:70,代碼來源:physical_system.py

示例2: PhysicalSystem

# 需要導入模塊: from structure import Structure [as 別名]
# 或者: from structure.Structure import group_atoms [as 別名]

#.........這裏部分代碼省略.........
            else:
                self.error(ion+' is not in the physical system',exit=False)
                errors = True
            #end if
        #end for
        if errors:
            self.error('system cannot be generated')
        #end if
        self.valency = obj(**valency)
        self.update()
    #end def pseudize

        
    def check_folded_system(self):
        sys_folded    = self.folded_system!=None
        struct_folded = self.structure.folded_structure!=None
        if sys_folded!=struct_folded:
            self.error('folding of physical system and structure is not consistent\n  system folded: {0}\n  structure folded: {1}'.format(sys_folded,struct_folded))
        #end if
        if sys_folded and id(self.structure.folded_structure)!=id(self.folded_system.structure):
            self.error('structure of folded system and folded structure are distinct\n  this is not allowed and may be a developer error')
        #end if
    #end def check_folded_system


    def change_units(self,units):
        self.structure.change_units(units)
        if self.folded_system!=None:
            self.folded_system.change_units(units)
        #end if
    #end def change_units


    def group_atoms(self):
        self.structure.group_atoms()
        if self.folded_system!=None:
            self.folded_system.group_atoms()
        #end if
    #end def group_atoms


    def copy(self):
        cp = DevBase.copy(self)
        if self.folded_system!=None and self.structure.folded_structure!=None:
            del cp.folded_system.structure
            cp.folded_system.structure = cp.structure.folded_structure
        #end if
        return cp
    #end def copy


    def load(self,filepath):
        DevBase.load(self,filepath)
        if self.folded_system!=None and self.structure.folded_structure!=None:
            del self.folded_system.structure
            self.folded_system.structure = self.structure.folded_structure
        #end if
    #end def load


    def tile(self,*td,**kwargs):
        extensive = True
        if 'extensive' in kwargs:
            extensive = kwargs['extensive']
        #end if
        supercell = self.structure.tile(*td)
開發者ID:jyamu,項目名稱:qmc,代碼行數:70,代碼來源:physical_system.py


注:本文中的structure.Structure.group_atoms方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。