Can you please describe me the BeamContact3D penalty element? How to choose the penalty? Why we need this penalty and what does it do? How can we modify the gap and force tolerance parameters for this version of the BeamContact3D?
The BeamContact3D uses the Lagrange Multipliers method, while the BeamContact3Dp uses the Penalty method to enforce Contact condition.
The Lagrange Multiplier can be tricky in dynamic analysis, that's why I tried with the Penalty.
1) Why do you use the transient analysis for applying self-weight analyses? (I was unable to successfully run the model when I switched the conditions to static analysis)
Because the UP elements work only in dynamic analyses, so if you want to use those in a quasi-static problem, you have to run a dynamic analysis with very large time steps so that iniertia effect are zero.
2)Will applying the soil self-weight within the element instantaneously will create problems when using non-linear soil material? Maybe it's practical to apply soil weight as a body force in geotechnical OpenSees models.
Of course, in that case, use the VolumeForce tool in STKO. It is input a force per unit volume in STKO, but then STKO converts it to equivelent nodal loads that can be used in load patterns.
3)In the attached model you have fixed the Pressure for the entire model throughout all the analyses. This makes using the UP element pointless. However, when I change this fixity to a pressure-free surface (fix P at 0 on top surface) no porewater pressure is generated in the model during any of the analyses. When I fix it to be a certain pressure (simulating sea-level) using sp the fixed porewater pressure still changes during the analysis. What might cause this?
I fixed all P DOFs to make a comparison with the standard U element.
Also, the BeamContact3D element only connects 3DOF, is this the part that you have solved with the updated python files, or do I need to implement phantom nodes with eDOF to connect the UP elements with the contact elements?
Yes, now if the contact finds a node with num dofs != 3, it will create a new 3DOF node at the same position, linked with EDOF at the common DOFs.
4) It seems that the frictional material assigned to the beamcontact3D element (lateral) does not activate skin friction during the vertical pile loading stage. Apparently the element slides freely along the vertical soil face and only affects the soil around the pile toe. Can you confirm this?
Yes because you gave a small G (tangential stiffness in the contact material) and also because there is not large enough confining stress to create the stick condition. Try to increase G to 1.0e10, and use large (1.0e200) C and t. I know it is not real, but will enforce the stick condition even if there is no compressive stress (this is just to show how it works)
Are these related to the recorder (they may not be appropriate recorder queries) or is this an issue that can cause problems with the analysis? E.g. the local Z axes assigned to the contact element all point in one direction and do not align with the interaction lines.
They are just warnings, don't bother
6) I've changed the dynamic analyses according to my problem. It's a dynamic pile load test. (dynamic loading at pile head), however I had convergence issues after the first few seconds of the analysis. Which parameters are wrong in my attached model?
You are using very large penalty values for constraints. Also use the Newton with linesearch, it is better for contact problems.
7) Finally, a suggestive question. If I use separate volumes for the soil domain and the soil to be removed then attach them with eDOF for the geostatic analysis, then remove all the elements and eDOFs can we evade the trouble of selecting and keeping the interface nodes that are shared in the merged model (model you provided)?
It will work, it's just more complicated because in the TCL script for the removal, you have to remove MP constraints as well.
Here is a working file. During you final analysis it will have convergence problem. Probably it is due to forces that are very high. Try reducing the time step, or using smooth timeSeries (the pulse one creates shocks)