ModelReduction.jl
ModelReduction is a repository of JuliaFEM to reduce the dimension of a model for multibody dynamics problems. The package includes e.g. the Guyan reduction and the Craig-Bampton method.
Install / Use
/learn @JuliaFEM/ModelReduction.jlREADME
ModelReduction.jl
ModelReduction.jl is a Julia package to perform model reduction methods for i.e. multibody dynamics problems. The packcage includes model order reduction methods such as the Guyan reduction and the Craig-Bampton method.
Reducing the sizes of stiffness and mass matrices of the model will greatly decrease the computation resources needed when performing dynamic analyses.
ModelReduction.jl is a part of JuliaFEM. All codes are MIT licensed.
Installing and testing the package
Install the package the same way other Julia packages are installed.
julia> Pkg.add("ModelReduction")
Test the package with Pkg.test etc.
julia> Pkg.test("ModelReduction")
Usage example
This example demonstrates how to use the Craig-Bampton method function.
Problem setup:
julia> K = [2 -1 0 0;
-1 2 -1 0;
0 -1 2 -1;
0 0 -1 1]
julia> M = [2 0 0 0;
0 2 0 0;
0 0 2 0;
0 0 0 1]
julia> r = [4]
julia> l = [1, 2, 3]
julia> n = 1
K = original stiffness matrix, M = original mass matrix, r = retained DOF:s, l = internal DOF:s, n = the number of the internal modes to keep. Calculate the reduced mass and stiffness matrices Mred and Kred.
julia> using ModelReduction
julia> Mred, Kred = ModelReduction.craig_bampton(K, M, r, l, n)
([2.75 -1.20711; -1.20711 1.0], [0.25 0.0; 0.0 0.292893])
Citing
If you like using our package, please consider citing our article:
@article{rapo2018implementing,
title={Implementing model reduction to the JuliaFEM platform},
volume={51},
url={https://rakenteidenmekaniikka.journal.fi/article/view/69026},
doi={10.23998/rm.69026},
number={1},
journal={Rakenteiden Mekaniikka},
author={Rapo, Marja and Aho, Jukka and Koivurova, Hannu and Frondelius, Tero},
year={2018},
pages={36-54}
}
Contributing
Have a new great idea and want to share it with the open source community? From here and here you can look for coding styles. Here it is explained how to contribute to open source project, in general.
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
