CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Force on linearSpring seems to make no sense

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 23, 2024, 16:52
Smile Force on linearSpring seems to make no sense
  #1
New Member
 
Márcio Froelich Friedrich
Join Date: Aug 2013
Posts: 5
Rep Power: 12
marxioxyz is on a distinguished road
Hi Folks

I'm trying to make sense of the results produced by an horizontal linear spring set up in file constant/dynamicMeshDict.

The source code shows the following:

linearSpring.H:

//- Anchor point, where the spring is attached to an immovable object
point anchor_;
//- Reference point of attachment to the solid body
point refAttachmentPt_;
//- Spring stiffness coefficient [N/m]
scalar stiffness_;
//- Damping coefficient [Ns/m]
scalar damping_;
//- Rest length - length of spring when no forces are applied to it
scalar restLength_;
//- Switch to allow no restraint when line is shorter than restLength
Switch allowSlack_;


linearSpring.C:

point attachmentPt = bodyPoint(refAttachmentPt_);

// Current axis of the spring
vector r = attachmentPt - anchor_;
scalar magR = mag(r);
r /= (magR + vSmall);

// Velocity of the attached end of the spring
vector v = bodyPointVelocity(refAttachmentPt_).l();

// Force and moment on the master body including optional damping
vector force
(
(allowSlack_ && magR < restLength_)
? -damping_*(r & v)*r
: (-stiffness_*(magR - restLength_) - damping_*(r & v))*r
);

==================

I've done several tests and none made sense to me. I'll show one of them.

I have a floating object with only one degree of freedom: displacement on X axis.
The force X exerted on the object by the flowfield (hydrodynamic drag) is around 100000 Newtons (attached graph shows 200000N but that's because I doubled the model results in the graph because I'm in fact simulating only half of the object and channel, using a symmetry plane).

The spring has a initial length of 1 meter, which is also the restlengh. For the body to stop moving downstream, I would expect the spring to produce a -100000 N force. Since i set damping to zero, and stiffness to 3000, the spring should stretch to magR=34.33 m to produce the -100kN force:

Fx = -stiffness*(magR - restLength)
-100000 = -3000 *(magR - 1)
magR = 34.33 metres

But during the simulation, when the spring has aproximately 2.2 metres, the spring force acting on the object surpasses the hydrodynamic drag and the object starts moving upstream (in the minus X direction).

Attached you can find force and displacemente graphs, the dynamicMeshDict and a zip file containing the complete simulation files.
Here is the link to a movie produced in paraview:
https://youtu.be/evx-9v28aeo

Another strange behaviour is that the spring exerts force on the object even when its length is smaller than the restlenght (makes no sense since allowSlack_ is set to true). For this I tested another case where the restlength is much greater than the initial lenght and the spring force begins way before the spring reaches the restlength.
By the way, allowSlack is explained here:
https://bugs.openfoam.org/view.php?id=3352

Any help or insight will be very appreciated.

Thank you!


deslocamentos_3000_0_1.jpg

forcas_3000_0_1.png

corrente_3ms_Px.zip

dynamicMeshDict.txt

Last edited by marxioxyz; March 23, 2024 at 17:08. Reason: correcting numbers
marxioxyz is offline   Reply With Quote

Reply

Tags
dynamicmesh, forces, linearspring, openfoam


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
particle-fluid interaction forces: Is Bouyancy body force or coupled force? atul1018 Main CFD Forum 1 April 28, 2022 08:53
How can i get the normal and shear force on a wall? xiasheng CFX 1 September 5, 2021 17:51
Finding Drag Force from Skin Friction Rob Wilk Main CFD Forum 0 May 8, 2020 06:04
[swak4Foam] some errors in compiling groovyBC in OF220 immortality OpenFOAM Community Contributions 10 April 1, 2013 03:46
a way to make lots of money quick and easy no lies Dob Main CFD Forum 0 October 10, 2006 16:45


All times are GMT -4. The time now is 22:05.