Tuesday, February 01, 2005

New Month's Day

A new month is always a good time to turn over a new leaf. Today I announced PyNSol:


PyNSol


a Language Oriented Programming approach to finite differences





PyNSol is yet another PDE description language, implemented entirely as extensions to Python. Among its design goals are

===
To express FD and FV models tersely and in a cognitively accessible manner

To facilitate experiments in time differencing schemes and coupling

To inherit as much as possible from the interactive python environment

To facilitate high performance integration of physics modules (especially column physics)

To facilitate code-introspection tools such as testing, performance prediction, automatic parallelization, and automatic differentiation.
===

So far it's much less than all that, but it does manage to turn this little Python object into a model, and execute it:



shallow = {
"u_t": "- csq * p_x",
"v_t": "- csq * p_y",
"p_t": "- u_x - v_y"
}