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

[solids4Foam]solidDirectionMixed or fixedNormalDisplacement?

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 1 Post By bigphil
  • 1 Post By monnda

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 30, 2019, 06:18
Default [solids4Foam]solidDirectionMixed or fixedNormalDisplacement?
  #1
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 7
monnda is on a distinguished road
Hello everyone!

I am currently working on a fsi problem with solids4Foam and I have a small question about boundary conditions.

I want to apply load on the solid patch but I want the solid to move towards only one direction. I thought I can do this with some sort of direction mixed boundary conditions and I found solidDirectionMixed and fixedNormalDisplacement.

Problem here is that I do not know how to use these boundary conditions and the difference between them.

I would be appreciate if someone could help me.
monnda is offline   Reply With Quote

Old   October 30, 2019, 06:37
Default
  #2
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi,

For each Cartesian direction, it is possible to apply a force or displacement (not both).

So what exactly do you wish to apply? e.g. force in normal direction, zero displacement in tangential direction , or zero displacement in normal direction, zero force in tangential directions.

Philip
bigphil is offline   Reply With Quote

Old   October 30, 2019, 06:53
Default
  #3
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 7
monnda is on a distinguished road
Hello,

I want to apply traction in y-direction but I want to constrain the movement of the solid body in x-direction as well.
monnda is offline   Reply With Quote

Old   October 30, 2019, 07:53
Default
  #4
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by monnda View Post
Hello,

I want to apply traction in y-direction but I want to constrain the movement of the solid body in x-direction as well.
What is the unit normal of your boundary?

Philip
bigphil is offline   Reply With Quote

Old   October 31, 2019, 00:42
Default
  #5
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 7
monnda is on a distinguished road
Hello Philip,

My case looks basically a journal bearing so normal vectors are pointing towards outside of the shaft. Force is applied on the end on the shaft. Is it possible to constrain the displacement or the rotation of the shaft?
monnda is offline   Reply With Quote

Old   October 31, 2019, 05:41
Default
  #6
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
What is the unit normal of the boundary where you want to apply the boundary condition? I can't advise without this information.
bigphil is offline   Reply With Quote

Old   October 31, 2019, 07:07
Default
  #7
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 7
monnda is on a distinguished road
Hello

I'm not quite sure if I understand your question correctly but here is the picture of the shaft inside the journal bearing.
The blue part is where I wanna apply the force and the white part is the fluid-solid interface. Other parts are just solidTraction so that they deform freely.

shaft.jpg
monnda is offline   Reply With Quote

Old   October 31, 2019, 09:00
Default
  #8
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
So just so I am clear, on the blue patch you want to apply a traction in the y direction and set the displacement to zero in the x direction; is that correct?

This can be done with a modified version of the fixedDisplacementZeroShear boundary condition: the valueFraction controls the "fixed" (displacement) direction and then you can set the displacement with refValue and traction iteratively via refGradient.
bigphil is offline   Reply With Quote

Old   October 31, 2019, 10:27
Default
  #9
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 7
monnda is on a distinguished road
Thanks Philip! That is exactly what I wanted to know!

But what about solidDirectionMixed boundary condition and fixedNormalDisplacement?
How are they different?
monnda is offline   Reply With Quote

Old   November 1, 2019, 06:13
Default
  #10
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
solidDirectionMixed is the same as directionMixed except that solidDirectionMixed implements non-orthogonal correction.

fixedDisplacementZeroShear derives from solidDirectionMixed. It applies a user-specified vector displacement in the patch normal direction, where only the normal component of this vector is used; and it then applies zero force/traction in the patch tangential directions.

fixedNormalDisplacement is the same as fixedDisplacementZeroShear, just a different implementation/implementor; I plan to remove it.

I have just created a new boundary condition called displacementOrTraction, which I have pushed to the development branch. This boundary condition can act as displacement or traction or displacement in a direction or traction in a direction for each face, depending on how the valueFraction and specifyNormalDirection fields are set.

You can achieve the behaviour you want with the following settings:
Code:
patchName
{
    type    displacementOrTraction;
    constantTraction uniform (0 1e6 0); // or whatever you like
    constantDisplacement uniform (0 0 0);
    valueFraction uniform (1 0 0 0 0 0); // X direction is displacement, Y and Z are traction
}
valueFraction means the same as for directionMixed, and optionally a field called specifyNormalDirection allows the normal direction to be set as displacement or traction.

It is available now on the development branch, which I will merge with the master once I have performed the usual checks.

Philip
Daniel_Khazaei likes this.
bigphil is offline   Reply With Quote

Old   November 11, 2019, 09:01
Default
  #11
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 7
monnda is on a distinguished road
Hello Philip!

Sorry for being late to reply but I just checked your boundary condition worked just like what I wanted!

Thank you very much!
bigphil likes this.
monnda is offline   Reply With Quote

Old   September 9, 2021, 00:42
Default
  #12
Member
 
Francisco T
Join Date: Nov 2011
Location: Melbourne, Australia
Posts: 64
Blog Entries: 1
Rep Power: 14
frantov is on a distinguished road
Hi Phillip

I have a probably related question.

I would like to restrict the movement of a boundary to only +y (assuming at t=0, y = 0)


This is because at y- in real life, there is another surface (contact). But I dont want to model the contact.

Maybe I dont have another option but modelling the contact, and hence include friction, right?

Cheers
Fran
frantov is offline   Reply With Quote

Reply


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



All times are GMT -4. The time now is 09:53.