Concrete branch ready for testing

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
bernd
Posts: 9034
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete branch ready for testing

Postby bernd » Wed Jul 03, 2019 7:39 am

HarryvL wrote:
Wed Jul 03, 2019 6:34 am
Ah ok. Yes I didnt catch a potential NaN return from Calcilix, so that sounds like a good idea.
ok
HarryvL wrote:
Wed Jul 03, 2019 6:34 am
However, anything downstream from this principal stress routine should be able to handle NaN values too. For example, what happens with this in VTK pipeline or VTK export?
good point. I have no idea ... On one of the links in the code there is a file with hundreds of NaN values to test.
User avatar
HarryvL
Posts: 1071
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Concrete branch ready for testing

Postby HarryvL » Wed Feb 05, 2020 10:39 am

bernd wrote:
Sun Mar 31, 2019 2:16 pm
HarryvL wrote:
Sat Mar 30, 2019 8:20 pm
bernd wrote:
Sat Mar 30, 2019 7:16 pm
I will change the name. How about adding the real fib deep beam as second reinforced example?
Yes or replace my wall with the FIB wall and add the beam with two spans:

https://forum.freecadweb.org/viewtopic. ... 40#p235356

That’s is also a practical one and not just a second wall ;)
very good idea.
Hi Bernd, did you ever include this second example? Similar to this:

Code: Select all

from femexamples.manager import *
doc = run_rcwall2d()
I am writing the ParaView tutorial that I promised many months ago but struggle to reproduce the reinforced concrete results.

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19409 (Git)
Build type: Release
Branch: master
Hash: 94280f15cafbabb4af601d78e435f021b261c3d0
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Denmark (en_DK)
User avatar
bernd
Posts: 9034
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete branch ready for testing

Postby bernd » Wed Feb 05, 2020 11:01 am

HarryvL wrote:
Wed Feb 05, 2020 10:39 am
Hi Bernd, did you ever include this second example?
This one https://forum.freecadweb.org/viewtopic. ... 40#p235356 ? No I did not. All examples included could be found here: https://github.com/FreeCAD/FreeCAD/tree ... emexamples Do you think it would be a good idea. Would be a good real world example. How big is the mesh. Since the mesh is in the FreeCAD sources my aim is not to make meshes far bigger than 1 MB.


HarryvL wrote:
Wed Feb 05, 2020 10:39 am
I am writing the ParaView tutorial that I promised many months ago but struggle to reproduce the reinforced concrete results.
That would be very cool. I started to use it more often, but I am still fighting with it. I feel like you did with git :evil: ...



Great to see you back harry. I have still not tested fcfem but I have done a lot of small fixes and improvements in FreeCAD FEM over the lasst few month. One (especially important for you) is still not yet solved. https://forum.freecadweb.org/viewtopic.php?f=18&t=43092
User avatar
HarryvL
Posts: 1071
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Concrete branch ready for testing

Postby HarryvL » Wed Feb 05, 2020 1:00 pm

bernd wrote:
Wed Feb 05, 2020 11:01 am
This one https://forum.freecadweb.org/viewtopic. ... 40#p235356 ? No I did not. All examples included could be found here: https://github.com/FreeCAD/FreeCAD/tree ... emexamples Do you think it would be a good idea. Would be a good real world example. How big is the mesh. Since the mesh is in the FreeCAD sources my aim is not to make meshes far bigger than 1 MB.
Yes that one, but I can simplify it by turning the columns into fixed supports. It is just to demonstrate the principles of how to do a concrete analysis and how to use ParaView to get results, so I can keep the mesh small.

What I struggle with (don't remember) is how to use the reinforced material object. It does not have the normal dialogue to chose regions of the geometry. Does that imply that all material in the problem has to be concrete and of the same type? I thought we managed to do mixed analyses at some point (different types of concrete in one mesh and even combination with other material regions)??
User avatar
HarryvL
Posts: 1071
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Concrete branch ready for testing

Postby HarryvL » Wed Feb 05, 2020 2:06 pm

I think this artificial example answers the question:
Mixed Beam.png
Mixed Beam.png (47.74 KiB) Viewed 100 times
The normal material object (stiff material) is applied only to left of the region. The reinforced material object (soft material) cannot be applied to any specific region, but gets assigned automatically to the region that was not covered by the normal material object.

Ideally, the user should be able to assign the reinforced material object in the same way the normal material object is assigned (by selecting one or more regions). This would then allow you to use multiple reinforced material objects.

PS: The reinforcement ratio (the VTK color map) is only shown for the reinforced material object (which is great !!)
User avatar
bernd
Posts: 9034
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete branch ready for testing

Postby bernd » Wed Feb 05, 2020 2:23 pm

HarryvL wrote:
Wed Feb 05, 2020 1:00 pm
What I struggle with (don't remember) is how to use the reinforced material object. It does not have the normal dialogue to chose regions of the geometry. Does that imply that all material in the problem has to be concrete and of the same type? I thought we managed to do mixed analyses at some point (different types of concrete in one mesh and even combination with other material regions)??
AFAIK there is no dialogue because it is not supported. AFAIK we did not managed to do mixed reinforced materials, but we disscussed it for sure.
User avatar
bernd
Posts: 9034
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete branch ready for testing

Postby bernd » Wed Feb 05, 2020 2:25 pm

here is where the magic does happen, or even does not happen because we do not support it: https://github.com/FreeCAD/FreeCAD/blob ... #L417-L459
User avatar
bernd
Posts: 9034
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete branch ready for testing

Postby bernd » Wed Feb 05, 2020 2:27 pm

mhh but here you seam to have implement it ... https://github.com/FreeCAD/FreeCAD/blob ... #L442-L446
User avatar
bernd
Posts: 9034
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete branch ready for testing

Postby bernd » Wed Feb 05, 2020 2:31 pm

and if you try with python, the reinforced obj has References attribut. What I would try ...

Add a normal material obj. fill it with the Gui. Move it out of the analysis. Use python to get the normal materials references list, and use python again to set the references list of the reinforced material to the references list of the normal material. Check if the normal material is outside of the analysis or even better delete it. Run, be happe or start debbugging ...

It should not be difficault to add the selection widget, becaus this is some ready to use class.

bernd
User avatar
HarryvL
Posts: 1071
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Concrete branch ready for testing

Postby HarryvL » Thu Feb 13, 2020 4:05 pm

HarryvL wrote:
Wed Feb 05, 2020 2:06 pm
I think this artificial example answers the question:

Mixed Beam.png

The normal material object (stiff material) is applied only to left of the region. The reinforced material object (soft material) cannot be applied to any specific region, but gets assigned automatically to the region that was not covered by the normal material object.

Ideally, the user should be able to assign the reinforced material object in the same way the normal material object is assigned (by selecting one or more regions). This would then allow you to use multiple reinforced material objects.

PS: The reinforcement ratio (the VTK color map) is only shown for the reinforced material object (which is great !!)
It can still be done by using BooleanFragments and CompoundFilter. The reinforced material gets assigned to all regions that have not been picked up by a regular MechanicalSolidMaterial Object.

P1.png
P1.png (507.03 KiB) Viewed 35 times
P2.png
P2.png (275.16 KiB) Viewed 35 times
Raft Foundation.FCStd
(29.94 KiB) Not downloaded yet