# Boundary condition: solidTraction question

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 LinkBack Thread Tools Search this Thread Display Modes
 July 3, 2019, 04:56 Boundary condition: solidTraction question #1 Super Moderator     Philip Cardiff Join Date: Mar 2009 Location: Dublin, Ireland Posts: 895 Rep Power: 29 To publicly answer a question I received via email: Question { type solidTraction; traction uniform (0 0 0); pressure uniform 0; value uniform (0 0 0); } a) What is value referring to? b) Is it possible to use force as a boundary condition? c) { type solidTraction; tractionSeries { fileName "\$FOAM_CASE/constant/timeVsTraction"; outOfBounds clamp; } pressure uniform 0; value uniform (0 0 0); } What is this "outOfBounds"? What else exists? I have tried the “banana” trick but got no alternatives to clamp Answer a) All boundary conditions in OpenFOAM can (optional for some) specify the value field. This field is the current value of the field on this patch; in this case, if it is the displacement (D) field, the value gives the current value of displacement on this patch. So for solidTraction, this value is just used as an initial condition for displacement at the patch i.e. it does not affect the traction or enforced boundary condition in any way. b) solidTraction applies a traction (force per unit area) so if you want to apply a force F, you could divide F by the area of the patch to give you the equivalent traction and then use solidTraction to apply this traction. Alternatively, it would not be difficult to create a boundary condition called e.g. solidForce which takes the total force as an argument but then you have to decide how will this force be distributed across the patch; if it is uniform then it is the same as applying a traction, though maybe more convenient as the code will calculate the area. c) This is how to deal with the XY interpolation if the time goes outside the specified range e.g. if timeVsTraction looks like: Code: ```( (0 (0 0 0)) (1 (1e6 0 0)) )``` At time = 0.5 then the traction will be linearly interpolated to be (0.5e6 0 0). But for time = 2, it is undefined as it is out of bounds, so the "clamp" behaviour means take the closest value so in this case traction will be clamped to the value at time = 1 as (1e6 0 0). Other options, you can see them in the code at: \$FOAM_SRC/foam/interpolations/interpolationTable/interpolationTable.H They are: exit, warn, clamp and repeat, where exit will stop and give and error, warn will print and warning and then use clamp behaviour, clamp is described above, and repeat assume the will series is periodically repeated. Philip Daniel_Khazaei, peyman.havaej and thejavarma9 like this. Last edited by bigphil; July 3, 2019 at 05:09. Reason: Added c)

 December 29, 2019, 13:51 #2 Senior Member   Hojatollah Gholami Join Date: Jan 2019 Posts: 140 Rep Power: 4 Dear Philip As I saw in solidTractionFvPatchVectorField.C, I think this boundary condition do as follow: 1- checking "gradient" available or not: set gradient vector value or set it zero for initial. (what is gradient?) 2- checking "value" available or not: set field vector value (example D set vector value) or set internal value of near cells of patch to it. 3- checking tractionSeries and pressureSeries available or not: set traction and pressure as time-varying or set traction and pressure vector values. 4-checking secondorder correction false or true, limitCoeff one or bellow one, and relaxationFacror one or bellow one. 5- auto maping traction and pressure to patch (is it transfering t and p to patch?) 6- reverse mapping traction and pressure patch (is it changing direction of t and p sign?) 7- check if updated do nothing ( which is updated?) 8- if tractionSeries and pressureSeries were available update traction and pressure base on time 9- lookup solidModel that used (for what?) 10- calculate surface-normal gradient on patch, (which variable?) 11- lookup grad(...) from ?fvScheme (?) 12- give Face unit normals (n), Delta vectors (delta) and Non-orthogonal correction vectors (k) 13- if secondOrder: D = D + k.grad(D) + 1/2( ? +n.grad(D))/(reciprocal distance) or firstOrder: D = D + k.grad(D) + ?/(reciprocal distance) 14- writing tractionSeries or traction, pressureSeries or pressure, value, etc. if it's possible, please consider it, and favor me to correct it. Thanks

 September 3, 2020, 05:43 #3 New Member   Denis Maier Join Date: Aug 2019 Posts: 10 Rep Power: 3 Hello all, I noticed that the solidTraction boundary condition uses the inverse convention for the pressure keyword as the solidModels do. That is, if I apply a pressure of +10kPa on a 1D-Rod it will compress and I get negative sigma. Similarly, for a pressure of -10kPa, it will elongate and I get positive sigma. The traction keyword is correct however. (Probably because it is a vector and therefor the direction is clear) Does anyone know if there is a reason for this behaviour? Greetings, Denis

September 7, 2020, 04:25
#4
Super Moderator

Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 895
Rep Power: 29
Quote:
 Originally Posted by DOMaier Hello all, I noticed that the solidTraction boundary condition uses the inverse convention for the pressure keyword as the solidModels do. That is, if I apply a pressure of +10kPa on a 1D-Rod it will compress and I get negative sigma. Similarly, for a pressure of -10kPa, it will elongate and I get positive sigma. The traction keyword is correct however. (Probably because it is a vector and therefor the direction is clear) Does anyone know if there is a reason for this behaviour? Greetings, Denis
Hi Denis,

The typical convention (in mechanical engineering anyway) is to assume positive pressure means compression.

And so a positive surface pressure means to "push in" on a surface.

Philip

 September 7, 2020, 05:02 #5 New Member   Denis Maier Join Date: Aug 2019 Posts: 10 Rep Power: 3 Hi Philip, thanks for the clarification. So it's more or less just a "word"-thing, where "pressure" is defined to have the inverse sign convention to "stress". Denis

September 7, 2020, 06:00
#6
Super Moderator

Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 895
Rep Power: 29
Quote:
 Originally Posted by DOMaier thanks for the clarification. So it's more or less just a "word"-thing, where "pressure" is defined to have the inverse sign convention to "stress".
Sure, yes. Just like in fluids, positive pressure typically means the material is being compressed.

 Thread Tools Search this Thread Search this Thread: Advanced Search Display Modes Linear Mode

 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 OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Saturn CFX 58 July 3, 2020 01:13 peob OpenFOAM Running, Solving & CFD 3 February 3, 2017 10:54 karmavatar CFX 20 March 20, 2016 08:44 Madhatter92 CFX 12 January 12, 2016 04:39 prapanj OpenFOAM Running, Solving & CFD 1 March 16, 2009 07:51

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

 Contact Us - CFD Online - Privacy Statement - Top