Skip to content

Commit

Permalink
Merge pull request #684 from MassimoPetracca/add-zero-length-implex-c…
Browse files Browse the repository at this point in the history
…ontact

A new Frictional Contact element with IMPL-EX algorithm
  • Loading branch information
mhscott committed Oct 18, 2021
2 parents 252a61b + cf8780a commit 6d8bdc6
Show file tree
Hide file tree
Showing 17 changed files with 1,415 additions and 4 deletions.
1 change: 1 addition & 0 deletions SRC/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,7 @@ ELE_LIBS = $(FE)/element/Element.o \
$(FE)/element/truss/InertiaTruss.o \
$(FE)/element/zeroLength/ZeroLengthContact2D.o \
$(FE)/element/zeroLength/ZeroLengthContact3D.o \
$(FE)/element/zeroLength/ZeroLengthContactASDimplex.o \
$(FE)/element/zeroLength/ZeroLengthContactNTS2D.o \
$(FE)/element/zeroLength/ZeroLengthInterface2D.o \
$(FE)/element/zeroLength/ZeroLengthRocking.o \
Expand Down
5 changes: 4 additions & 1 deletion SRC/actor/objectBroker/FEM_ObjectBrokerAllClasses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@
#include "zeroLength/ZeroLengthContact3D.h"
#include "zeroLength/ZeroLengthContactNTS2D.h"
#include "zeroLength/ZeroLengthInterface2D.h"
#include "zeroLength/ZeroLengthContactASDimplex.h"
//#include "ZeroLengthND.h"

#include "fourNodeQuad/FourNodeQuad.h"
Expand Down Expand Up @@ -688,7 +689,9 @@ FEM_ObjectBrokerAllClasses::getNewElement(int classTag)

case ELE_TAG_ZeroLengthContactNTS2D:
return new ZeroLengthContactNTS2D();


case ELE_TAG_ZeroLengthContactASDimplex:
return new ZeroLengthContactASDimplex();

//case ELE_TAG_ZeroLengthND:
//return new ZeroLengthND();
Expand Down
1 change: 1 addition & 0 deletions SRC/classTags.h
Original file line number Diff line number Diff line change
Expand Up @@ -797,6 +797,7 @@
#define ELE_TAG_InertiaTruss 218 //Added by Xiaodong Ji, Yuhao Cheng, Yue Yu
#define ELE_TAG_ASDAbsorbingBoundary2D 219 // Massimo Petracca (ASDEA)
#define ELE_TAG_ASDAbsorbingBoundary3D 220 // Massimo Petracca (ASDEA)
#define ELE_TAG_ZeroLengthContactASDimplex 221 // Onur Deniz Akan (IUSS), Massimo Petracca (ASDEA)
#define ELE_TAG_ExternalElement 99990


Expand Down
16 changes: 13 additions & 3 deletions SRC/element/TclElementCommands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ extern void *OPS_BeamGT(void);

extern void* OPS_DispBeamColumnAsym3dTcl(); //Xinlong Du
extern void* OPS_MixedBeamColumnAsym3dTcl(); //Xinlong Du
extern void* OPS_ZeroLengthContactASDimplex(void); // Onur Deniz Akan (IUSS), Massimo Petracca (ASDEA)

extern int TclModelBuilder_addFeapTruss(ClientData clientData, Tcl_Interp *interp, int argc,
TCL_Char **argv, Domain*, TclModelBuilder *, int argStart);
Expand Down Expand Up @@ -1560,7 +1561,6 @@ TclModelBuilderElementCommand(ClientData clientData, Tcl_Interp *interp,
}
//Xinlong Du


else if ((strcmp(argv[1], "InertiaTruss") == 0)) {

void* theEle = OPS_InertiaTrussElement();
Expand All @@ -1571,7 +1571,17 @@ TclModelBuilderElementCommand(ClientData clientData, Tcl_Interp *interp,
return TCL_ERROR;
}
}


else if (strcmp(argv[1], "zeroLengthContactASDimplex") == 0) {
void* theEle = OPS_ZeroLengthContactASDimplex();
if (theEle != 0)
theElement = (Element*)theEle;
else {
opserr << "TclElementCommand -- unable to create element of type : " << argv[1] << endln;
return TCL_ERROR;
}
}

// if one of the above worked
if (theElement != 0) {
if (theTclDomain->addElement(theElement) == false) {
Expand Down Expand Up @@ -1750,7 +1760,7 @@ TclModelBuilderElementCommand(ClientData clientData, Tcl_Interp *interp,
opserr << "TCL -- unable to create element of type: " << argv[1] << endln;
return TCL_ERROR;
}
}
}
else if ((strcmp(argv[1], "inelastic2dYS01")== 0) ||
(strcmp(argv[1], "inelastic2dYS02")== 0) ||
(strcmp(argv[1], "inelastic2dYS03")== 0) ||
Expand Down
2 changes: 2 additions & 0 deletions SRC/element/zeroLength/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ target_sources(OPS_Element
CoupledZeroLength.cpp
ZeroLengthContact2D.cpp
ZeroLengthContact3D.cpp
ZeroLengthContactASDimplex.cpp
ZeroLengthContactNTS2D.cpp
ZeroLengthImpact3D.cpp
ZeroLengthInterface2D.cpp
Expand All @@ -41,6 +42,7 @@ target_sources(OPS_Element
CoupledZeroLength.h
ZeroLengthContact2D.h
ZeroLengthContact3D.h
ZeroLengthContactASDimplex.h
ZeroLengthContactNTS2D.h
ZeroLengthImpact3D.h
ZeroLengthInterface2D.h
Expand Down
1 change: 1 addition & 0 deletions SRC/element/zeroLength/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ OBJS = ZeroLength.o \
ZeroLengthSection.o \
ZeroLengthContact2D.o \
ZeroLengthContact3D.o \
ZeroLengthContactASDimplex.o \
ZeroLengthND.o \
ZeroLengthContactNTS2D.o \
ZeroLengthInterface2D.o \
Expand Down

0 comments on commit 6d8bdc6

Please sign in to comment.