If there proves to be an interest in that, I will certainly make this initial implementation available.
Petr On Tuesday, December 16, 2014 9:09:59 AM UTC-8, Valentin Churavy wrote: > > Petr, > > Congratulations for achieving this. Is J FinEALE available somewhere? > Maybe as as package? > > Valentin > > On Tuesday, 16 December 2014 17:52:29 UTC+1, Petr Krysl wrote: >> >> I have made some progress in my effort to gain insight into Julia >> performance in finite element solvers. >> >> I have compared my solver, J FinEALE, (compute and assemble global FE >> matrices and vectors, then solve the sparse system with Julia's sparse >> matrix facilities) with the commercial FEA software Comsol 4.4. >> >> If anyone is interested, I could document this in a more comprehensive >> fashion, possibly with the paper. But here goes a real quick rundown: >> >> Heat conduction, nonzero essential boundary conditions, nonzero internal >> heat generation rate. >> Mesh of 2 million linear triangles. 1,000,000 degrees of freedom. >> The mesh generation and kickoff of the simulation (assignment of boundary >> conditions and such) is done by the solver in a separate step, so that is >> not counted towards the total time spent computing in J FinEALE either. >> >> J FinEALE: 20.6 seconds >> Comsol 4.4 w/ PARDISO: 16 seconds >> Comsol 4.4 w/ MUMPS: 22 seconds >> Comsol 4.4 w/ SPOOLES: 37 seconds >> >> Just for contrast: >> Matlab FinEALE: 810 seconds. >> >> What I found particularly interesting was what it took to reduce the >> time for this solution from the initial rewrite from Matlab (around 86 >> seconds) to the present performance: identify features that degrade >> performance (declare types!), code critical bottlenecks with ad hoc >> functions. The critical feature of Julia that made this possible was the >> speed with which it can execute loops written entirely in Julia. There >> is no need to call outside help (ala mex-files, which by the way would be >> of no help in this case). >> >> Briefly, Julia DELIVERS! Bravo to the development team. >> >> Petr >> >> >>
