Skip to main content

Vibration analysis program for multi degree of freedom model

Project description

asva

Python Versions PyPI version Downloads Documentation Status

質点系による振動解析プログラム

概要

asva は Python による質点系の振動解析プログラムです。現在、次のような機能が実装されています。

  • 固有値解析
  • 地震応答解析
  • 応答倍率計算 etc.

ドキュメント

詳しくはドキュメントを確認してください。

必要なもの

  • Python3.8+

使い方

インストールとインポート

・pypiからインストールして使う場合

pip install asva
import asva as ap

・asvaのコードを直接修正しながら使う場合

以下のようにrequirements.txtをインストールした上で、asvaをフォルダを任意の場所に配置

pip install -r path/to/asva/requirements.txt
import path.to.asva as ap

コード例

import asva as ap

config: ap.AnalysisConfigType = {
    # analysis
    'BETA': 1 / 4,

    # case
    'CASES': [
        {
            'NAME': 'Example',
            'WAVE': 'Sample',
            'AMP': 1,
            'DAMPER': 'None',
            'NDIV': 2,
            'START_TIME': 0,
            'END_TIME': None,
        },
    ],

    # damper
    'DAMPERS': {
        'None': [
            [],
        ],
    },

    # model
    'BASE_ISOLATION': False,
    'H': 0.02,
    'H_TYPE': 0,
    'I': [
        [1],
    ],
    'MI': [100],
    'KI': [
        [{
            'n1': 0,
            'n2': 1,
            'type': 'elastic',
            'k0': 4000,
        }, ],
    ],

    # wave
    'WAVES': {
        'Sample': {
            'NAME': 'Sample',
            'DT': 0.02,
            'NDATA': 2688,
            'TO_METER': 0.01,
            'INPUT_FILE': 'wave/Sample.csv',
            'DELIMITER': None,
            'SKIPROWS': 3,
            'COL': 0,
            'ENCORDING': 'utf',
        },
    },
}


def main():
    analysis = ap.Analysis(config, 0)   # 0は最初のケースを回す。
    analysis.analysis()
    print(analysis.resp.dis)

if __name__ == '__main__':
    main()

Config の設定

Config では、解析モデルや解析方法、出力設定を Dict で指定します。 設定方法は以下の通りです。 詳細なタイプの確認はTypesを確認してください。

class AnalysisConfigType(TypedDict):
    # analysis
    BETA: float                 # Newmarkβ法のβ
    BASE_ISOLATION: bool        # 剛性比例型の減衰計算で1層目を無視(C1を0)

    # wave
    WAVES: Dict[str, WaveType]   # 地震波の設定

    # case
    CASES: List[CASESType]        # 解析ケースのリスト

    # model
    H: float                    # 主系粘性減衰定数
    H_TYPE: Literal[0, 1]       # 0: 初期剛性比例型 1: 瞬間合成比例型
    I: List[List[float]]        # インプットする外力(NDOF×1)の行列で指定。地震波入力の場合、通常全て1。
    MI: List[float]             # 主系の質量[ton]
    KI: List[KIType]            # 主系の剛性[kN/m]

    # damper
    DAMPERS: Dict[str, List[List[DamperType]]]
                                # ダンパーのリスト

履歴則

現在以下の履歴則が組み込まれています。

名称 タイプキー 備考
弾性 elastic
バイリニア bilinear
トリリニア trilinear
逆行型 gyakko
武田モデル takeda

ダンパー

現在以下のダンパーが組み込まれています。

名称 タイプキー 時刻歴計算 応答倍率計算 備考
質量ダンパー MASS 層間加速度に比例する要素
ストッパー Stopper ×
粘性ダンパー(CV^α) VDA
粘性ダンパー(バイリニア) VDB
TMD TMD
iRDT iRDT

ご使用にあたって

asva は開発中のため、間違っている場合や不正確な場合があります。何かありましたらissuesにお知らせください。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asva-0.3.1.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

asva-0.3.1-py3-none-any.whl (70.0 kB view details)

Uploaded Python 3

File details

Details for the file asva-0.3.1.tar.gz.

File metadata

  • Download URL: asva-0.3.1.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for asva-0.3.1.tar.gz
Algorithm Hash digest
SHA256 be0859618dce1a322f1269dded19743a65288bf224b93658caac0b452be201c0
MD5 2952d9fc9b95144d04d9375b56badd1d
BLAKE2b-256 f48c23c3447fa86b4db7a50da60838c6ed8836f8d9177c9f9042654277043647

See more details on using hashes here.

File details

Details for the file asva-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: asva-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 70.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for asva-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ae90dedfa297598db4af343d4bc1def473a5783209d3da55c638571f930f36a2
MD5 5619434cfd69331eb60e3171086d6dd5
BLAKE2b-256 4ad172abef99a9f6a7c6f4e522d66f4de7fbda82ceda990bfb16a0917bbed944

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page