SN curve definition
Create an instance of the SN_Curve class. You can use class constructor to set the SN parameteres. Only kwargs parameters are allowed.
class SN_Curve(*forget_positinal_args, **kwargs)
Parameters
----------
k : float
default: 5.0
slope of SN curve
k1 : float
first slope until S1 amplitude,
default: k
ND : int
endurance limit number of cycles,
default: 1e6
SD : float
endurance limit amplitude
default: 1000
S1 : float
low cycle limit amplitude (slope k1 for greater amplitudes)
default: SD
miner : string
{"haibach","elementar","original"},
default: haibach
M : float
meanstress influence
R : float
R-ratio of SN-curve
meanCorrType : string
method to handle meanstress effect
{"FKM","goodman"},
default: FKM
Attributes
----------
name : string
Name of the sn curve
sn_parms : dict
Dictionary of all SN parameters
sn_points : pandas DataFrame
Points to be used in a plot. Two df columns "N" and "a".
N1 : float
read-only, number of cycles on the S1 amplitude
ALL __init__ PARAMETERS ARE ATTRIBUTES TOO ("SD", "ND", "k", "S1", "k1", "miner", "R", "M", "meanCorrType")
See following figure for the meaning of the parameters.
There are two types of mean-stress correction handling {FKM
,goodman
}. Default FKM
distinguish between 4 different ranges of R ratio. According to that range given meanstress influence value M
is corrected according to the following figure.
If goodman
meanCorrType is selected. Constant meanstress influence value M
is considered for all R ranges except R > 1 (fully compressive cycle). There no meanstress is taken into account as in the FKM
type.
Each SN_Curve instance has the attribute name
, that can be set.
There is a method set_SN_parameters()
if there is a need to change any parameter(s) afterwards.
Just pass there a dictionary with the parameters to change. The same keys as in the SN_Curve constructor are used.
Example:
sn = SN_curve.SN_Curve(SD=250, S1=500, k1=9, k=5, ND=2e6, M=0.22, R=0.4, meanCorrType="goodman", miner="haibach")
sn.set_SN_parameters({S1=600, k1=10})
sn.M=0.1
sn.meanCorrType="fkm"