Closed philbucher closed 6 years ago
Hi @philbucher I'll ask @RiccardoRossi but let me comment something before start.
Any Entity selection (as lines) should be done using GiD groups. LocalAxes selection is a "ghost from the past" in GiD and it should disappear soon. (Don't worry, soon can mean like 10 years).
We can write ElementalData in mdpa, but I thought that the "new way" of assigning data to entities was using process in json and submodelparts.
Hi @jginternational
The entity selection can also be through groups, no problem (if I understood correctly)
Usually you are right with submodelparts and processes. The thing here is that the input is different for EVERY element, so you would have a submodelpart and process for every element. Therefore we do it in this special case through elementaldata (discussed with riccardo)
Ok, @philbucher
I'm testing with this problem, but something wrong is happening
File "MainKratos.py", line 84, in <module>
solver.Initialize()
File "E:\PROYECTOS\KratosGiD\kratos.gid\exec\kratos\applications\StructuralMechanicsApplication\python_scripts\structural_mechanics_static_solver.py", line 63, in Initialize
super(StaticMechanicalSolver, self).Initialize() # The mechanical solver is created here.
File "E:\PROYECTOS\KratosGiD\kratos.gid\exec\kratos\applications\StructuralMechanicsApplication\python_scripts\structural_mechanics_solver.py", line 217, in Initialize
mechanical_solution_strategy.Initialize()
RuntimeError: Error: No degrees of freedom!
in kratos/solving_strategies/builder_and_solvers/residualbased_block_builder_and_solver.h:659:ResidualBasedBlockBuilderAndSolver<class UblasSpace<double,class boost::numeric::ublas::compressed_matrix<...>,class boost::numeric::Vector >,...>::SetUpDofSet
kratos/solving_strategies/builder_and_solvers/residualbased_block_builder_and_solver.h:696:ResidualBasedBlockBuilderAndSolver<class UblasSpace<double,class boost::numeric::ublas::compressed_matrix<...>,class boost::numeric::Vector >,...>::SetUpDofSet
kratos/solving_strategies/strategies/residualbased_newton_raphson_strategy.h:485:ResidualBasedNewtonRaphsonStrategy<class UblasSpace<double,class boost::numeric::ublas::compressed_matrix<...>,class boost::numeric::Vector >,class UblasSpace<double,class boost::numeric::Matrix,class boost::numeric::Vector >,class LinearSolver<class UblasSpace<double,class boost::numeric::ublas::compressed_matrix<...>,class boost::numeric::Vector >,class UblasSpace<double,class boost::numeric::Matrix,class boost::numeric::Vector >,class Reorderer<class UblasSpace<double,class boost::numeric::ublas::compressed_matrix<...>,class boost::numeric::Vector >,class UblasSpace<double,class boost::numeric::Matrix,class boost::numeric::Vector > > > >::Initialize```
@KlausBSautter could you have a look please?
@jginternational I am not sure what is causing your error. I re-modelled your example, which runs without any problem: arroz_2.gid.zip
add: you cannot model a torsional hinge at the start and the end of a beam-segment. This will lead to a singular stiffness matrix
It's in the master, you can try it and create new issues on this repo for bug reporting!
This issue is to include the hinges/supports (see PR) in the interface
What is needed from the GiD side is a selection window (similar to local axis) where the user can a line one wants to assign the hinges to. This should only be done for the small displacement beams.
One should be able to select Fx, Fy, Fz, Mx, My, Mz in 3D and Fx, Fy, Mz in 2D with checkboxes. This should be available for each point.
The information should then be written to the element that has the actual node after meshing. In the mdpa we then need this info in a ElementalData block as follows:
the
4
is the element id the[2]
is the size of the vector the(2,5)
is the identifier of the selection above: 2D Case:3D Case:
@KlausBSautter please add if I missed sth.
@jginternational this is a feature that @RiccardoRossi needs for teaching from what I understood. I don't know how exactly he would like to have it, so I suggest you talk to him directly