When I run a dynamic simulation the yellow beam deforms in a similar shape as the green one. Can anyone explain why this happens?
On Thursday, 8 September 2022 at 11:55:53 UTC Iason Manolas wrote: > I tried to set the frame of the master node of the constraint to the > desired position. Although this moves the node to the desired position it > doesn't actuate the beam in any way and the deformed state is straight. > For the constraint I used the following code: > > auto constraint = chrono_types::make_shared<ChLinkMateGeneric>(); > ChFrame<> frame = constrainedChronoNode->Frame(); > ChVector<double> displacementVector(0.1,0,0); //The beam is on the x axis > and has a length of 1m > frame.Move(constrainedChronoNode->GetPos() + displacementVector); //we > displace the initial frame using the displacement vector > constraint->Initialize( constrainedChronoNode, truss, false, > constrainedChronoNode->Frame(), frame); > constraint->SetConstrainedCoords(true, true, true, false, false, false); > my_system.Add(constraint); > > When visualizing the result what I get can be seen in the following image. > Blue is the initial mesh, green is the "ground-truth" and yellow is the > deformed state computed using chronos. > [image: screenshot_000000.png] > > On Thursday, 1 September 2022 at 11:55:39 UTC Iason Manolas wrote: > >> Hi I want to apply external loads by setting some boundary condition a >> beam's end. >> In other words I want to displace the position of a beam's end to some >> position, fix it there and than start the simulation. >> In the demo_FEA_loads_static.cpp >> <https://api.projectchrono.org/tutorial_demo__f_e_a_loads.html> a truss >> is being used to fix a node: >> // Create also a truss >> auto truss = chrono_types::make_shared<ChBody>(); >> truss->SetBodyFixed(true); >> sys.Add >> <https://api.projectchrono.org/classchrono_1_1_ch_system.html#afb70a823cfc57dd9946007414bfd9f48> >> (truss); >> // Create a constraint at the end of the beam >> auto constr_a = chrono_types::make_shared<ChLinkMateGeneric>(); >> constr_a->Initialize(mnodeA, truss, false, mnodeA->Frame(), >> mnodeA->Frame()); >> sys.Add >> <https://api.projectchrono.org/classchrono_1_1_ch_system.html#afb70a823cfc57dd9946007414bfd9f48> >> (constr_a); >> constr_a->SetConstrainedCoords(true, true, true, // x, y, z >> true, true, true); // Rx, Ry, Rz >> >> Can I use a truss to fix a node at some position different to its >> reference position? >> >> -- You received this message because you are subscribed to the Google Groups "ProjectChrono" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/5df8f535-69fe-4d71-a15d-fc09fc5718b6n%40googlegroups.com.
