Skip to content

Commit

Permalink
Merge pull request OpenSees#1357 from cvmiculas/addElemInno3DPnPJoint
Browse files Browse the repository at this point in the history
Adding `Inno3DPnPJoint` - a new 3D beam-to-column joint finite element
  • Loading branch information
fmckenna authored Apr 23, 2024
2 parents b111c0b + 48387e7 commit 21d2ad0
Show file tree
Hide file tree
Showing 67 changed files with 3,396 additions and 93 deletions.
2 changes: 2 additions & 0 deletions DEVELOPER/core/classTags.h
Original file line number Diff line number Diff line change
Expand Up @@ -725,6 +725,8 @@

#define ELE_TAG_ASDEmbeddedNodeElement 217 // Massimo Petracca (ASDEA)

#define ELE_TAG_Inno3DPnPJoint 263

#define FRN_TAG_Coulomb 1
#define FRN_TAG_VelDependent 2
#define FRN_TAG_VelPressureDep 3
Expand Down
1 change: 1 addition & 0 deletions SRC/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ GGD_LIBS = $(FE)/element/joint/MP_Joint2D.o \
$(FE)/element/joint/MP_Joint3D.o \
$(FE)/element/joint/Joint2D.o \
$(FE)/element/joint/Joint3D.o \
$(FE)/element/joint/Inno3DPnPJoint.o \
$(FE)/element/joint/LehighJoint2d.o \
$(FE)/element/joint/BeamColumnJoint2d.o \
$(FE)/element/joint/BeamColumnJoint3d.o \
Expand Down
4 changes: 4 additions & 0 deletions SRC/actor/objectBroker/FEM_ObjectBrokerAllClasses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,7 @@
#include "brick/Brick.h"
#include "brick/BbarBrick.h"
#include "joint/Joint2D.h" // Arash
#include "joint/Inno3DPnPJoint.h" // Cristian Miculas
#include "twoNodeLink/TwoNodeLink.h"
#include "twoNodeLink/LinearElasticSpring.h"
#include "twoNodeLink/Inerter.h"
Expand Down Expand Up @@ -1012,6 +1013,9 @@ FEM_ObjectBrokerAllClasses::getNewElement(int classTag)

case ELE_TAG_Joint2D: // Arash
return new Joint2D(); // Arash

case ELE_TAG_Inno3DPnPJoint: // Cristian Miculas
return new Inno3DPnPJoint(); // Cristian Miculas

case ELE_TAG_TwoNodeLink:
return new TwoNodeLink();
Expand Down
3 changes: 2 additions & 1 deletion SRC/classTags.h
Original file line number Diff line number Diff line change
Expand Up @@ -871,7 +871,8 @@
#define ELE_TAG_PML2D_5 260
#define ELE_TAG_PML2D_12 261
#define ELE_TAG_PML2DVISCOUS 262
#define ELE_TAG_MEFI 270 // C. N. Lopez
#define ELE_TAG_Inno3DPnPJoint 263 // Cristian Miculas
#define ELE_TAG_MEFI 264 // C. N. Lopez


#define FRN_TAG_Coulomb 1
Expand Down
21 changes: 15 additions & 6 deletions SRC/element/TclElementCommands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ extern void *OPS_BeamWithHinges(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 void *OPS_Inno3DPnPJoint();

extern int TclModelBuilder_addFeapTruss(ClientData clientData, Tcl_Interp *interp, int argc,
TCL_Char **argv, Domain*, TclModelBuilder *, int argStart);
Expand All @@ -230,12 +231,10 @@ TclModelBuilder_addConstantPressureVolumeQuad(ClientData, Tcl_Interp *, int, TCL

extern int
TclModelBuilder_addJoint2D(ClientData, Tcl_Interp *, int, TCL_Char **, Domain*);


extern int
TclModelBuilder_addJoint3D(ClientData, Tcl_Interp *, int, TCL_Char **,
Domain*, TclModelBuilder *);

TclModelBuilder_addJoint3D(ClientData, Tcl_Interp *, int, TCL_Char **, Domain*, TclModelBuilder *);

extern int
TclModelBuilder_addEnhancedQuad(ClientData, Tcl_Interp *, int, TCL_Char **,
Domain*, TclModelBuilder *);
Expand Down Expand Up @@ -740,6 +739,16 @@ TclModelBuilderElementCommand(ClientData clientData, Tcl_Interp *interp,
return TCL_ERROR;
}

} else if ((strcmp(argv[1],"Inno3DPnPJoint") == 0) || (strcmp(argv[1],"inno3dpnpjoint") == 0)) {

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

} else if ((strcmp(argv[1],"BeamContact3dp") == 0) || (strcmp(argv[1],"BeamContact3Dp") == 0)) {

void *theEle = OPS_BeamContact3Dp();
Expand Down Expand Up @@ -1890,14 +1899,14 @@ TclModelBuilderElementCommand(ClientData clientData, Tcl_Interp *interp,
} else if ((strcmp(argv[1],"Joint2D") == 0) ||
(strcmp(argv[1],"Joint2d") == 0)) {
int result = TclModelBuilder_addJoint2D(clientData, interp, argc, argv,theTclDomain);

return result;
} else if ((strcmp(argv[1],"Joint3D") == 0) ||
(strcmp(argv[1],"Joint3d") == 0)) {
int result = TclModelBuilder_addJoint3D(clientData, interp, argc, argv,
theTclDomain, theTclBuilder);
return result;
}
}

else if ((strcmp(argv[1],"LehighJoint2D") == 0) ||
(strcmp(argv[1],"LehighJoint2d") == 0)) {
void *theEle = OPS_LehighJoint2d();
Expand Down
2 changes: 2 additions & 0 deletions SRC/element/joint/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ target_sources(OPS_Element
ElasticTubularJoint.cpp
Joint2D.cpp
Joint3D.cpp
Inno3DPnPJoint.cpp
LehighJoint2d.cpp
MP_Joint2D.cpp
MP_Joint3D.cpp
Expand All @@ -24,6 +25,7 @@ target_sources(OPS_Element
ElasticTubularJoint.h
Joint2D.h
Joint3D.h
Inno3DPnPJoint.h
LehighJoint2d.h
MP_Joint2D.h
MP_Joint3D.h
Expand Down
Loading

0 comments on commit 21d2ad0

Please sign in to comment.