First time here? Checkout the FAQ!
x
0 votes
by (1.3k points)

Hello team,

I am currently trying to implement a matrix exponential solver for use in one of my Markov models. Currently I have an in-house C++ implementation, and there are also open-source versions available as well.

The question is, where would I start implementing this? Since this is a mathematical expression, my first intuition tells me that I should be defining this alongside the other math functions such as exp, sqrt, etc. 

So far, I have been able to find a list of math functions in openCARP/physics/limpet/src/python/im.py and in openCARP/physics/limpet/Transforms/mlir/lib/Passes/RoofLineCounter.cpp. Any pointers to proceed from here would be greatly appreciated!

Lucas

1 Answer

0 votes
by (19.1k points)
selected by
 
Best answer
Would you see this as an additional choice for the integration method for single state variables similar to .method(rk2)?

https://opencarp.org/documentation/examples/01_ep_single_cell/05_easyml#recognized-markup

This is a pointer to the advanced time integration code: https://git.opencarp.org/openCARP/openCARP/-/blob/master/physics/limpet/src/python/limpet_fe.py?ref_type=heads#L1777 (in the code generator converting EasyML (.model) to C++)
by (1.3k points)
Thanks for your pointers. At this point, I would agree that the exponential solver should be implemented alongside the integration methods instead of as a basic math function. It seems I will not be needing to implement the exponential solver as of now, but this is good to know. Thanks.
Welcome to openCARP Q&A. Ask questions and receive answers from other members of the community. For best support, please use appropriate TAGS!
architecture, carputils, documentation, experiments, installation-containers-packages, limpet, slimfem, website, governance
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], config: ["MMLorHTML.js"], jax: ["input/TeX"], processEscapes: true } }); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true } } });
...