|
[Sponsors] |
July 15, 2020, 11:56 |
Clamp boundary condition
|
#541 |
Senior Member
Sita Drost
Join Date: Mar 2009
Location: Arnhem, The Netherlands
Posts: 227
Rep Power: 18 |
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 |
|
July 15, 2020, 12:09 |
|
#542 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
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 |
|
July 16, 2020, 02:48 |
Clamp boundary condition
|
#543 |
Senior Member
Sita Drost
Join Date: Mar 2009
Location: Arnhem, The Netherlands
Posts: 227
Rep Power: 18 |
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 |
|
July 17, 2020, 08:26 |
|
#544 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Thanks,
What are the loading conditions? Philip |
|
July 17, 2020, 08:43 |
Clamp boundary condition
|
#545 |
Senior Member
Sita Drost
Join Date: Mar 2009
Location: Arnhem, The Netherlands
Posts: 227
Rep Power: 18 |
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 |
|
July 17, 2020, 08:47 |
|
#546 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Hi Sita,
For the full case (no symmetries), what are (or would be) the boundary conditions? Philip |
|
July 17, 2020, 08:58 |
Clamp boundary condition
|
#547 |
Senior Member
Sita Drost
Join Date: Mar 2009
Location: Arnhem, The Netherlands
Posts: 227
Rep Power: 18 |
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.
|
|
July 17, 2020, 10:22 |
|
#548 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
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 |
|
July 17, 2020, 10:30 |
Clamp boundary condition
|
#549 |
Senior Member
Sita Drost
Join Date: Mar 2009
Location: Arnhem, The Netherlands
Posts: 227
Rep Power: 18 |
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 |
|
July 20, 2020, 11:14 |
Clamp boundary condition
|
#550 |
Senior Member
Sita Drost
Join Date: Mar 2009
Location: Arnhem, The Netherlands
Posts: 227
Rep Power: 18 |
Brilliant, addTinyPatch works like a charm, thanks again!
|
|
July 22, 2020, 18:27 |
|
#551 | |
New Member
Sergio Fraile
Join Date: Jun 2020
Location: California, USA
Posts: 7
Rep Power: 6 |
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! |
||
September 23, 2020, 05:22 |
solids4Foam on OF7 - GGI Mapping not implemented error
|
#552 |
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 12 |
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 Setting traction on solid interfaces --> FOAM FATAL ERROR: Not implemented From function Not implemented for this version of OpenFOAM/FOAM in file fluidSolidInterfaces/fluidSolidInterface/interfaceToInterfaceMapping/ggiInterfaceToInterfaceMapping/ggiInterfaceToInterfaceMapping.C at line 212. FOAM aborting What is the status of the OF compatibility? Which branch to use for that? solids4Foam.log.txt |
|
September 23, 2020, 05:53 |
|
#553 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
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 |
|
September 23, 2020, 06:57 |
|
#554 |
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 12 |
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 //interfaceTransferMethod directMap; interfaceTransferMethod AMI; //interfaceTransferMethod RBF; //interfaceTransferMethod GGI; (Taken from the tutorial that BigPhil referenced) |
|
October 12, 2020, 14:54 |
solids4Foam error in OF v1912 (AMI?)
|
#555 |
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 12 |
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 --> FOAM FATAL ERROR: cannot find file "/home/acests3/OpenFOAM/acests3-7/run/3dTube/constant/g" From function virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 548. FOAM exiting 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 zoneA point orientation (< 0), max: -0.999196, min: -1, nIncorrectPoints: 0/1701 --> FOAM FATAL ERROR: Cannot dereference nullptr at index 0 in range [0,1701) From function T& Foam::UPtrList<T>::operator[](Foam::label) [with T = Foam::Field<double>; Foam::label = int] in file /usr/lib/openfoam/openfoam1912/src/OpenFOAM/lnInclude/UPtrListI.H at line 221. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ./src/OSspecific/POSIX/printStack/printStack.C:239 #1 Foam::error::abort() at ??:? #2 Foam::interfaceToInterfaceMappings::amiInterfaceToInterfaceMapping::calcZoneAPointWeights() const at ??:? #3 Foam::interfaceToInterfaceMappings::amiInterfaceToInterfaceMapping::zoneAPointWeights() const at ??:? #4 void Foam::interfaceToInterfaceMappings::amiInterfaceToInterfaceMapping::transferPointsZoneToZone<Foam::Vector<double> >(Foam::PrimitivePatch<Foam::face, Foam::List, Foam::Field<Foam::Vector<double> >, Foam::Vector<double> > const&, Foam::PrimitivePatch<Foam::face, Foam::List, Foam::Field<Foam::Vector<double> >, Foam::Vector<double> > const&, Foam::Field<Foam::Vector<double> > const&, Foam::Field<Foam::Vector<double> >&) const at ??:? #5 Foam::fluidSolidInterface::updateResidual() at ??:? #6 Foam::fluidSolidInterfaces::IQNILSCouplingInterface::evolve() at ??:? #7 ? in ~/OpenFOAM/acests3-v1912/platforms/linux64GccDPInt32Opt/bin/solids4Foam #8 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #9 ? in ~/OpenFOAM/acests3-v1912/platforms/linux64GccDPInt32Opt/bin/solids4Foam Aborted (core dumped) Code:
interfaceTransferMethod RBF; |
|
October 12, 2020, 18:14 |
|
#556 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
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 |
|
October 12, 2020, 20:04 |
|
#557 | |
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 12 |
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. |
||
October 20, 2020, 06:35 |
Relaxation methods not set?
|
#558 |
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 12 |
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. |
|
October 20, 2020, 06:42 |
|
#559 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Hi Torsten,
The solidTraction boundary condition also has an optional under-relaxation factor. This is unrelated to the FSI under-relaxation method. Philip |
|
October 20, 2020, 08:04 |
|
#560 | |
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 12 |
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. |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
GPU Linear Solvers for OpenFOAM | gocarts | OpenFOAM Announcements from Other Sources | 37 | August 17, 2022 15:22 |
[Virtualization] OpenFOAM oriented tutorial on using VMware Player - support thread | wyldckat | OpenFOAM Installation | 2 | July 11, 2012 17:01 |
New OpenFOAM Forum Structure | jola | OpenFOAM | 2 | October 19, 2011 07:55 |
Cross-compiling OpenFOAM 1.7.0 on Linux for Windows 32 and 64bits with Mingw-w64 | wyldckat | OpenFOAM Announcements from Other Sources | 3 | September 8, 2010 07:25 |
OpenFOAM Debian packaging current status problems and TODOs | oseen | OpenFOAM Installation | 9 | August 26, 2007 14:50 |