Plotting of Concrete Reinforcement Ratio

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Mon Jul 09, 2018 10:10 am

Interestingly, if I make Solid1 steel and Solid2 concrete I get:

Code: Select all

object Name: Concrete
object.References: [(<Part::PartFeature>, ('Solid2',))]
CONCRETE
  ReferenceShape ... Type: Solid, Object name: BooleanFragments, Object label: BooleanFragments, Element name: Solid2
The limit if a node is in or out: 0.000000100000 in scientific: 1.0000e-07 
<type 'list'>
concrete nodes: [5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 18L, 21L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L, 110L, 111L, 112L, 113L]
So it seems femmesh.meshtools.get_femnodes_by_refshape(result_mesh, ref) returns 100 for Solid1 and 113 for Solid2, whereas the total mesh only has 113 nodes.
User avatar
bernd
Posts: 8329
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Mon Jul 09, 2018 1:12 pm

ok, thanks for the aditional informations. I will have a look.

Bernd
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Tue Jul 10, 2018 3:21 am

HarryvL wrote:
Mon Jul 09, 2018 10:10 am
Interestingly, if I make Solid1 steel and Solid2 concrete I get:

Code: Select all

object Name: Concrete
object.References: [(<Part::PartFeature>, ('Solid2',))]
CONCRETE
  ReferenceShape ... Type: Solid, Object name: BooleanFragments, Object label: BooleanFragments, Element name: Solid2
The limit if a node is in or out: 0.000000100000 in scientific: 1.0000e-07 
<type 'list'>
concrete nodes: [5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 18L, 21L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L, 110L, 111L, 112L, 113L]
So it seems femmesh.meshtools.get_femnodes_by_refshape(result_mesh, ref) returns 100 for Solid1 and 113 for Solid2, whereas the total mesh only has 113 nodes.
Urrrrrrr. Actually it is 63 nodes if you count the list. It just happens so that node number 113 is part of the list. So maybe it is right after all !! ... Yup, the list for the example with Solid1=concrete and Solid2=steel also has 63 nodes and happens to end with node 100.

Sorry for dragging you into my confusion. I think the only problem was indeed the group meshing as you indicated. So, thanks for your help.

PS: what is this group meshing for? Should it perhaps be switched off by default?
User avatar
bernd
Posts: 8329
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Tue Jul 10, 2018 9:17 am

HarryvL wrote:
Tue Jul 10, 2018 3:21 am
Sorry for dragging you into my confusion. I think the only problem was indeed the group meshing as you indicated. So, thanks for your help.
Does it mean everything runs smooth without group meshing? :?:


HarryvL wrote:
Tue Jul 10, 2018 3:21 am
PS: what is this group meshing for? Should it perhaps be switched off by default?
If group meshing is activated, the following happens ...
- on meshing with GMSH for every FEM document object with reference shapes a group of nodes is created
- on writing ccx input file, if there is a group with exact the same name as an object with reference shapes the group nodes are taken and used to write the input file, means no node search in the mesh. This speeds up inp file writing enormous, but seams not to work propperly in any case.

AFAIK, it should be deactivated by default. I will hava a look.
User avatar
bernd
Posts: 8329
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Tue Jul 10, 2018 11:04 am

bernd wrote:
Tue Jul 10, 2018 9:17 am
HarryvL wrote:
Tue Jul 10, 2018 3:21 am
PS: what is this group meshing for? Should it perhaps be switched off by default?
AFAIK, it should be deactivated by default. I will hava a look.
It is active by default https://github.com/FreeCAD/FreeCAD/blob ... ls.py#L268. I will deactivate it by default in my next PR.
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Tue Jul 10, 2018 1:23 pm

bernd wrote:
Tue Jul 10, 2018 9:17 am
Does it mean everything runs smooth without group meshing?
I think it does Bernd.

I will add a warning/error for the case mesh grouping is switched on, because that would crash my routine (node number > number of stress results)

Thanks again
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Tue Jul 10, 2018 1:24 pm

bernd wrote:
Tue Jul 10, 2018 11:04 am
It is active by default https://github.com/FreeCAD/FreeCAD/blob ... ls.py#L268. I will deactivate it by default in my next PR.
Thanks. That makes more sense IMHO
User avatar
bernd
Posts: 8329
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Tue Jul 10, 2018 9:55 pm

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

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Thu Jul 12, 2018 4:33 pm

HarryvL wrote:
Tue Jul 10, 2018 1:24 pm
bernd wrote:
Tue Jul 10, 2018 11:04 am
It is active by default https://github.com/FreeCAD/FreeCAD/blob ... ls.py#L268. I will deactivate it by default in my next PR.
Thanks. That makes more sense IMHO
git commit 3416a26d7
User avatar
bernd
Posts: 8329
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Tue Mar 26, 2019 10:24 pm

HarryvL wrote:
Sat May 19, 2018 12:13 pm
I coded the 13 closed form solutions for reinforcement ratio defined here: http://heronjournal.nl/53-4/3.pdf with Python and managed to reproduce the 11 test cases for single stress results (I changed the name for the reinforcement ratio from "Omega" to "Rho" in line with the paper):

Code: Select all

********************************
Case 1
Sigma:        2.000   -2.000    5.000    6.000   -4.000    2.000
Governing Eq.14    Rho: 0.02400 0.00400 0.01400
********************************
Case 2
Sigma:       -3.000   -7.000    0.000    6.000   -4.000    2.000
Governing Eq.10+   Rho: 0.00886 0.00000 0.00571
********************************
Case 3
Sigma:       -1.000   -7.000   10.000    0.000    0.000    5.000
Governing Eq.5     Rho: 0.00000 0.00000 0.02714
********************************
Case 4
Sigma:        3.000    0.000   10.000    0.000    5.000    0.000
Governing Eq.13    Rho: 0.01600 0.00000 0.03000
********************************
Case 5
Sigma:       10.000    7.000   -3.000    3.000    1.000   -2.000
Governing Eq.11-   Rho: 0.02533 0.02133 0.00000
********************************
Case 6
Sigma:        4.000   -7.000    3.000    7.000    0.000   -5.000
Governing Eq.14    Rho: 0.02200 0.01000 0.01600
********************************
Case 7
Sigma:        8.000  -14.000    6.000   14.000    0.000  -10.000
Governing Eq.14    Rho: 0.04400 0.02000 0.03200
********************************
Case 8
Sigma:        1.000    0.000    3.000   10.000   -8.000    7.000
Governing Eq.17    Rho: 0.02486 0.01750 0.01720
********************************
Case 9
Sigma:        0.000    0.000    0.000   10.000    8.000    7.000
Governing Eq.13    Rho: 0.03600 0.03400 0.03000
********************************
Case 10
Sigma:       15.000    0.000    0.000    0.000    0.000    0.000
Governing Eq.13    Rho: 0.03000 0.00000 0.00000
********************************
Case 11
Sigma:        0.000    0.000    0.000    5.000    0.000    0.000
Governing Eq.13    Rho: 0.01000 0.01000 0.00000
Next step the integration in FreeCAD or Paraview
we should make an unit test for them to make your code save