OpenSeesPyAssistant 1.1
OpenSeesPy for everyone
UnconfMander1988 Class Reference

Class that stores funcions and material properties of a RC rectangular or circular section with Mander 1988 as the material model for the unconfined reinforced concrete and the OpenSeesPy command type used to model it is Concrete04 or Concrete01. More...

Inheritance diagram for UnconfMander1988:
MaterialModels UnconfMander1988RCCircShape UnconfMander1988RCRectShape

Public Member Functions

def __init__ (self, int ID, fc, Ec, ec=1, ecp=1, fct=-1, et=-1, beta=0.1)
 Constructor of the class. More...
 
def CheckApplicability (self)
 Implementation of the homonym abstract method. More...
 
def Compute_ec (self)
 Method that computes the compressive concrete yield strain. More...
 
def Compute_ecp (self)
 Method that computes the compressive concrete spalling strain. More...
 
def Compute_ecu (self)
 Method that computes the compressive concrete failure strain. More...
 
def Compute_et (self)
 Method that computes the tensile concrete yield strain. More...
 
def Compute_fct (self)
 Method that computes the tensile concrete yield stress. More...
 
def Concrete01 (self)
 Generate the material model Concrete01 for unconfined concrete using the computed parameters. More...
 
def Concrete04 (self)
 Generate the material model Concrete04 for unconfined concrete (Mander 1988) using the computed parameters. More...
 
def ReInit (self, ec=1, ecp=1, fct=-1, et=-1)
 Implementation of the homonym abstract method. More...
 
def ShowInfo (self, plot=False, block=False, concrete04=True)
 Implementation of the homonym abstract method. More...
 
def UpdateStoredData (self)
 Implementation of the homonym abstract method. More...
 
def CheckApplicability (self)
 Abstract function used to check the applicability of the material model. More...
 

Public Attributes

 beta
 
 data
 
 Ec
 
 ec
 
 ecp
 
 ecu
 
 et
 
 fc
 
 fct
 
 ID
 
 Initialized
 
 section_name_tag
 

Detailed Description

Class that stores funcions and material properties of a RC rectangular or circular section with Mander 1988 as the material model for the unconfined reinforced concrete and the OpenSeesPy command type used to model it is Concrete04 or Concrete01.

For more information about the empirical model for the computation of the parameters, see Mander et Al. 1988, Karthik and Mander 2011 and SIA 262:2012.

Parameters
MaterialModelsParent abstract class.

Definition at line 1117 of file MaterialModels.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
int  ID,
  fc,
  Ec,
  ec = 1,
  ecp = 1,
  fct = -1,
  et = -1,
  beta = 0.1 
)

Constructor of the class.

