|
[Sponsors] |
[solids4Foam] unexpected behaviour in the displacement direction |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
July 18, 2023, 08:49 |
unexpected behaviour in the displacement direction
|
#1 |
New Member
Julia Docampo
Join Date: Jun 2013
Location: Barcelona, Spain
Posts: 14
Rep Power: 13 |
Hello !
I am running a solid contact problem using solids4foam . It is a cylinder inserted on a box and I apply a load on the top lid of the cylinder. The box is fixed by two patches as shown in the picture (I also highlight the load in the picture) setup_cylinder.png I am using the unsLinGeometry model and the problem is time independent. After running for 5k iterations, I obtain a residual of 6.e-05. If I visualize the results and then use the paraview "warp by vector" filter, the displacement of the box is as expected: shifting downwards. However, the cylinder pops up from the box, as if I were pulling from it rather than pushing: warped.jpg My D file is as follows: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.1 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object D; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); boundaryField { box_0_main_0 { type solidTraction; traction uniform ( 0 0 0 ); pressure uniform 0; value uniform (0 0 0); } box_0_f_0 { type fixedDisplacement; value uniform (0 0 0); } box_0_f_1 { type fixedDisplacement; value uniform (0 0 0); } box_0_cylinder_0 { type solidContact; shadowPatch cylinder_0_box_0; master no; value uniform (0 0 0); } cylinder_0_main_0 { type solidTraction; traction uniform ( 0 0 0 ); pressure uniform 0; value uniform (0 0 0); } cylinder_0_load_0 { type solidTraction; traction uniform ( 0 0 0 ); pressure uniform 319883; value uniform (0 0 0); } cylinder_0_box_0 { type solidContact; master yes; rigidMaster no; shadowPatch box_0_cylinder_0; normalContactModel standardPenalty; standardPenaltyNormalModelDict { relaxationFactor 0.1; penaltyScale 1; } frictionContactModel standardPenalty; standardPenaltyFrictionModelDict { relaxationFactor 0.1; penaltyScale 1; frictionLaw coulomb; frictionLawDict { frictionCoeff 0.5; } } value uniform (0 0 0); } } // ************************************************** *********************** // I am happy to share the full case if it helps. Is this the expected behavior ? I was hoping to see the full geometry going downwards. any suggestions/ ideas are very welcome. |
|
July 19, 2023, 10:43 |
amount of pressure affects the direction
|
#2 |
New Member
Julia Docampo
Join Date: Jun 2013
Location: Barcelona, Spain
Posts: 14
Rep Power: 13 |
update:
The same test with a higher pressure load, displaces the object in the expected direction. I have simplified the case by loading the top lid and fixing the bottom. I don't know how to justify this behavior. For reference, a comparison of the two results: result.jpg warping D by a factor of 10 amplified.jpg I would expect the direction to be the same in both cases: a compression. Any ideas żż?? |
|
August 23, 2023, 04:30 |
impact of the mesh type
|
#3 |
New Member
Julia Docampo
Join Date: Jun 2013
Location: Barcelona, Spain
Posts: 14
Rep Power: 13 |
Hi again,
In case someone has faced something similar or can have some ideas... I've done further experiments, in this case, playing with the mesher. To make blockMesh work "easily" with all the patches, the objects are two cubes. I have noticed that if the contact patches overlap perfectly (as patches, not as mesh elements, NO need to be conformal) then the solver behaves as expected. The case is identical to the previous one: we load from the top of the upper cube and fix the bottom of the lower cube and we apply a pressure load: load { type solidTraction; traction uniform ( 0 0 0 ); pressure uniform 66; value uniform (0 0 0); } With warping, we see that the punch goes in the expected direction. block_mesh.jpg If we now take the same problem but mesh it with cartesianMesh: the punch is being "suctioned up": in the opposite direction. Also, the difference in the magnitude D is quite remarkable: 7 orders of magnitude higher!! cf_mesh.jpg The relevant differences in the mesh can be appreciated in the contact region: mesh_comp.jpg I am still trying to understand what's going on. Note that on the blockMesh, the mesh overlap is non-conformal (deliberately). But the contact region is the same whereas in the case of cartesianMesh, the contacts don't perfectly match. I don't know how to solve this because I can't expect a perfect overlap in the contacts for a general problem. Also, the difference in the magnitude of the solution is puzzling to me. If anyone has any thoughts, it would be very appreciated 😄 |
|
Tags |
contacts, displacement, linear geometry, solid models |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
ANSYS Workbench on "Uncertified" Linux Distros | hsr | CFX | 289 | April 20, 2023 10:23 |
FLUENT + porous media and direction angle | zog | FLUENT | 2 | August 11, 2019 10:47 |
Unexpected direction of fluid flow | rahulksoni | OpenFOAM Running, Solving & CFD | 2 | August 2, 2019 04:01 |
FLUENT installation on UBUNTU 12.04 (LTS) | teymourj | FLUENT | 2 | March 1, 2017 23:24 |
error 262144 and unexpected disconnect when run on 2 nodes | Emily1412 | SU2 Installation | 1 | April 10, 2014 18:08 |