Eigen Vector Analysis Control
A nested class within AnalysisControl used to create eigen vector analysis control for dynamic analysis.
Constructor
AnalysisControl.EigenValue(analysis_type = None, ifreq = 1, iiter = 20, idim = 1, tol = 0, frequency_range = None, bstrum = False, bminmax = None, frmin = None, frmax = None, bincnl = False, ignum = None, load_vector = None, vritz = None)
Creates eigen vector analysis control settings for dynamic analysis.
Parameters
analysis_type
: Type of Analysis (required)"EIGEN"
: Subspace Iteration"LANCZOS"
: Lanczos"RITZ"
: Ritz Vectors
For EIGEN:
ifreq (default=1)
: Number of Frequencies (required for EIGEN)iiter (default=20)
: Number of Iterations (required for EIGEN)idim (default=1)
: Subspace Dimension (optional for EIGEN)tol (default=0)
: Convergence Tolerance (optional for EIGEN)
For LANCZOS:
frequency_range
: Frequency Range [frmin, frmax] (optional for LANCZOS)- If provided, automatically sets bMINMAX=True
- Format:
[min_freq, max_freq]
bstrum (default=False)
: Sturm Sequence Check (optional for LANCZOS)
For RITZ:
bincnl (default=False)
: Include GL-link Force Vectors (optional for RITZ)ignum
: Number of Generations for Each GL-link Force (required for RITZ)load_vector
: Load Cases in simple format (required for RITZ)- Format:
[["case_or_acc", nog], ...]
- For ground acceleration:
["ACCX"/"ACCY"/"ACCZ", nog]
- For load case:
["case_name", nog]
Object Attributes
ID
(int): The ID of the eigen value control entry (always 1).TYPE
(str): Type of analysis ("EIGEN", "LANCZOS", or "RITZ").iFREQ
(int): Number of frequencies.iITER
(int): Number of iterations.iDIM
(int): Subspace dimension.TOL
(float): Convergence tolerance.bMINMAX
(bool): Frequency range flag.FRMIN
(float): Minimum frequency.FRMAX
(float): Maximum frequency.bSTRUM
(bool): Sturm sequence check flag.bINCNL
(bool): Include GL-link force vectors flag.iGNUM
(int): Number of generations.vRITZ
(list): Ritz vector load cases.
Examples
# EIGEN analysis - Subspace Iteration
AnalysisControl.EigenValue(
analysis_type="EIGEN",
ifreq=10,
iiter=20,
idim=1,
tol=1e-10
)
# LANCZOS analysis with frequency range
AnalysisControl.EigenValue(
analysis_type="LANCZOS",
ifreq=15,
frequency_range=[0, 1600],
bstrum=True
)
# LANCZOS analysis without frequency range
AnalysisControl.EigenValue(
analysis_type="LANCZOS",
ifreq=12,
bstrum=False
)
# RITZ analysis with load cases and ground acceleration
AnalysisControl.EigenValue(
analysis_type="RITZ",
bincnl=False,
ignum=1,
load_vector=[
["DL", 1],
["ACCX", 1],
["ACCY", 1]
]
)