Parameters
ID(int): Unique material model ID.
fc(float): Compressive concrete yield strength (needs to be negative).
Ec(float): Young modulus.
ec(float, optional): Compressive concrete yield strain. Defaults to 1, e.g. computed according to Karthik and Mander 2011.
ecp(float, optional): Concrete spalling strain. Defaults to 1, e.g. computed according to Mander 1988.
fct(float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.
et(float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.
beta(float, optional): Loating point value defining the exponential curve parameter to define the residual stress. Defaults to 0.1 (according to OpenSeesPy documentation)
Exceptions
NegativeValueID needs to be a positive integer.
PositiveValuefc needs to be negative.
NegativeValueEc needs to be positive.
PositiveValueec needs to be negative if different from 1.
PositiveValueecp needs to be positive if different from 1.
NegativeValuefct needs to be positive if different from -1.
NegativeValueet needs to be positive if different from -1.

Reimplemented in UnconfMander1988RCCircShape, and UnconfMander1988RCRectShape.

Definition at line 1125 of file MaterialModels.py.

1125 def __init__(self, ID: int, fc, Ec, ec = 1, ecp = 1, fct = -1, et = -1, beta = 0.1):
1126 """
1127 Constructor of the class.
1128
1129 @param ID (int): Unique material model ID.
1130 @param fc (float): Compressive concrete yield strength (needs to be negative).
1131 @param Ec (float): Young modulus.
1132 @param ec (float, optional): Compressive concrete yield strain. Defaults to 1, e.g. computed according to Karthik and Mander 2011.
1133 @param ecp (float, optional): Concrete spalling strain. Defaults to 1, e.g. computed according to Mander 1988.
1134 @param fct (float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.
1135 @param et (float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.
1136 @param beta (float, optional): Loating point value defining the exponential curve parameter to define the residual stress.
1137 Defaults to 0.1 (according to OpenSeesPy documentation)
1138
1139 @exception NegativeValue: ID needs to be a positive integer.
1140 @exception PositiveValue: fc needs to be negative.
1141 @exception NegativeValue: Ec needs to be positive.
1142 @exception PositiveValue: ec needs to be negative if different from 1.
1143 @exception PositiveValue: ecp needs to be positive if different from 1.
1144 @exception NegativeValue: fct needs to be positive if different from -1.
1145 @exception NegativeValue: et needs to be positive if different from -1.
1146 """
1147 # Check
1148 if ID < 0: raise NegativeValue()
1149 if fc > 0: raise PositiveValue()
1150 if Ec < 0: raise NegativeValue()
1151 if ec != 1 and ec > 0: raise PositiveValue()
1152 if ecp != 1 and ecp > 0: raise PositiveValue()
1153 if fct != -1 and fct < 0: raise NegativeValue()
1154 if et != -1 and et < 0: raise NegativeValue()
1155
1156 # Arguments
1157 self.ID = ID
1158 self.fc = fc
1159 self.Ec = Ec
1160 self.beta = beta
1161
1162 # Initialized the parameters that are dependent from others
1163 self.section_name_tag = "None"
1164 self.Initialized = False
1165 self.ReInit(ec, ecp, fct, et)
1166

Member Function Documentation

◆ CheckApplicability()

def CheckApplicability (   self)

Implementation of the homonym abstract method.

See parent class MaterialModels for detailed information.

Reimplemented from MaterialModels.

Definition at line 1242 of file MaterialModels.py.

1242 def CheckApplicability(self):
1243 """
1244 Implementation of the homonym abstract method.
1245 See parent class MaterialModels for detailed information.
1246 """
1247 Check = True
1248 if self.fc < -110*MPa_unit: # Deierlein 1999
1249 Check = False
1250 print("With High Strength concrete (< -110 MPa), a better material model should be used (see Abdesselam et Al. 2019")
1251 if not Check:
1252 print("The validity of the equations is not fullfilled.")
1253 print("!!!!!!! WARNING !!!!!!! Check material model of Unconfined Mander 1988, ID=", self.ID)
1254 print("")
1255
1256
Module for the material models.

◆ Compute_ec()

def Compute_ec (   self)

Method that computes the compressive concrete yield strain.

For more information, see Karthik and Mander 2011.

Returns
float: Strain

Definition at line 1257 of file MaterialModels.py.

1257 def Compute_ec(self):
1258 """
1259 Method that computes the compressive concrete yield strain.
1260 For more information, see Karthik and Mander 2011.
1261
1262 @returns float: Strain
1263 """
1264 # return -0.002 # Alternative: Mander et Al. 1988
1265 return -0.0015 + self.fc/MPa_unit/70000 # Karthik Mander 2011
1266

◆ Compute_ecp()

def Compute_ecp (   self)

Method that computes the compressive concrete spalling strain.

For more information, see Mander et Al. 1988.

Returns
float: Strain

Definition at line 1267 of file MaterialModels.py.

1267 def Compute_ecp(self):
1268 """
1269 Method that computes the compressive concrete spalling strain.
1270 For more information, see Mander et Al. 1988.
1271
1272 @returns float: Strain
1273 """
1274 return 2.0*self.ec
1275
1276

◆ Compute_ecu()

def Compute_ecu (   self)

Method that computes the compressive concrete failure strain.

For more information, see Karthik and Mander 2011.

Returns
float: Strain

Definition at line 1297 of file MaterialModels.py.

1297 def Compute_ecu(self):
1298 """
1299 Method that computes the compressive concrete failure strain.
1300 For more information, see Karthik and Mander 2011.
1301
1302 @returns float: Strain
1303 """
1304 # return -0.004 # Alternative: Mander et Al. 1988
1305 return -0.012 - 0.0001 * self.fc/MPa_unit # Karthik Mander 2011
1306

◆ Compute_et()

def Compute_et (   self)

Method that computes the tensile concrete yield strain.

For more information, see Mander et Al. 1988 (eq 45).

Returns
float: Strain.

Definition at line 1287 of file MaterialModels.py.

1287 def Compute_et(self):
1288 """
1289 Method that computes the tensile concrete yield strain.
1290 For more information, see Mander et Al. 1988 (eq 45).
1291
1292 @returns float: Strain.
1293 """
1294 return self.fct/self.Ec
1295
1296

◆ Compute_fct()

def Compute_fct (   self)

Method that computes the tensile concrete yield stress.

For more information, see SIA 262:2012.

Returns
float: Stress.

Definition at line 1277 of file MaterialModels.py.

1277 def Compute_fct(self):
1278 """
1279 Method that computes the tensile concrete yield stress.
1280 For more information, see SIA 262:2012.
1281
1282 @returns float: Stress.
1283 """
1284 return 0.30 * math.pow(-self.fc/MPa_unit, 2/3) * MPa_unit
1285
1286

◆ Concrete01()

def Concrete01 (   self)

Generate the material model Concrete01 for unconfined concrete using the computed parameters.

See _Concrete01 function for more information. Use this method or Concrete04, not both (only one material model for ID).

Definition at line 1307 of file MaterialModels.py.

1307 def Concrete01(self):
1308 """
1309 Generate the material model Concrete01 for unconfined concrete using the computed parameters.
1310 See _Concrete01 function for more information. Use this method or Concrete04, not both (only one material model for ID).
1311 """
1312 _Concrete01(self.ID, self.ec, self.fc, self.ecu)
1313 self.Initialized = True
1314 self.UpdateStoredData()
1315
1316

◆ Concrete04()

def Concrete04 (   self)

Generate the material model Concrete04 for unconfined concrete (Mander 1988) using the computed parameters.

See _Concrete04 function for more information. Use this method or Concrete01, not both (only one material model for ID).

Definition at line 1317 of file MaterialModels.py.

1317 def Concrete04(self):
1318 """
1319 Generate the material model Concrete04 for unconfined concrete (Mander 1988) using the computed parameters.
1320 See _Concrete04 function for more information. Use this method or Concrete01, not both (only one material model for ID).
1321 """
1322 _Concrete04(self.ID, self.fc, self.ec, self.ecu, self.Ec, self.fct, self.et, self.beta)
1323 self.Initialized = True
1324 self.UpdateStoredData()
1325
1326

◆ ReInit()

def ReInit (   self,
  ec = 1,
  ecp = 1,
  fct = -1,
  et = -1 
)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Parameters
ec(float, optional): Compressive concrete yield strain. Defaults to 1, e.g. computed according to Karthik and Mander 2011.
ecp(float, optional): Concrete spalling strain. Defaults to 1, e.g. computed according to Mander 1988.
fct(float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.
et(float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.

Definition at line 1168 of file MaterialModels.py.

1168 def ReInit(self, ec = 1, ecp = 1, fct = -1, et = -1):
1169 """
1170 Implementation of the homonym abstract method.
1171 See parent class DataManagement for detailed information.
1172
1173 @param ec (float, optional): Compressive concrete yield strain. Defaults to 1, e.g. computed according to Karthik and Mander 2011.
1174 @param ecp (float, optional): Concrete spalling strain. Defaults to 1, e.g. computed according to Mander 1988.
1175 @param fct (float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.
1176 @param et (float, optional): Tensile concrete yield strain. Defaults to -1, e.g. computed according to SIA 262:2012.
1177 """
1178 # Check applicability
1179 self.CheckApplicability()
1180
1181 # Arguments
1182 self.ec = self.Compute_ec() if ec == 1 else ec
1183 self.ecp = self.Compute_ecp() if ecp == 1 else ecp
1184 self.fct = self.Compute_fct() if fct == -1 else fct
1185 self.et = self.Compute_et() if et == -1 else et
1186
1187 # Members
1188 self.ecu = self.Compute_ecu()
1189 if self.section_name_tag != "None": self.section_name_tag = self.section_name_tag + " (modified)"
1190
1191 # Data storage for loading/saving
1192 self.UpdateStoredData()
1193
1194
Module with the parent abstract class DataManagement.

◆ ShowInfo()

def ShowInfo (   self,
  plot = False,
  block = False,
  concrete04 = True 
)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Parameters
plot(bool, optional): Option to show the plot of the material model. Defaults to False.
block(bool, optional): Option to wait the user command 'plt.show()' (avoiding the stop of the program everytime that a plot should pop up). Defaults to False.
concrete04(bool, optional): Option to show in the plot the concrete04 or concrete01 if False. Defaults to True.

Definition at line 1214 of file MaterialModels.py.

1214 def ShowInfo(self, plot = False, block = False, concrete04 = True):
1215 """
1216 Implementation of the homonym abstract method.
1217 See parent class DataManagement for detailed information.
1218
1219 @param plot (bool, optional): Option to show the plot of the material model. Defaults to False.
1220 @param block (bool, optional): Option to wait the user command 'plt.show()' (avoiding the stop of the program everytime that a plot should pop up). Defaults to False.
1221 @param concrete04 (bool, optional): Option to show in the plot the concrete04 or concrete01 if False. Defaults to True.
1222 """
1223 print("")
1224 print("Requested info for Unconfined Mander 1988 material model Parameters, ID = {}".format(self.ID))
1225 print("Section associated: {} ".format(self.section_name_tag))
1226 print('Concrete strength fc = {} MPa'.format(self.fc/MPa_unit))
1227 print('Strain at maximal strength ec = {}'.format(self.ec))
1228 print('Maximal strain ecu = {}'.format(self.ecu))
1229 print("")
1230
1231 if plot:
1232 fig, ax = plt.subplots()
1233 if concrete04:
1234 PlotConcrete04(self.fc, self.Ec, self.ec, self.ecu, "U", ax, self.ID)
1235 else:
1236 PlotConcrete01(self.fc, self.ec, 0, self.ecu, ax, self.ID)
1237
1238 if block:
1239 plt.show()
1240
1241
def PlotConcrete04(fc, Ec, ec, ecu, str Type, ax, ID=0)
Function that plots the confined/unconfined Concrete04 stress-strain curve.
def PlotConcrete01(fc, ec, fpcu, ecu, ax, ID=0)
Function that plots the Concrete01 stress-strain curve.

◆ UpdateStoredData()

def UpdateStoredData (   self)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Definition at line 1195 of file MaterialModels.py.

1195 def UpdateStoredData(self):
1196 """
1197 Implementation of the homonym abstract method.
1198 See parent class DataManagement for detailed information.
1199 """
1200 self.data = [["INFO_TYPE", "UnconfMander1988"], # Tag for differentiating different data
1201 ["ID", self.ID],
1202 ["section_name_tag", self.section_name_tag],
1203 ["fc", self.fc],
1204 ["Ec", self.Ec],
1205 ["ec", self.ec],
1206 ["ecp", self.ecp],
1207 ["ecu", self.ecu],
1208 ["fct", self.fct],
1209 ["et", self.et],
1210 ["beta", self.beta],
1211 ["Initialized", self.Initialized]]
1212
1213

Member Data Documentation

◆ beta

beta

Definition at line 1160 of file MaterialModels.py.

◆ data

data

Definition at line 1200 of file MaterialModels.py.

◆ Ec

Ec

Definition at line 1159 of file MaterialModels.py.

◆ ec

ec

Definition at line 1182 of file MaterialModels.py.

◆ ecp

ecp

Definition at line 1183 of file MaterialModels.py.

◆ ecu

ecu

Definition at line 1188 of file MaterialModels.py.

◆ et

et

Definition at line 1185 of file MaterialModels.py.

◆ fc

fc

Definition at line 1158 of file MaterialModels.py.

◆ fct

fct

Definition at line 1184 of file MaterialModels.py.

◆ ID

ID

Definition at line 1157 of file MaterialModels.py.

◆ Initialized

Initialized

Definition at line 1164 of file MaterialModels.py.

◆ section_name_tag

section_name_tag

Definition at line 1163 of file MaterialModels.py.


The documentation for this class was generated from the following file: