How to apply boundary conditions to beam elements for fea

45 views
Skip to first unread message

Iason Manolas

unread,
Sep 1, 2022, 7:55:39 AM9/1/22
to ProjectChrono
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 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(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(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?

Iason Manolas

unread,
Sep 8, 2022, 7:55:53 AM9/8/22
to ProjectChrono
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.
screenshot_000000.png

Iason Manolas

unread,
Sep 8, 2022, 12:44:30 PM9/8/22
to ProjectChrono
When I run a dynamic simulation the yellow beam deforms in a similar shape as the green one. Can anyone explain why this happens?
Reply all
Reply to author
Forward
0 new messages