OpenSeesPyAssistant 1.1
OpenSeesPy for everyone
UVC Class Reference

Class that stores funcions and material properties of a steel profile or reinforcing bar with Updated Voce-Chaboche as the material model and the OpenSeesPy command type used to model it is UVCuniaxial. More...

Inheritance diagram for UVC:
MaterialModels UVCCalibrated UVCCalibratedRCCircShape UVCCalibratedRCRectShape UVCCalibratedSteelIShapeFlange UVCCalibratedSteelIShapeWeb

Public Member Functions

def __init__ (self, int ID, fy, Ey, QInf, b, DInf, a, np.ndarray cK, np.ndarray gammaK)
 Constructor of the class. More...
 
def CheckApplicability (self)
 Implementation of the homonym abstract method. More...
 
def ReInit (self)
 Implementation of the homonym abstract method. More...
 
def ShowInfo (self)
 Implementation of the homonym abstract method. More...
 
def UpdateStoredData (self)
 Implementation of the homonym abstract method. More...
 
def UVCuniaxial (self)
 Generate the material model Updated Voce-Chaboche (UVC) for uniaxial stress states. More...
 
def CheckApplicability (self)
 Abstract function used to check the applicability of the material model. More...
 

Public Attributes

 a
 
 b
 
 cK
 
 data
 
 DInf
 
 Ey
 
 fy
 
 gammaK
 
 ID
 
 Initialized
 
 N
 
 QInf
 
 section_name_tag
 

Detailed Description

Class that stores funcions and material properties of a steel profile or reinforcing bar with Updated Voce-Chaboche as the material model and the OpenSeesPy command type used to model it is UVCuniaxial.

For more information about the how to calibrate the set of parameters, see de Castro e Sousa, Suzuki and Lignos 2020 and Hartloper, de Castro e Sousa and Lignos 2021.

Parameters
MaterialModelsParent abstract class.

Definition at line 2629 of file MaterialModels.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
int  ID,
  fy,
  Ey,
  QInf,
  b,
  DInf,
  a,
np.ndarray  cK,
np.ndarray  gammaK 
)

Constructor of the class.

Parameters
ID(int): Unique material model ID.
fy(float): Initial yield stress of the steel material.
Ey(float): Elastic modulus of the steel material.
QInf(float): Maximum increase in yield stress due to cyclic hardening (isotropic hardening).
b(float): Saturation rate of QInf.
DInf(float): Decrease in the initial yield stress, to neglect the model updates set DInf = 0.
a(float): Saturation rate of DInf, a > 0. If DInf == 0, then a is arbitrary (but still a > 0).
cK(np.ndarray): Array of 1 dimension; each entry is one kinematic hardening parameter associated with one backstress, up to 8 may be specified.
gammaK(np.ndarray): Array of 1 dimension; each entry is one saturation rate of kinematic hardening associated with one backstress, up to 8 may be specified.
Exceptions
NegativeValueID needs to be a positive integer.
NegativeValuefy needs to be positive.
NegativeValueEy needs to be positive.
NegativeValueQInf needs to be positive.
NegativeValueb needs to be positive.
NegativeValueDInf needs to be positive.
NegativeValuea needs to be positive.
WrongArgumentcK can't be empty.
WrongArgumentcK and gammaK have as many entries as the number of backstresses (thus they have the same length).

Reimplemented in UVCCalibratedRCCircShape, UVCCalibratedRCRectShape, UVCCalibratedSteelIShapeFlange, UVCCalibratedSteelIShapeWeb, and UVCCalibrated.

Definition at line 2638 of file MaterialModels.py.

2638 def __init__(self, ID: int, fy, Ey, QInf, b, DInf, a, cK: np.ndarray, gammaK: np.ndarray):
2639 """
2640 Constructor of the class.
2641
2642 @param ID (int): Unique material model ID.
2643 @param fy (float): Initial yield stress of the steel material.
2644 @param Ey (float): Elastic modulus of the steel material.
2645 @param QInf (float): Maximum increase in yield stress due to cyclic hardening (isotropic hardening).
2646 @param b (float): Saturation rate of QInf.
2647 @param DInf (float): Decrease in the initial yield stress, to neglect the model updates set DInf = 0.
2648 @param a (float): Saturation rate of DInf, a > 0. If DInf == 0, then a is arbitrary (but still a > 0).
2649 @param cK (np.ndarray): Array of 1 dimension; each entry is one kinematic hardening parameter associated with one backstress, up to 8 may be specified.
2650 @param gammaK (np.ndarray): Array of 1 dimension; each entry is one saturation rate of kinematic hardening associated with one backstress, up to 8 may be specified.
2651
2652 @exception NegativeValue: ID needs to be a positive integer.
2653 @exception NegativeValue: fy needs to be positive.
2654 @exception NegativeValue: Ey needs to be positive.
2655 @exception NegativeValue: QInf needs to be positive.
2656 @exception NegativeValue: b needs to be positive.
2657 @exception NegativeValue: DInf needs to be positive.
2658 @exception NegativeValue: a needs to be positive.
2659 @exception WrongArgument: cK can't be empty.
2660 @exception WrongArgument: cK and gammaK have as many entries as the number of backstresses (thus they have the same length).
2661 """
2662 # Check
2663 if ID < 1: raise NegativeValue()
2664 if fy < 0: raise NegativeValue()
2665 if Ey < 0: raise NegativeValue()
2666 if QInf < 0: raise NegativeValue()
2667 if b < 0: raise NegativeValue()
2668 if DInf < 0: raise NegativeValue()
2669 if a < 0: raise NegativeValue()
2670 if len(cK) == 0: raise WrongArgument()
2671 if len(cK) != len(gammaK): raise WrongArgument()
2672 if len(cK) != 2: print("!!!!!!! WARNING !!!!!!! Number of backstresses should be 2 for optimal performances")
2673 if DInf == 0: print("!!!!!!! WARNING !!!!!!! With DInf = 0, the model used is Voce-Chaboche (VC) not updated (UVC)")
2674
2675 # Arguments
2676 self.ID = ID
2677 self.fy = fy
2678 self.Ey = Ey
2679 self.QInf = QInf
2680 self.b = b
2681 self.DInf = DInf
2682 self.a = a
2683 self.cK = copy(cK)
2684 self.gammaK = copy(gammaK)
2685
2686 # Initialized the parameters that are dependent from others
2687 self.section_name_tag = "None"
2688 self.Initialized = False
2689 self.ReInit()
2690

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 2747 of file MaterialModels.py.

