YAFEMS, new small FEM solver using Salome MED form
- Javier Marcelo Mora
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
9 years 6 months ago #7859
by Javier Marcelo Mora
Replied by Javier Marcelo Mora on topic Re: YAFEMS, new small FEM solver using Salome MED form
Version 0.3 is out with big performance improvement.
The skyline storage method is implemented, so the stiffness matrix is now way smaller than before, so the memory usage improves drastically.
The active column solution method is implemented. It takes advantage of the new matrix configuration and is way faster than before. The piston example now solves in under one minute, taking 3 minutes before this improvements.
YAFEMS now outputs the time it takes in the different solving steps, which is a nice indication that the program is doing what it's supposed to.
Hope you enjoy it.
Cheers.
The skyline storage method is implemented, so the stiffness matrix is now way smaller than before, so the memory usage improves drastically.
The active column solution method is implemented. It takes advantage of the new matrix configuration and is way faster than before. The piston example now solves in under one minute, taking 3 minutes before this improvements.
YAFEMS now outputs the time it takes in the different solving steps, which is a nice indication that the program is doing what it's supposed to.
Hope you enjoy it.
Cheers.
- Javier Marcelo Mora
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
9 years 6 months ago - 9 years 6 months ago #7863
by Javier Marcelo Mora
Replied by Javier Marcelo Mora on topic Re: YAFEMS, new small FEM solver using Salome MED form
Great news for you Windows users out there!!.
YAFEMS can now be used under Windows, so I hope more people will get the chance to use it.
Hope you enjoy it.
Cheers.
YAFEMS can now be used under Windows, so I hope more people will get the chance to use it.
Hope you enjoy it.
Cheers.
Last edit: 9 years 6 months ago by Javier Marcelo Mora.
- Claus
- Offline
- Moderator
Less
More
- Posts: 670
- Thank you received: 34
9 years 6 months ago #7869
by Claus
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re: YAFEMS, new small FEM solver using Salome MED form
Nice work
Does your results correspond well with analytical results?
Do you get the same results on the piston as I did in my tutorial?
Keep up the good work and don't be discouraged by the seemingly lack of interest, but this is a very small forum
/C
Does your results correspond well with analytical results?
Do you get the same results on the piston as I did in my tutorial?
Keep up the good work and don't be discouraged by the seemingly lack of interest, but this is a very small forum
/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
The following user(s) said Thank You: Javier Marcelo Mora
- Javier Marcelo Mora
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
9 years 6 months ago - 9 years 6 months ago #7870
by Javier Marcelo Mora
Replied by Javier Marcelo Mora on topic Re: YAFEMS, new small FEM solver using Salome MED form
Hi, claws.
The results are quite satisfactory with the 2D module. The beams and the other cases match theory and analysis with Ansys and Abaqus.
The 3D module differs more. investigating about what could cause this, I've found that it's the linear tetrahedron element that I'm using.
Using a linear tetrahedron in the piston case, gives the same exact results in Code Aster and my program. If I use a quadratic tetrahedron the results are quite different from the results of the linear one.
As I say in the manual, the 3D module works, but results are not accurate due to the element used. This is true for every FEM software out there, anyway.
Today I've finished the Cuthill-McKee implementation for reordering the stiffness matrix and speed up the solve. I've managed to reduce the solving time of the piston from almost a minute to under 10 seconds. Most of the time in the solver is spent now on the reordering, so maybe a better algorithm could be implemented (Gibbs, Poole, Stocmeyer). Anyway, going from 3 minutes for version 0.2 to 10 seconds in what will be version 0.4, is a nice achievement. I think the next thing that needs to be made is implementing quadratic elements, but that is no easy task.
The project has very low following, indeed. I'm publishing it here and in the Salome forum, but I've gotten banned in two engineering forums due to "spamming" to "external software". I don't know what to do to reach to more people.
Thanks for your comments and taking the time to look into my project.
Cheers.
The results are quite satisfactory with the 2D module. The beams and the other cases match theory and analysis with Ansys and Abaqus.
The 3D module differs more. investigating about what could cause this, I've found that it's the linear tetrahedron element that I'm using.
Using a linear tetrahedron in the piston case, gives the same exact results in Code Aster and my program. If I use a quadratic tetrahedron the results are quite different from the results of the linear one.
As I say in the manual, the 3D module works, but results are not accurate due to the element used. This is true for every FEM software out there, anyway.
Today I've finished the Cuthill-McKee implementation for reordering the stiffness matrix and speed up the solve. I've managed to reduce the solving time of the piston from almost a minute to under 10 seconds. Most of the time in the solver is spent now on the reordering, so maybe a better algorithm could be implemented (Gibbs, Poole, Stocmeyer). Anyway, going from 3 minutes for version 0.2 to 10 seconds in what will be version 0.4, is a nice achievement. I think the next thing that needs to be made is implementing quadratic elements, but that is no easy task.
The project has very low following, indeed. I'm publishing it here and in the Salome forum, but I've gotten banned in two engineering forums due to "spamming" to "external software". I don't know what to do to reach to more people.
Thanks for your comments and taking the time to look into my project.
Cheers.
Last edit: 9 years 6 months ago by Javier Marcelo Mora.
- Javier Marcelo Mora
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
9 years 5 months ago #7877
by Javier Marcelo Mora
Replied by Javier Marcelo Mora on topic Re: YAFEMS, new small FEM solver using Salome MED form
Hi.
Version 0.4 is out with the following improvements:
- More performance boost due to the implementation of the Cuthill-McKee algorithm. This algorithm reorders the stiffness matrix matrix and severely reduces the bandwith. This leads to a huge decrease in time on the solving stage. If the number of elements is not too big, the solving time can actually increase a little, but those are the cases that solves in under a second, it shouldn't be a problem. The piston case sees a reduction in solving time from almost a minute to 9 seconds.
- Fixed some minor typos here and there.
- I've been trying to implement parallellization using OpenMP, but it seems that in the loops I've tried it actually takes more time to create the threads, execute them and then syncing then than the time it takes to do it with a single thread. This has lead to postpone parallellization for now. Some commented out code has been left in case I decide to give it a try in the future.
- Windows version released between 0.3 and 0.4.
- Windows 32 bit and 64 bit compiles.
For next version I think I'm going to implement quadratic elements. It could take some time as major changes are needed. We'll see how it goes.
Hope you enjoy it.
Javier Marcelo.
Version 0.4 is out with the following improvements:
- More performance boost due to the implementation of the Cuthill-McKee algorithm. This algorithm reorders the stiffness matrix matrix and severely reduces the bandwith. This leads to a huge decrease in time on the solving stage. If the number of elements is not too big, the solving time can actually increase a little, but those are the cases that solves in under a second, it shouldn't be a problem. The piston case sees a reduction in solving time from almost a minute to 9 seconds.
- Fixed some minor typos here and there.
- I've been trying to implement parallellization using OpenMP, but it seems that in the loops I've tried it actually takes more time to create the threads, execute them and then syncing then than the time it takes to do it with a single thread. This has lead to postpone parallellization for now. Some commented out code has been left in case I decide to give it a try in the future.
- Windows version released between 0.3 and 0.4.
- Windows 32 bit and 64 bit compiles.
For next version I think I'm going to implement quadratic elements. It could take some time as major changes are needed. We'll see how it goes.
Hope you enjoy it.
Javier Marcelo.
- Aun
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 0
8 years 9 months ago #8338
by Aun
Replied by Aun on topic Re: YAFEMS, new small FEM solver using Salome MED form
Hi JAvi
"Friendz at UNED"
"Friendz at UNED"
Moderators: catux
Time to create page: 0.150 seconds