2. Hysteretic Models

Hysteretic models can be defined and set to AnalysisConfig like below.

# Example
import asva as ap

config: ap.AnalysisConfigType = {
    ...,
    'KI': [
        [ # first storey
            { # first hysteresis
                'type': 'elastic',
                'k0': 4000,
            },
            {  # second hysteresis
                'type': 'elastic',
                'k0': 4000,
            },
        ],
        [ # second storey
            {
                'type': 'elastic',
                'k0': 4000,
            },
        ],
        ...,
    ],
    ...,
}

2.1. Elastic

class ElasticType(TypedDict):
    type: Literal["elastic"]
    k0: float                       # 初期剛性[kN/m]

2.2. Bilinear

class BilinearType(TypedDict):
    type: Literal["bilinear"]
    k0: float                       # 初期剛性[kN/m]
    a1: float                       # 降伏後剛性低下率[-]
    f1: float                       # 降伏荷重[kN]

2.3. Trilinear, Gyakko, Takeda

class TrilinearType(TypedDict):
    type: Literal["gyakko", "takeda", "trilinear"]
    k0: float                       # 初期剛性[kN/m]
    a1: float                       # 降伏後剛性低下率1[-]
    a2: float                       # 降伏後剛性低下率2[-]
    f1: float                       # 降伏荷重1[kN]
    f2: float                       # 降伏荷重2[kN]