Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Xiaodong-Ji-THU committed Sep 17, 2021
2 parents 5921f8c + 43054b5 commit 9b19b07
Show file tree
Hide file tree
Showing 75 changed files with 3,753 additions and 160 deletions.
13 changes: 8 additions & 5 deletions DEVELOPER/core/classTags.h
Original file line number Diff line number Diff line change
Expand Up @@ -218,11 +218,12 @@
#define MAT_TAG_QzSimple1 207
#define MAT_TAG_PyLiq1 208
#define MAT_TAG_TzLiq1 209
#define MAT_TAG_PySimple2 210
#define MAT_TAG_TzSimple2 211
#define MAT_TAG_QzSimple2 212
#define MAT_TAG_SteelBRB 213
#define MAT_TAG_PySimple3 214
#define MAT_TAG_QzLiq1 210
#define MAT_TAG_PySimple2 211
#define MAT_TAG_TzSimple2 212
#define MAT_TAG_QzSimple2 213
#define MAT_TAG_SteelBRB 214
#define MAT_TAG_PySimple3 215



Expand Down Expand Up @@ -722,6 +723,8 @@
#define ELE_TAG_EightNodeQuad 208
#define ELE_TAG_SixNodeTri 209

#define ELE_TAG_ASDEmbeddedNodeElement 217 // Massimo Petracca (ASDEA)

#define FRN_TAG_Coulomb 1
#define FRN_TAG_VelDependent 2
#define FRN_TAG_VelPressureDep 3
Expand Down
19 changes: 5 additions & 14 deletions MAKES/Makefile.def.Ubuntu20.04
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,22 @@


# Instructuction for building OpenSees on Ubuntu 20.04
# NOTE: if you plan to contribue code, fork your own github reo in the browser
# NOTE: if you plan to contribue code, fork your own github repo in the browser
# and make change to git clone below to point to your own fork. We will
# never give anyone access to repo itself.


# mkdir $HOME/lib
# mkdir $HOME/bin
# sudo apt-get update
# sudo apt-get install git
# sudo apt-get install emacs
# sudo apt-get install build-essential
# sudo apt-get install gfortran
# wget https://prdownloads.sourceforge.net/tcl/tcl8.6.10-src.tar.gz
# tar zxBf tcl8.6.tar.gz
# cd tcl8.6.10/unix
# configure --prefix=$HOME/tcl8.6 --enable-static --disable-shared --enable-64bit
# sudo apt-get install -y git emacs build-essential gfortran tcl8.6 tcl8.6-dev
# make
# make install
# cd $HOME
# git clone https://github.com/OpenSees/OpenSees.git
# cd OpenSees
# cp ./MAKES/Makefile.def.Ubuntu20.04 ./Makefile.def
# make
# make ## For faster compilation, add -j $(numberOfCores)


#INTERPRETER_LANGUAGE = PYTHON
Expand Down Expand Up @@ -115,8 +108,7 @@ UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a

TCL_LIBRARY = $(HOME)/tcl8.6/lib/libtcl8.6.a

TCL_LIBRARY = /usr/lib/x86_64-linux-gnu/libtcl8.6.so
BLITZ_LIBRARY = $(HOME)/blitz/lib/libblitz.a
GRAPHIC_LIBRARY =

Expand Down Expand Up @@ -267,8 +259,7 @@ MACHINE_INCLUDES = -I/usr/include \
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl

#TCL_INCLUDES = -I/usr/includes/tcl-private/generic
TCL_INCLUDES = -I$(HOME)/tcl8.6/include
TCL_INCLUDES = -I/usr/include/tcl8.6
PYTHON_INCLUDES = -I/usr/include/python3.5

INCLUDES = $(TCL_INCLUDES) $(FE_INCLUDES) $(MACHINE_INCLUDES) $(PYTHON_INCLUDES)
Expand Down
5 changes: 4 additions & 1 deletion SRC/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,7 @@ PY_SJB_RWB_BJ_LIBS = $(FE)/material/uniaxial/PY/PySimple1.o \
$(FE)/material/uniaxial/PY/ShallowFoundationGen.o \
$(FE)/material/uniaxial/PY/PyLiq1.o \
$(FE)/material/uniaxial/PY/TzLiq1.o \
$(FE)/material/uniaxial/PY/QzLiq1.o \
$(FE)/material/uniaxial/PY/PySimple1Gen.o \
$(FE)/material/uniaxial/PY/TzSimple1Gen.o

