Modelleme rehberi
Bu rehber; TOML DSL'ini ve spesifikasyonları yapılandırılmış, okunabilir ve yeniden üretilebilir tutan yardımcı araçları kullanarak dynlib modellerini nasıl bildireceğinizi, genişleteceğinizi ve ince ayar yapacağınızı açıklar. DSL genel bakışı ile başlayın, ardından yeniden kullanılabilir bileşenleri ve bir spesifikasyonu çalışma zamanına bağlayan iş akışı yardımcılarını keşfedin.
Model yapısının temelleri
- DSL temelleri — yazabileceğiniz her tabloyu listeleyen kurallı TOML şablonu (
[model],[states],[params],[constants],[equations],[aux],[functions],[events],[sim], vb.). - Denklemler —
rhs(sağ taraf), blok, ters ve Jacobian formlarını karşılaştırır, her birini hangi bağlamların kabul ettiğini açıklar ve sağ taraflarınızı düzenli tutmak için en iyi uygulamaları ana hatlarıyla belirtir. - Matematik ve makrolar — her ifadenin içinde bulunan yerleşik matematik fonksiyonlarını, skaler makroları (
clip,approx,relu, vb.), üreteç ifadelerini ve olay yardımcı programlarını listeler. - Üçlü (Ternary)
if— Python tarzı üçlü ifadenin, sizi tamif/elsebloklarına çekmeden küçük dallanmaları nasıl kolaylaştırdığını gösterir. - Model kayıt defteri — etiket URI'lerini (
builtin://, özel etiketler, satır içi modeller),DYNLIB_CONFIG/DYN_MODEL_PATHdavranışını ve kayıt yollarını doğrulayan veya geçersiz kılan CLI yardımcılarını tanımlar.
Yeniden kullanılabilir yapı taşları
- Auxiliary (Yardımcı) değişkenler — türetilmiş ifadeleri isimlendirin, böylece matematiği tekrarlamadan denklemler, olaylar veya Jacobian'lar arasında paylaşabilirsiniz.
- DSL fonksiyonları — argümanları, ifade gövdeleri ve DSL'i bildirimsel tutan temiz çağrı yerleri olan yeniden kullanılabilir fonksiyonlar tanımlayın.
- Olaylar (Events) —
cond(koşul),action(eylem) ve günlükleme meta verilerinipre/postaşamalarına bağlayın, olay makrolarını kullanın ve hızlı yol çalıştırıcılarını kararsızlaştırmadan olay günlüklerini yönetin. - Gecikme (Lagging) —
lag_<state>(k)yardımcılarını etkinleştirin, tampon derinliğini kontrol edin ve gecikmeli durumların ODE'ler, haritalar ve NumPy uyumlu çalışma zamanları ile nasıl etkileşime girdiğini anlayın. - Satır içi (Inline) modeller — modelleri tamamen testlerin veya not defterlerinin (notebooks) içinde prototiplemek için bir Python dizesine bir TOML parçası gömün.
İş akışı yardımcıları
- Yapılandırma dosyası — kayıt yollarını, önbellek köklerini ve eklenti davranışını
~/.config/dynlib/config.tomlveyaDYNLIB_CONFIGortam değişkeni aracılığıyla özelleştirin. - Modlar (Mods) —
remove,replace,addveseteylemleriyle modelleri dinamik olarak yamalayın; böylece temel spesifikasyonu klonlamadan varyantlar oluşturabilir, parametreleri geçersiz kılabilir veya yeni olaylar ekleyebilirsiniz. - Ön ayarlar (Presets) — yeniden kullanılabilir durum/parametre anlık görüntülerini yakalayın, bunları diskten yükleyin/kaydedin ve simülasyon bankası aracılığıyla yeniden oynatın.
- Simülasyon varsayılanları —
[sim]tablosunu belgeleyin,Sim.rungeçersiz kılmalarıyla nasıl birleştiğini açıklayın ve erken çıkış, kayıt ve tolerans ayarlarını vurgulayın.