2747 def CheckApplicability(self):
2748 """
2749 Implementation of the homonym abstract method.
2750 See parent class MaterialModels for detailed information.
2751 """
2752 Check = True
2753 # No checks
2754 if not Check:
2755 print("The validity of the equations is not fullfilled.")
2756 print("!!!!!!! WARNING !!!!!!! Check material model of UVC, ID=", self.ID)
2757 print("")
2758
2759
Module for the material models.

◆ ReInit()

def ReInit (   self)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Definition at line 2691 of file MaterialModels.py.

2691 def ReInit(self):
2692 """
2693 Implementation of the homonym abstract method.
2694 See parent class DataManagement for detailed information.
2695 """
2696 # Check applicability
2697 self.CheckApplicability()
2698
2699 # Members
2700 self.N = len(self.cK)
2701 if self.section_name_tag != "None": self.section_name_tag = self.section_name_tag + " (modified)"
2702
2703 # Data storage for loading/saving
2704 self.UpdateStoredData()
2705
2706
Module with the parent abstract class DataManagement.

◆ ShowInfo()

def ShowInfo (   self)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Definition at line 2728 of file MaterialModels.py.

2728 def ShowInfo(self):
2729 """
2730 Implementation of the homonym abstract method.
2731 See parent class DataManagement for detailed information.
2732 """
2733 print("")
2734 print("Requested info for UVC material model Parameters, ID = {}".format(self.ID))
2735 print("Section associated: {} ".format(self.section_name_tag))
2736 print("Yield strength fy = {} MPa".format(self.fy/MPa_unit))
2737 print("Young modulus Ey = {} MPa".format(self.Ey/MPa_unit))
2738 print("Isotropic hardening factor QInf = {} MPa and saturation rate b = {}".format(self.QInf/MPa_unit, self.b))
2739 print("Decrease the initial yield stress DInf = {} MPa and saturation rate a = {}".format(self.DInf/MPa_unit, self.a))
2740 print("Kinematic hardening vector ({} backstresses) cK = {} MPa".format(self.N, self.cK/MPa_unit))
2741 print("And associated saturation rate gammaK = {}".format(self.gammaK))
2742 print("")
2743
2744 #TODO: implement plot (too complex for now)
2745
2746

◆ UpdateStoredData()

def UpdateStoredData (   self)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Definition at line 2708 of file MaterialModels.py.

2708 def UpdateStoredData(self):
2709 """
2710 Implementation of the homonym abstract method.
2711 See parent class DataManagement for detailed information.
2712 """
2713 self.data = [["INFO_TYPE", "UVC"], # Tag for differentiating different data
2714 ["ID", self.ID],
2715 ["section_name_tag", self.section_name_tag],
2716 ["fy", self.fy],
2717 ["Ey", self.Ey],
2718 ["QInf", self.QInf],
2719 ["b", self.b],
2720 ["DInf", self.DInf],
2721 ["a", self.a],
2722 ["N", self.N],
2723 ["ck", self.cK],
2724 ["gammaK", self.gammaK],
2725 ["Initialized", self.Initialized]]
2726
2727

◆ UVCuniaxial()

def UVCuniaxial (   self)

Generate the material model Updated Voce-Chaboche (UVC) for uniaxial stress states.

See _UVCuniaxial function for more information.

Definition at line 2760 of file MaterialModels.py.

2760 def UVCuniaxial(self):
2761 """
2762 Generate the material model Updated Voce-Chaboche (UVC) for uniaxial stress states.
2763 See _UVCuniaxial function for more information.
2764 """
2765 _UVCuniaxial(self.ID, self.Ey, self.fy, self.QInf, self.b, self.DInf, self.a, self.N, self.cK, self.gammaK)
2766 self.Initialized = True
2767 self.UpdateStoredData()
2768
2769

Member Data Documentation

◆ a

a

Definition at line 2682 of file MaterialModels.py.

◆ b

b

Definition at line 2680 of file MaterialModels.py.

◆ cK

cK

Definition at line 2683 of file MaterialModels.py.

◆ data

data

Definition at line 2713 of file MaterialModels.py.

◆ DInf

DInf

Definition at line 2681 of file MaterialModels.py.

◆ Ey

Ey

Definition at line 2678 of file MaterialModels.py.

◆ fy

fy

Definition at line 2677 of file MaterialModels.py.

◆ gammaK

gammaK

Definition at line 2684 of file MaterialModels.py.

◆ ID

ID

Definition at line 2676 of file MaterialModels.py.

◆ Initialized

Initialized

Definition at line 2688 of file MaterialModels.py.

◆ N

N

Definition at line 2700 of file MaterialModels.py.

◆ QInf

QInf

Definition at line 2679 of file MaterialModels.py.

◆ section_name_tag

section_name_tag

Definition at line 2687 of file MaterialModels.py.


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