Expand Down Expand Up @@ -657,7 +658,8 @@ ELE_LIBS = $(FE)/element/Element.o \
$(FE)/element/RockingBC/RockingBC.o \
$(FE)/element/masonry/MasonPan12.o \
$(FE)/element/masonry/MasonPan3D.o \
$(FE)/element/masonry/BeamGT.o
$(FE)/element/masonry/BeamGT.o \
$(FE)/element/CEqElement/ASDEmbeddedNodeElement.o

# $(FE)/material/nD/Damage2p.o \
# $(FE)/material/nD/Damage2p3D.o \
Expand Down Expand Up @@ -860,6 +862,7 @@ MATERIAL_LIBS = $(FE)/material/Material.o \
$(FE)/material/uniaxial/Trilinwpd.o \
$(FE)/material/uniaxial/Trilinwp.o \
$(FE)/material/uniaxial/Trilinwp2.o \
$(FE)/material/uniaxial/SteelFractureDI.o \
$(FE)/material/nD/NDMaterial.o \
$(FE)/material/nD/PlaneStressLayeredMaterial.o \
$(FE)/material/nD/PlaneStressRebarMaterial.o \
Expand Down
1 change: 1 addition & 0 deletions SRC/Makefile.incl
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ FE_INCLUDES = -I$(FE)/matrix \
-I$(FE)/element/twoNodeLink \
-I$(FE)/element/updatedLagrangianBeamColumn \
-I$(FE)/element/RockingBC \
-I$(FE)/element/CEqElement \
-I$(FE)/element/UWelements \
-I$(FE)/element/HUelements \
-I$(FE)/analysis \
Expand Down
11 changes: 10 additions & 1 deletion SRC/actor/objectBroker/FEM_ObjectBrokerAllClasses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@
#include "PY/QzSimple2.h"
#include "PY/PyLiq1.h"
#include "PY/TzLiq1.h"
#include "PY/QzLiq1.h"

#include "fedeas/FedeasBond1Material.h"
#include "fedeas/FedeasBond2Material.h"
Expand Down Expand Up @@ -304,6 +305,8 @@
#include "PFEMElement/PFEMElement2D.h"
#include "RockingBC/RockingBC.h"

#include "CEqElement/ASDEmbeddedNodeElement.h"

#include "LinearCrdTransf2d.h"
#include "LinearCrdTransf3d.h"
#include "PDeltaCrdTransf2d.h"
Expand Down Expand Up @@ -898,6 +901,9 @@ FEM_ObjectBrokerAllClasses::getNewElement(int classTag)
case ELE_TAG_RockingBC:
return new RockingBC();

case ELE_TAG_ASDEmbeddedNodeElement:
return new ASDEmbeddedNodeElement();

default:
opserr << "FEM_ObjectBrokerAllClasses::getNewElement - ";
opserr << " - no Element type exists for class tag " ;
Expand Down Expand Up @@ -1213,7 +1219,7 @@ FEM_ObjectBrokerAllClasses::getNewUniaxialMaterial(int classTag)
case MAT_TAG_Fatigue:
return new FatigueMaterial();

case MAT_TAG_TzLiq1:
case MAT_TAG_TzLiq1:
return new TzLiq1();

case MAT_TAG_QzSimple1:
Expand All @@ -1222,6 +1228,9 @@ FEM_ObjectBrokerAllClasses::getNewUniaxialMaterial(int classTag)
case MAT_TAG_QzSimple2:
return new QzSimple2();

case MAT_TAG_QzLiq1:
return new QzLiq1();

case MAT_TAG_Hysteretic:
return new HystereticMaterial();

Expand Down
29 changes: 29 additions & 0 deletions SRC/analysis/algorithm/equiSolnAlgo/ExpressNewton.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,35 @@
#include <elementAPI.h>
#include <string>

