OOFem

About the development of the FEM module/workbench.

Moderator: bernd

nitramkaroh
Posts: 3
Joined: Thu Mar 21, 2019 9:54 am

Re: OOFem

Post by nitramkaroh »

Hi guys, I am one of OOFEM developers and the integration of OOFEM into FreeCAD is really great. If you need any help with OOFEM input file structure or anything else I would be happy to help.
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OOFem

Post by bernd »

Hi and welcome to FreeCAD FEM

nitramkaroh wrote: Thu Mar 21, 2019 10:06 am If you need any help with OOFEM input file structure or anything else I would be happy to help.
you helped already :) http://www.oofem.org/forum/viewtopic.php?id=1804

nitramkaroh wrote: Thu Mar 21, 2019 10:06 am Hi guys, I am one of OOFEM developers and the integration of OOFEM into FreeCAD is really great.
thanks for the flowers :D

FYI: Just the basics work, but it works! Means export of planestress elements (I used PlaneStress2D example from manual to set up the input file writer) and tet10 elements as well as constraint fixed and constraint displacement and costraint force (on vertieces only). Neither multiple materials nor nonlinear materials etc.

Eventually this was the most challanging part for someone does not knowing FreeCAD. Extending the oofem writer as it is just ATM is not difficault for someone knowing Python.

What you could do is: "Give it a try!!!" See https://github.com/berndhahnebach/FreeC ... s/femoofem Until it is not merged into FreeCAD master I regulary rebase this branch on FreeCAD master.
- compile the branch
- start FreeCAD
- set the path to oofem binary in preferences
- run the attached code and view results ...

Code: Select all

from femexamples.manager import *
doc = run_ccx_cantilevernodeload(None, 'oofem')
doc = run_ccx_cantileverprescribeddisplacement(None, 'oofem')
doc = run_oofem_planestress2d()
EDIT: from 26. March 2019 it should be:

Code: Select all

from femexamples.manager import *
doc = run_ccx_cantilevernodeload('oofem')
doc = run_ccx_cantileverprescribeddisplacement('oofem')
doc = run_oofem_planestress2d()
BTW: The oofem integration is more than just another solver. ATM it is the documentation on "How to integrate a new solver in FreeCAD FEM"

cheers bernd
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OOFem

Post by bernd »

bernd wrote: Thu Mar 21, 2019 10:53 am BTW: The oofem integration is more than just another solver. ATM it is the documentation on "How to integrate a new solver in FreeCAD FEM"
Thus I rebase fixes and changes to the approprate commits. Means as long as the branch is not in FreeCAD master the git history could (will) change.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OOFem

Post by Kunda1 »

nitramkaroh wrote: Thu Mar 21, 2019 10:06 am Hi guys, I am one of OOFEM developers and the integration of OOFEM into FreeCAD is really great. If you need any help with OOFEM input file structure or anything else I would be happy to help.
Beside what @bernd mentions, perhaps it would be beneficial to get OOFem out in to the package ecosystem. Currently nothing returns when one searches OOFem on Repology.org
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OOFem

Post by bernd »

rebased my oofem branch on latest FreeCAD master and solved all conflicts. Furthermore the history was rewritten. All oofem commits should be according FEM code convention.

https://github.com/berndhahnebach/FreeC ... s/femoofem
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OOFem

Post by bernd »

rebased my oofem branch to latest FreeCAD dev, solved all conflicts and make the unit tests run again.

https://github.com/berndhahnebach/FreeC ... s/femoofem
User avatar
ebrahim raeyat
Posts: 619
Joined: Sun Sep 09, 2018 7:00 pm
Location: Iran
Contact:

Re: OOFem

Post by ebrahim raeyat »

bernd wrote: Wed Feb 19, 2020 2:24 pm rebased my oofem branch to latest FreeCAD dev, solved all conflicts and make the unit tests run again.

https://github.com/berndhahnebach/FreeC ... s/femoofem
Thanks. I must study rebasing with github and then i continue this way :D
nitramkaroh
Posts: 3
Joined: Thu Mar 21, 2019 9:54 am

Re: OOFem

Post by nitramkaroh »

Hi,

I am trying to compile FreeCAD with oofem capabilities.
However, I got several errors during the compilation.

1. I had to add

Code: Select all

#include <Precision.hxx>
into ../../src/Mod/Part/App/FeatureFillet.cpp
2. I got

Code: Select all

 error: ‘TColgp_Array1OfPnt::TColgp_Array1OfPnt(const TColgp_Array1OfPnt&)’ is private within this context
          auto nodes = facets->Nodes();
error: ‘Poly_Array1OfTriangle::Poly_Array1OfTriangle(const Poly_Array1OfTriangle&)’ is private within this context
   auto triangles = facets->Triangles();
To move further, I solved this by commenting the appropriate lines.

3. I got stuck with the last one

Code: Select all

/bin/sh: 1: PYSIDE2RCCBINARY-NOTFOUND: not found
src/Mod/Material/CMakeFiles/Material.dir/build.make:89: recipe for target 'src/Mod/Material/Material_rc.py' failed
Could you please advise me, how to solve these issues?

Thanks,
Martin
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: OOFem

Post by Jee-Bee »

I think you can better ask your question here: https://forum.freecadweb.org/viewforum.php?f=4
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OOFem

Post by bernd »

nitramkaroh wrote: Thu Sep 24, 2020 9:27 am I am trying to compile FreeCAD with oofem capabilities.
However, I got several errors during the compilation.
Your compilation problems do not have to do something wit oofem implementation in FreeCAD.

Try:

- compile latest FreeCAD master from https://github.com/FreeCAD/FreeCAD/commits/master
- if this works for you use FreeCAD oofem branch from https://github.com/berndhahnebach/FreeC ... s/femoofem
- if the FreeCAD master branch comiles oofem branch will compile too. Threre are only rare real changes in C++ My oofem branch is regularly rebased on latest FreeCAD master.

See all FreeCAD oofem changes ... https://github.com/berndhahnebach/FreeC ... 4ea93efdec
Post Reply