Source code for scm.input_classes.drivers.sgf

from __future__ import annotations
from pathlib import Path
from typing import Iterable, Literal, Sequence
from scm.pisa.block import DriverBlock,EngineBlock,FixedBlock,FreeBlock,InputBlock
from scm.pisa.key import BoolKey,FloatKey,FloatListKey,IntKey,IntListKey,MultipleChoiceKey,PathStringKey,StringKey,BoolType

[docs]class SGF(DriverBlock): r""" :ivar Debug: :vartype Debug: str | StringKey :ivar Save: :vartype Save: str | StringKey :ivar Title: :vartype Title: str | StringKey :ivar SurfaceGF: :vartype SurfaceGF: SGF._SurfaceGF :ivar TightBinding: :vartype TightBinding: SGF._TightBinding """
[docs] class _SurfaceGF(FixedBlock): r""" :ivar BANDMU: :vartype BANDMU: float | FloatKey :ivar CONTACT: :vartype CONTACT: int | IntKey :ivar CPMARGIN: :vartype CPMARGIN: float | FloatKey :ivar ContourQuality: :vartype ContourQuality: Literal["basic", "normal", "good", "verygood", "excellent"] :ivar DELTA: :vartype DELTA: float | FloatKey :ivar ETA: :vartype ETA: float | FloatKey :ivar KGRID: :vartype KGRID: int | IntKey :ivar KT: :vartype KT: float | FloatKey :ivar MAXDOS: :vartype MAXDOS: float | FloatKey :ivar MINDOS: :vartype MINDOS: float | FloatKey :ivar MINVALENCE: :vartype MINVALENCE: float | FloatKey :ivar MULOWER: :vartype MULOWER: float | FloatKey :ivar MUUPPER: :vartype MUUPPER: float | FloatKey :ivar NARCPTS: :vartype NARCPTS: int | IntKey :ivar NDOSPTS: :vartype NDOSPTS: int | IntKey :ivar NE: :vartype NE: int | IntKey :ivar NEQLINEPTS: :vartype NEQLINEPTS: int | IntKey :ivar NFPOLES: :vartype NFPOLES: int | IntKey :ivar NLAYERS: :vartype NLAYERS: int | IntKey :ivar NNONEQLPTS: :vartype NNONEQLPTS: int | IntKey :ivar PHI1: :vartype PHI1: float | FloatKey :ivar PHI2: :vartype PHI2: float | FloatKey :ivar RKFFileName: :vartype RKFFileName: str | StringKey :ivar SCMCODE: :vartype SCMCODE: BoolType | BoolKey :ivar SECANT: :vartype SECANT: BoolType | BoolKey :ivar SGFMaxIter: :vartype SGFMaxIter: int | IntKey :ivar SGFTOL: :vartype SGFTOL: float | FloatKey :ivar TOL: :vartype TOL: float | FloatKey :ivar TRANSDIR: :vartype TRANSDIR: int | IntKey :ivar TRUEMU: :vartype TRUEMU: float | FloatKey :ivar deContourInt: :vartype deContourInt: float | FloatKey """ def __post_init__(self): self.BANDMU: float | FloatKey = FloatKey(name='BANDMU', default=0.0) self.CONTACT: int | IntKey = IntKey(name='CONTACT', default=1) self.CPMARGIN: float | FloatKey = FloatKey(name='CPMARGIN') self.ContourQuality: Literal["basic", "normal", "good", "verygood", "excellent"] = MultipleChoiceKey(name='ContourQuality', default='good', choices=['basic', 'normal', 'good', 'verygood', 'excellent']) self.DELTA: float | FloatKey = FloatKey(name='DELTA') self.ETA: float | FloatKey = FloatKey(name='ETA', default=1e-05) self.KGRID: int | IntKey = IntKey(name='KGRID') self.KT: float | FloatKey = FloatKey(name='KT') self.MAXDOS: float | FloatKey = FloatKey(name='MAXDOS') self.MINDOS: float | FloatKey = FloatKey(name='MINDOS') self.MINVALENCE: float | FloatKey = FloatKey(name='MINVALENCE') self.MULOWER: float | FloatKey = FloatKey(name='MULOWER') self.MUUPPER: float | FloatKey = FloatKey(name='MUUPPER') self.NARCPTS: int | IntKey = IntKey(name='NARCPTS') self.NDOSPTS: int | IntKey = IntKey(name='NDOSPTS') self.NE: int | IntKey = IntKey(name='NE') self.NEQLINEPTS: int | IntKey = IntKey(name='NEQLINEPTS') self.NFPOLES: int | IntKey = IntKey(name='NFPOLES') self.NLAYERS: int | IntKey = IntKey(name='NLAYERS') self.NNONEQLPTS: int | IntKey = IntKey(name='NNONEQLPTS') self.PHI1: float | FloatKey = FloatKey(name='PHI1', default=0.0) self.PHI2: float | FloatKey = FloatKey(name='PHI2', default=0.0) self.RKFFileName: str | StringKey = StringKey(name='RKFFileName', default='RUNKF') self.SCMCODE: BoolType | BoolKey = BoolKey(name='SCMCODE', default=False) self.SECANT: BoolType | BoolKey = BoolKey(name='SECANT', default=False) self.SGFMaxIter: int | IntKey = IntKey(name='SGFMaxIter', default=500) self.SGFTOL: float | FloatKey = FloatKey(name='SGFTOL', default=1e-08) self.TOL: float | FloatKey = FloatKey(name='TOL', default=0.0001) self.TRANSDIR: int | IntKey = IntKey(name='TRANSDIR', default=1) self.TRUEMU: float | FloatKey = FloatKey(name='TRUEMU', default=0.0) self.deContourInt: float | FloatKey = FloatKey(name='deContourInt', default=-1.0)
[docs] class _TightBinding(FixedBlock): r""" :ivar DTol: :vartype DTol: float | FloatKey :ivar Eps: :vartype Eps: float | FloatKey :ivar IODim: :vartype IODim: int | IntKey :ivar MaxMerit: :vartype MaxMerit: float | FloatKey :ivar MaxRange: :vartype MaxRange: float | FloatKey :ivar XTol: :vartype XTol: float | FloatKey """ def __post_init__(self): self.DTol: float | FloatKey = FloatKey(name='DTol', default=0.001) self.Eps: float | FloatKey = FloatKey(name='Eps', default=1e-18) self.IODim: int | IntKey = IntKey(name='IODim') self.MaxMerit: float | FloatKey = FloatKey(name='MaxMerit') self.MaxRange: float | FloatKey = FloatKey(name='MaxRange') self.XTol: float | FloatKey = FloatKey(name='XTol', default=5e-06)
def __post_init__(self): self.Debug: str | StringKey = StringKey(name='Debug', unique=False) self.Save: str | StringKey = StringKey(name='Save', unique=False) self.Title: str | StringKey = StringKey(name='Title') self.SurfaceGF: SGF._SurfaceGF = self._SurfaceGF(name='SurfaceGF') self.TightBinding: SGF._TightBinding = self._TightBinding(name='TightBinding')