void *OPS_ExpressNewton()
{
int nIter = 2, factorOnce = 0, formTangent = CURRENT_TANGENT;
double kMultiplier = 1.0;

int nArgs = OPS_GetNumRemainingInputArgs();
int numData = 1;
if (nArgs > 0 && OPS_GetIntInput(&numData,&nIter) < 0) {
opserr << "WARNING ExpressNewton -- error reading nIter\n";
return 0;
}
if (nArgs > 1 && OPS_GetDoubleInput(&numData,&kMultiplier) < 0) {
opserr << "WARNING ExpressNewton -- error reading kMultiplier\n";
return 0;
}
while (OPS_GetNumRemainingInputArgs() > 0) {
const char *type = OPS_GetString();
if ((strcmp(type,"-initialTangent") == 0) || (strcmp(type,"-InitialTangent") == 0)) {
formTangent = INITIAL_TANGENT;
} else if ((strcmp(type,"-currentTangent") == 0) || (strcmp(type,"-CurrentTangent") ==0 )) {
formTangent = CURRENT_TANGENT;
} else if ((strcmp(type,"-factorOnce") == 0) || (strcmp(type,"-FactorOnce") ==0 )) {
factorOnce = 1;
}
}

return new ExpressNewton(nIter,kMultiplier,formTangent,factorOnce);
}

// Constructor
ExpressNewton::ExpressNewton(int ni, double km, int tg, int fo)
:EquiSolnAlgo(EquiALGORITHM_TAGS_ExpressNewton), nIter(ni), factorOnce(fo)
Expand Down
5 changes: 5 additions & 0 deletions SRC/analysis/integrator/Newmark.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,11 @@ int Newmark::domainChanged()
}
}

// The remaining get**Sensitivity methods cause seg faults with Lagrange constraint
// handler in dynamic (transient) analysis even when there is no sensitivity algorithm.
// However, I don't think these methods need to be called in domainChanged -- MHS
continue;

const Vector &dispSens = dofPtr->getDispSensitivity(gradNumber);
for (i=0; i < idSize; i++) {
int loc = id(i);
Expand Down
30 changes: 16 additions & 14 deletions SRC/classTags.h
Original file line number Diff line number Diff line change
Expand Up @@ -223,19 +223,20 @@
#define MAT_TAG_QzSimple1 207
#define MAT_TAG_PyLiq1 208
#define MAT_TAG_TzLiq1 209
#define MAT_TAG_PySimple2 210
#define MAT_TAG_TzSimple2 211
#define MAT_TAG_QzSimple2 212
#define MAT_TAG_SteelBRB 213
#define MAT_TAG_PySimple3 214
#define MAT_TAG_PlateBearingConnectionThermal 215
#define MAT_TAG_ASD_SMA_3K 216

#define MAT_TAG_Masonry 217
#define MAT_TAG_Masonryt 218
#define MAT_TAG_Trilinwp 219
#define MAT_TAG_Trilinwp2 220
#define MAT_TAG_Trilinwpd 221
#define MAT_TAG_QzLiq1 210
#define MAT_TAG_PySimple2 211
#define MAT_TAG_TzSimple2 212
#define MAT_TAG_QzSimple2 213
#define MAT_TAG_SteelBRB 214
#define MAT_TAG_PySimple3 215
#define MAT_TAG_PlateBearingConnectionThermal 216
#define MAT_TAG_ASD_SMA_3K 217
#define MAT_TAG_SteelFractureDI 218 // galvisf
#define MAT_TAG_Masonry 219
#define MAT_TAG_Masonryt 220
#define MAT_TAG_Trilinwp 221
#define MAT_TAG_Trilinwp2 222
#define MAT_TAG_Trilinwpd 223

#define MAT_TAG_FedeasMaterial 1000
#define MAT_TAG_FedeasBond1 1001
Expand Down Expand Up @@ -788,7 +789,8 @@
#define ELE_TAG_BeamGT 214
#define ELE_TAG_MasonPan12 215
#define ELE_TAG_MasonPan3D 216
#define ELE_TAG_InertiaTruss 217 //Added by Xiaodong Ji, Yuhao Cheng, Yue Yu
#define ELE_TAG_ASDEmbeddedNodeElement 217 // Massimo Petracca (ASDEA)
#define ELE_TAG_InertiaTruss 218 //Added by Xiaodong Ji, Yuhao Cheng, Yue Yu
#define ELE_TAG_ExternalElement 99990


Expand Down
Loading

0 comments on commit 9b19b07

Please sign in to comment.