Repository navigation
Add SSPTethraUP single-point tetrahedral u-p element and integration script - #207
Open
gcavpoliba wants to merge 5 commits into
Open
gcavpoliba wants to merge 5 commits into
gcavpoliba wants to merge 5 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ok, I did some check and some changes. In the following I add a brief description and send a pull request for the documentation.
Add SSPTethraUP single-point tetrahedral u-p element and integration script
Summary
This PR adds
SSPTethraUP, a four-node single-point tetrahedral element with a displacement-pressure formulation for three-dimensional dynamic analysis of saturated porous media.The element is derived from the existing OpenSees
SSPbrickUPelement. It follows the same stabilized single-point finite element approach and the generalized Biot displacement-pressure formulation used in the SSP element family.Main changes introduced
1. Copy element source files
The script copies:
SSPTethraUP.hSSPTethraUP.cppinto:
2. Add the element class tag
The script adds the new element class tag in:
The insertion is done dynamically:
3. Register the element command in the OpenSees interpreter
The script updates:
It adds:
SSPTethraUPcommand;SSPTethraUPcommand in the element command map.This allows OpenSees to recognize:
4. Add the Tcl dispatcher
The script updates:
It adds:
SSPTethraUPcommand;SSPTethraUP.The new branch is inserted after the existing
SSPbrickUPbranch.5. Update the object broker
The script updates:
It adds:
SSPTethraUP.h;SSPTethraUPobject during object brokering.This is needed for parallel execution, database recovery, and object reconstruction.
If available, the script also updates the runtime broker:
6. Add recorder support
The script adds support for the new tetrahedral element in selected OpenSees recorders.
For VTK-related recorders, if present, it maps the element to a VTK tetrahedron type.
For
GmshRecorder.cpp, if present, it maps the element to a Gmsh tetrahedron type.For
MPCORecorder.cpp, it adds the new element tag to the existing condition used for tetrahedral elements.7. Update the build system
The script updates the build files required to compile the new element.
It updates:
by adding:
SSPTethraUP.cppSSPTethraUP.hIf legacy Makefiles are present, it also updates:
8. Script behavior
The script is designed to be robust and idempotent:
High-level description of the
SSPTethraUPimplementationSSPTethraUPis a four-node tetrahedral finite element for three-dimensional analysis of saturated porous media.Each node has four degrees of freedom:
The element therefore has sixteen total degrees of freedom.
The element uses a single integration point at the centroid. For a linear four-node tetrahedron, the strain field is constant over the element, and the one-point integration rule is exact.
Because the linear tetrahedron does not have hourglass modes, the additional stabilization stiffness used in the eight-node
SSPbrickUPhexahedron is not required. However, the pressure stabilization technique used in the SSP displacement-pressure element family is retained.The implementation includes:
As in the other SSP displacement-pressure elements, the physical pore pressure is associated with the velocity of the fourth degree of freedom. Therefore, pore pressure output should generally be recorded using velocity output for the fourth degree of freedom.
Technique and references
The element is based on a stabilized single-point displacement-pressure finite element technique for saturated porous media.
The formulation follows the generalized Biot displacement-pressure approach. The implementation is derived from the
SSPbrickUPelement developed by McGann, Arduino, and Mackenzie-Helnwein.