[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-17 Thread Alex Ames
Hi Petr,

In case you weren't aware, there's a Julia package for computation of 
arbitrary-order Gauss quadrature 
rules: https://github.com/billmclean/GaussQuadrature.jl

-Alex

On Tuesday, December 16, 2014 11:31:01 PM UTC-6, Petr Krysl wrote:

 Hello everybody,

 In case you're interested, here is the implementation so far.  Switch to 
 the top folder, and include one of the examples.
 If you have paraview, you could check the graphics output (enable graphics 
 export in the source).

 As always, I'm keen on getting feedback, so don't hesitate please.

 https://github.com/PetrKryslUCSD/jfineale_for_trying_out

 Petr



[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-17 Thread Petr Krysl
Excellent! Missed that one...
P

On Wednesday, December 17, 2014 1:14:37 PM UTC-8, Alex Ames wrote:

 Hi Petr,

 In case you weren't aware, there's a Julia package for computation of 
 arbitrary-order Gauss quadrature rules: 
 https://github.com/billmclean/GaussQuadrature.jl

 -Alex

 On Tuesday, December 16, 2014 11:31:01 PM UTC-6, Petr Krysl wrote:

 Hello everybody,

 In case you're interested, here is the implementation so far.  Switch to 
 the top folder, and include one of the examples.
 If you have paraview, you could check the graphics output (enable 
 graphics export in the source).

 As always, I'm keen on getting feedback, so don't hesitate please.

 https://github.com/PetrKryslUCSD/jfineale_for_trying_out

 Petr



[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-17 Thread Steven G. Johnson


On Wednesday, December 17, 2014 4:14:37 PM UTC-5, Alex Ames wrote:

 Hi Petr,

 In case you weren't aware, there's a Julia package for computation of 
 arbitrary-order Gauss quadrature rules: 
 https://github.com/billmclean/GaussQuadrature.jl



And there's a somewhat fancier package at:   
https://github.com/ajt60gaibb/FastGaussQuadrature.jl

And if all you want are the plain gauss quadrature rules (no fancy weight 
functions), you can also use Base.QuadGK.gauss 


[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-17 Thread Petr Krysl
Great. Normally I have no use for Gauss rules beyond order 4 (at most cubic 
finite elements in the library). But it is good to have access to arbitrary 
order.

Thanks!

P

On Wednesday, December 17, 2014 1:35:34 PM UTC-8, Steven G. Johnson wrote:

 In particular, it looks like you just need:

 param_coords, weights = Base.QuadGK.gauss(Float64, order)

 in your GaussRule function.



[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-16 Thread Valentin Churavy
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




[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-16 Thread Petr Krysl
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




[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-16 Thread Hisham Assi
I am a COMSOL and Julia user. It will be very interesting to see J FinEALE.


[julia-users] Re: Comparison of FE codes; Julia versus commercial FE solver

2014-12-16 Thread Petr Krysl
Hello everybody,

In case you're interested, here is the implementation so far.  Switch to 
the top folder, and include one of the examples.
If you have paraview, you could check the graphics output (enable graphics 
export in the source).

As always, I'm keen on getting feedback, so don't hesitate please.

https://github.com/PetrKryslUCSD/jfineale_for_trying_out

Petr