Yes.
Plotting of Concrete Reinforcement Ratio
Moderator: bernd
Forum rules
and Helpful information for the FEM forum
and Helpful information for the FEM forum
-
- Veteran
- Posts: 3156
- Joined: Sat May 20, 2017 12:06 pm
- Location: Germany
Re: Plotting of Concrete Reinforcement Ratio
If you use a CompSolid it will mesh it well. To check, export the mesh into unv and open the unv with Gmsh gui. @Thomas gmsh gui is in bin folder of FreeCAD bin. But I had lots of nonpositiv jacobians. I played with MeshRegion, but the geo exporter of FreeCAD has problems with the sweeps nodes. I manually edited the geo file. Attaches the geo, brep and FreeCAD file.
place the brep and the geo in the same directory, open gmsh open the geo file and wait. Befor open the geo file click in gmesh on the status line to get a log console. With this you can watch the meshing process. After some minutes gmsh saves a unv in the same directory. Import this in FreeCAD. The mesh still has some (7) bad elements in sence of nonpositiv jacobian (for me). But it may run in ccx anyway. Mesh has 245870 tets and 87 MB ...
Bernd
BTW: this stuff of this topic is awesome ! We need to get this into FreeCAD result object !
place the brep and the geo in the same directory, open gmsh open the geo file and wait. Befor open the geo file click in gmesh on the status line to get a log console. With this you can watch the meshing process. After some minutes gmsh saves a unv in the same directory. Import this in FreeCAD. The mesh still has some (7) bad elements in sence of nonpositiv jacobian (for me). But it may run in ccx anyway. Mesh has 245870 tets and 87 MB ...
Bernd
BTW: this stuff of this topic is awesome ! We need to get this into FreeCAD result object !
Re: Plotting of Concrete Reinforcement Ratio
the files for gmsh
remove txt
remove txt
Re: Plotting of Concrete Reinforcement Ratio
I think it is of practical value and a great learning experience for me on how to write Python and integrate it with FreeCAD using the FC API.
I am now trying to clean importToolsFem.py up and write a Macro instead, starting from the one done by Mario52 some time ago for Inertial Properties. Once I've got that cracked I will publish it for review and testing. Main remaining learning points / challenges for me:
1) How to create a user dialogue for input of some additional material parameters (e.g. fy for steel and Phi and fck for concrete. Also some display choices (like the number of Reinforcement Ratio values to display - discrete number rather than continues display).
2) How to create a Result object and add this to the object tree
3) How to change the display names of the results in the result object communication box
I f any of this is impossible, then please stop me now
Re: Plotting of Concrete Reinforcement Ratio
1) Maybe we should try square x-section rather than round. The shape doesn't matter too much. It's just a way to introduce an internal load.
2) We could try mixed meshes once it can handle embedding 1D or 2D elements in 3D. It would be ideal to model the cable as a string of 1D elements. Or even a 2 D strip would be a great simplification.
Re: Plotting of Concrete Reinforcement Ratio
+1 and +1HarryvL wrote: ↑Tue May 22, 2018 7:23 pm1) Maybe we should try square x-section rather than round. The shape doesn't matter too much. It's just a way to introduce an internal load.
2) We could try mixed meshes once it can handle embedding 1D or 2D elements in 3D. It would be ideal to model the cable as a string of 1D elements. Or even a 2 D strip would be a great simplification.
Re: Plotting of Concrete Reinforcement Ratio
To be honest, I would like to integrate it in FreeCAD somehow. But it it run as a macro an integration will be posible with not such big effort.HarryvL wrote: ↑Tue May 22, 2018 7:12 pm I am now trying to clean importToolsFem.py up and write a Macro instead, starting from the one done by Mario52 some time ago for Inertial Properties. Once I've got that cracked I will publish it for review and testing. Main remaining learning points / challenges for me:
see github of old gmsh macro https://www.freecadweb.org/wiki/Macro_GMSH we used it before I made the gmsh object in FreeCAD. The macro should still work. Or use any other macro. There are dozens ...HarryvL wrote: ↑Tue May 22, 2018 7:12 pm 1) How to create a user dialogue for input of some additional material parameters (e.g. fy for steel and Phi and fck for concrete. Also some display choices (like the number of Reinforcement Ratio values to display - discrete number rather than continues display).
have a look here https://forum.freecadweb.org/viewtopic.php?f=18&t=28788 for some Python code in the regard of result object. BTW, you can add any FEM object to the document and thus to the TreeView by importing module ObjectsFem and use it's make... methods See https://github.com/FreeCAD/FreeCAD/blob ... ectsFem.py You can even use your prefered name.
Mhh not at runtime, at least not in easy manner. We need to recode the result task panel and use a combo box. The combo box uses just all available result types. With this it is easy to add any kind of result type even at runtime.
What you could do is use user defined result box. For example strain is not in the radio buttons but if you put in ex in user defined result input field they will be plotted. With this you should be able to plot your results easily.
hope this helps bernd
Re: Plotting of Concrete Reinforcement Ratio
You're right. No need to write a macro if this gets embedded into FC. So I gave up on this and decided to introduce 4 new parameters in _ViewProviderFemrsultMechanical.py so that I can select them in the User Defined Equation dialog box for now. After updating this, FemrsultMechanical.py and importToolsFem.py I can indeed produce the results via the ResultObject dialog.
However, these results do not get exported to VTK and can therefore not be imported in Paraview I looked to see if I can easily add results to the VTK export, but it is written in c++ Grrrrrrr. For now I will change back to what I had before ... i.e. dump the results into existing arrays (strains and "user defined") that do get exported. Then I will run a few more tests and critically review the code that produces them. After that, it is over to the UberGuru @Bernd !!
Re: Plotting of Concrete Reinforcement Ratio
I am glad I didn't give up. The change to FemVTKTools.cpp was really easy and the whole thing compiled and linked in under 5 minutes.
And now I can select the additional results directly from the drop-down list in Paraview:
Re: Plotting of Concrete Reinforcement Ratio
Next refinement;
Currently reinforcement ratios and Mohr Coulomb are evaluated for all stress results. So this includes the stresses in the tension cables. As the tensile stresses in the cables are very high, very large results are obtained and this dwarfs the results for the concrete (where it matters). In previous case studies I therefore had to manually review in Paraview how to scale the output, i.e. visually filter out the results for steel,
Long story, but the question is: how do I know what node is connected to steel material so I can suppress the reinforcement ratios and Mohr Coulomb stresses for those nodes?
Currently reinforcement ratios and Mohr Coulomb are evaluated for all stress results. So this includes the stresses in the tension cables. As the tensile stresses in the cables are very high, very large results are obtained and this dwarfs the results for the concrete (where it matters). In previous case studies I therefore had to manually review in Paraview how to scale the output, i.e. visually filter out the results for steel,
Long story, but the question is: how do I know what node is connected to steel material so I can suppress the reinforcement ratios and Mohr Coulomb stresses for those nodes?