Vibration analysis program for multi degree of freedom model
Project description
asva
質点系による振動解析プログラム
概要
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be0859618dce1a322f1269dded19743a65288bf224b93658caac0b452be201c0
|
|
| MD5 |
2952d9fc9b95144d04d9375b56badd1d
|
|
| BLAKE2b-256 |
f48c23c3447fa86b4db7a50da60838c6ed8836f8d9177c9f9042654277043647
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae90dedfa297598db4af343d4bc1def473a5783209d3da55c638571f930f36a2
|
|
| MD5 |
5619434cfd69331eb60e3171086d6dd5
|
|
| BLAKE2b-256 |
4ad172abef99a9f6a7c6f4e522d66f4de7fbda82ceda990bfb16a0917bbed944
|