Cross section orientation evolution

Hi Kiwi3D community !

I’m running a nonlinear analysis to model the lifting process of an elastic gridshell.
I am interested in the beams’ cross section orientation evolution.
Is it possible to get this at each analysis step ?

I also noticed that the beams can twist and overlap each other, which is not possible in practice.
How can I prevent that in my model?

Thank you in advance
Regards

Hey, you can check the cross section orientation in each step with the 1dResultsCompoent. You should find an item called “cross section” when connecting the value list to T.
Detecting contact is unfortunately not possible in the analysis. The only way to simulate this, is to run the simulation until the contact is made, stop it at this step and set up a new analysis with the new geometry with reference elements and a coupling to model the contact.

Thank you Anna for your reply.
However, when I connect the “cross section” item to the T input, I obtain a V list made only of 1.
I thought the orientation could be given by the direction of the lines in the R list.
But, obviously, it does not match with the orientation at step 0.
Do you have any advice ?
Regards

Yes, the orientation is given by the lines in the R output.
Do you run linear or nonlinear analysis? The linear analysis shows only the deformed configuration and initial one. If the nonlinear analysis shows weird orientation,this is probably also the one that is used in the analysis. You should check the cross section input of the beam component.

All right!
Yes, I am running a nonlinear analysis.
Although I set the initial orientation, I just noticed that the beams automatically twist at step 0 (see the images).
The solution I found is to constraint torsion in the supports.
I guess it can also be achieved by dividing the curves in many points and by using the BeamAxis component.

image
CS_orientation_step0

could you post or send me the file? There should be no movement in step 0, only afterwards. If this is really the case, there’s a bug.
Nevertheless, you should constrain the torsion as you can get undefined behavior for statically undetermined supports.

Please find the file I am working on.
I am currently working on elastic geodesic gridshells.
The first task is to lift the geodesics which are initially flat, then they are relaxed to their “natural” position.
You will notice that the orientation after the IGA Solver is not the same as the one after the DeformedModel at step 0.
Thanks for your help !

Geodesics lifting and relaxing.gh (392.4 KB)

I quickly check your file: You also have to input the lodcase LC in the 1dresultscomponent as well. Otherwise, you’ll see the deformation (displacements only) for your chosen LC, e.g. 0, but always the cross section orientation of the last solved load case.

Thank you Anna
As you can see in the attached file, some cross section orientation (vectors are displayed) experience an unexpected twisting effect, do you know why ?

Moreover, in the same gh file I sent you before, after lifting the geodesics, there is a relaxation stage, using cables with no prestress but the analysis does not converge at all.
I tried similar process with planar curves and it works fine, but when curves are not the analysis quickly diverges.
Thank you for your help

Frame_00000

I checked the file you sent me. The problem there is that you cannot redefine the cross section orientation like that. If you want to that and cannot use the deformed elements from the previous analysis, you have to either compute the associated rotations for the beam and write them in the text file ( I could show you how to do that) or - recommended way - use the prestress properties for the beam. When using the second option, you have to set L,AB1/2,AT to true. the reference geometry component is not needed anymore. Kiwi is then assuming that the initial beam was straight and the cross section not twisted. Out of that, it computes the respective forces and dislacements. This “external stress” is incrementally applied by the global load curve if L is set to true. And one further remark to your file: you should use two different analysis names for the two lifting analyses since if not, one analysis overwrites the other.

Regarding the unexpected twist. I think you have to send the file. This may be a result of bad convergence. Sometimes if the solver has to search really long for equilibrium, it may find some strange states. Sometimes it helps to refine the analysis load curve in this region.

1 Like

Thank you Ana, everything works fine now !
I have been able to introduce the initial prestress and relax this 2x2 grid to find an equilibrium configuration.
I have an issue now when relaxing a grid made of 10x10 curves, I think it is just too computationally expensive.

Hey, it should also be possible to this with a larger grid as well. It was actually already done:

But you can of course optimize the simulation by adapting the refinement. If it is not converging, you have to adapt the load curve and slow down the relaxing process where it has problems with converging.

Thank you !
As you said, after some adaptations, it finally worked.
The problem was that I supposed the relaxing process as a one-step analysis (just need to release the grid) which is not the case.

Another question concerning cross section orientation:
I’m using Point Displacement to put two sets of curves in shape independently, then I connect them together (see the video).
However, as I have no control on the sections orientation, I notice that they overlap each other, which is not possible in practice (see image)
How can I use the CouplingPointAxis component to run a new analysis and twist the beams ?
Thanks again I really appreciate your help

Frame_00000

You can deform them and then couple and reorientate (by the beam axis input) them in a new analysis when using the automatic prestress component. The couplingpointAxis component can only put a bolt like in a scissor but not reorientate the cross section.
The overlap can unfortunately not be avoided as there is no contact search implemented. The only thing that you could do is stopping the analysis manually and restart it with the new coupling condition at the touching point.

Thank you it worked fine: I divided the deformation in 3 steps instead on 1 so I could update the coupling condition and avoid overlapping.
Is it possible to modify the supports and hinges rigidity to account for assembly clearance for instance ?

Yes you can. The easiest way is to rightclick on the analysis model component and update the penalty factor. However, this affects every support and coupling. If only specific supports/hinges should be adapted, you have to make changes in the text file. If only one type of support /hinge is affected, you may do this by changing the penalty factor of the respective property. If you want to change only specific supports/hinges, you have to add an additional property with adapted penalty factor and exchange the property id in the respective DE-BREP-NURBS lines (see also this thread: Point support moves - #8 by laura.sophie)