Clamp boundary condition
Hi Philip,
Thanks for getting back! What I would like to do is to impose a fixed displacement on a symmetry plane of a beam-like geometry (symmetry plane perpendicular to the beam axis). As we're dealing with a symmetry plane, the beam axis should remain perpendicular to the symmetry plane. In a classic beam bending case, it would be sufficient to also fix the rotation of the beam, but an elastic solid isn't restricted to only bending deformation, so when I apply a fixedDisplacement BC (therefore letting go of the symmetry BC), there will also be shear deformation, causing a sort of dent in the geometry if you'd mirror it in its symmetry plane. I hope my explanation is clear, but if you need illustrations please let me know. Thanks, Sita P.S. My workaround for now is to hold on to the symmetry BC, and use an additional, small object to press down on my geometry (similar to the pipeCrush tutorial), but that feels like a bit of an overkill |
Hi Sita,
I am not sure I understand what you mean by symmetry plane: a symmetry plane full defines the condition so it is not possible to apply an additional condition. For example, you can have symmetryPlane or fixedDisplacement but not both. Also, by definition, a symmetry has zero shear force/stress. Yep an illustration would help me understand better. Philip |
Clamp boundary condition
4 Attachment(s)
Hi Philip,
Sorry, I probably should have added some pictures straight off. I've attached screenshots of the initial and final geometries (full and quarter, with two symmetry planes). The symmetry plane I was talking about earlier is the one on the top left of Initial_Quarter.png. Thank you for your patience! Sita |
Thanks,
What are the loading conditions? Philip |
Clamp boundary condition
Hi Philip,
Those images were made by assigning a symmetry BC to the bottom right horizontal symmetry plane, and imposing a fixedDisplacement to the top left vertical patch (which should have been a symmetry plane too). So it's really just an annular cross section being squeezed in the middle. For the inner and outer walls I used solidTraction, and the front and back are empty (i.e. 2D geometry). The deformation is purely elastic, no plastic deformation. Thanks, Sita |
Hi Sita,
For the full case (no symmetries), what are (or would be) the boundary conditions? Philip |
Clamp boundary condition
Ah right, that's what you mean. That would be a fixed displacement inward for the top and bottom point, the rest of the geometry is free to follow.
|
OK, thanks, now I understand.
In finite element (or vertex-based finite volume) method, you could apply a displacement directly to the top vertex, however, as we are using the cell-centre finite volume method here, our options are to apply a displacement to a boundary face-centre or to an internal cell-centre. I suggest the following:
This will mimic a displacement being applied to the point and will give the same result as the mesh is refined. Philip |
Clamp boundary condition
Hi Philip,
Yes, I'm aware of those differences in implementation, just couldn't think of a concise way of describing my full-geometry BCs in finite volume language, but glad you get it now anyway. Great, addTinyPatch looks perfect, I'll try that! Thanks a million for helping out, Sita |
Clamp boundary condition
Brilliant, addTinyPatch works like a charm, thanks again!
|
Quote:
Regarding my previous post, I found an interesting presentation about fracture modeling from Dr. Cardiff. The fracture dynamics were modeled using the library FROGG, but it looks fairly similar to the fracture implementation in solids4foam (for the solid part at least). In this presentation the full solid-fluid interaction is modeled and it is able to resolve the cracked cells at the interface (unlike my simulation with solids4foam). So my question is, is this FSI-Frature modelling posible within solids4foam; and if so, what are the limitations? (i.e. only unstructured grids, only mapping the pressure...) Thank you! |
solids4Foam on OF7 - GGI Mapping not implemented error
1 Attachment(s)
Hi,
I have successfully used solids4Foam on foam-extend 4.0, but now have converted all my own code to OpenFOAM 7 (mostly because it makes things easier for my undergraduates who find foam-extend a bit difficult). Have compiled solids4Foam (master branch) successfully on OF7, and changed the tutorials (using the feature-tutorialsWorkWithOpenfoam branch and the convert script). I have tested the 3dTube and the HronTurek examples. Unfortunately the code stops with the error (full log attached). Code:
Time = 0.001 What is the status of the OF compatibility? Which branch to use for that? Attachment 80311 |
Hi Torsten,
You can use AMI or directMap instead of GGI; GGI is only in foam-extend and OpenFOAM has AMI. Also, have a look at the following tutorial: Code:
solids4foam-release/tutorials/fluidSolidInteraction/beamInCrossFlow/linearGeometryElasticBeam.openfoam Philip |
Thanks a lot. Yes, I still hope to keep some research going, but teaching overheads are through the roof. At least I have a few undergrads doing stuff related to my research in the final year project, so I have an excuse ....
Detailed solution: I was looking for the option to change from GGI, but couldn't find it (since the lines were not in the tutorials I looked at. Adding the lines: Code:
// Method for transferring information between the interfaces (Taken from the tutorial that BigPhil referenced) |
solids4Foam error in OF v1912 (AMI?)
Hi, I have tested the development branch on OF v1912, with the recent fix for the changes in meshObject::gravity.
The compilation works and my test case that runs on OF7 starts fine. There are two issues: 1. the gravity file must be there, even though the code outputs that it initialises with zero since it's missing: Code:
g field not found in constant directory: initialising to zero 2. The AMI grid interpolations does not seem to work. On the OF7 compile the AMIInterpolation code is not replaces IIRC, for OF v1812 and v1912 it is. I need to test 1812, but in 1912, there seems to be a problem with a pointer in there: Code:
Interpolating point values using AMI Code:
interfaceTransferMethod RBF; |
Hi Torsten,
Thanks for these comments. Regarding gravity, in v1912 they decided that gravity should always be looked up from the main case even if there are regions; I guess the argument is that gravity will be the same for all regions. It is actually the solid that is looking up the gravity field in this case. Copying (or soft linking) to solid/g is the easiest fix. Regarding the problem with AMI, please create an issue on the bitbucket. Hopefully it is a simple fix. Thanks, Philip |
Quote:
Will create an issue on bitbucket. I know you have not yet ported to v2006, but there is another problem with AMI (AMI changed in 2006). I'll put that on bitbucket as well. |
Relaxation methods not set?
Hello,
I am not sure since when this is the case, but on my systems, the relaxation method is being reported as "fixes" even if I select IQNILS or Aitken. HTML Code:
Creating solidTraction boundary condition limiter coefficient: 1 under-relaxation method: fixed fsiProperties has: HTML Code:
fluidSolidInterface IQNILS; IQNILSCoeffs { // Solid interface patch and faceZone solidPatch inner-wall; solidZone inner-wall-zone; // Fluid interface patch and faceZone fluidPatch wall; fluidZone wall-zone; // Under-relaxation factor for passing the solid interface // displacement/velocity to the fluid interface // For fixedRelaxation, this value is used for all iterations // For Aitken, this value is used for the first iteration each time-step, // then it adaptively changes // For IQNILS, this value is used for the first two iterations each // time-step, then the IQNILS procedure is used relaxationFactor 0.005; Not sure what's going on there. Happens on fe40, fe41 and OF1912. It has happened for quite a while apparently, just checked some old cases. But I seem to remember that it used to report IQNILS changing the under-relaxation, but will need to dig through the archives. This could explain why I'm struggling to vaildate the code against a 3-d flexible tube case. |
Hi Torsten,
The solidTraction boundary condition also has an optional under-relaxation factor. This is unrelated to the FSI under-relaxation method. Philip |
Quote:
Thanks, I wondered if that was the case. Am I imagining things when I believe to remember that the code used to report the FSI under-relaxation? I may be mistaken. The drawback is that I now don't have an explanation why the deformation in my benchmark is only around 60% of the published values. |
All times are GMT -4. The time now is 00:51. |