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')