Source code for viiapackage.analyses.analysis_a11

### ===================================================================================================================
###  A11 Analysis NLPO
### ===================================================================================================================
# Copyright ©VIIA 2024

### ===================================================================================================================
###   1. Import modules
### ===================================================================================================================

# General imports
from __future__ import annotations
from typing import TYPE_CHECKING, Optional

# References for functions and classes in the rhdhv_fem package
from rhdhv_fem.analyses import Analysis

# References for functions and classes in the viiaPackage
if TYPE_CHECKING:
    from viiapackage.viiaStatus import ViiaProject
from viiapackage.analyses.analysis_nlpo import viia_create_analysis_nlpo


### ===================================================================================================================
###   2. Function to create the A11 analysis
### ===================================================================================================================

[docs]def viia_create_analysis_a11( project: ViiaProject, direction: Optional[str] = None, loadnr: Optional[int] = None, ac_pivots: Optional[str] = None, number_eigenmodes: int = 10, modal_pushover_flag: bool = True) -> Analysis: """ This function creates the A11 analysis, complete existing model NLPO. This analysis is only available for DIANA. Input: - project (obj): VIIA project object containing collections of fem objects and project variables. - direction (str): The directions of which the analysis should be prepared. Default value is None, indicating no directions to be applied. Apply random selection of directions for example: 'X_neg', 'Y_neg', apply VIIA naming convention for directions. - loadnr (int): The associated ID (as integer) of the LoadCombination instance with the name corresponding to the NLPO load cases, if available. Default value is None. - ac_pivots (str): Name of method of obtaining arclength control pivots or a sequence of node numbers in string format. Default value is None. - number_eigenmodes (int): Only used when the modal pushover analysis is set up. This is the number of modes set for the eigenvalue analysis executed before the modal pushover analysis, the default value is 10. When the dominate mode is after the first 10 modes, this should be adjusted accordingly. - modal_pushover_flag (bool): If this argument is set to True, the eigenvalue analysis will executed before modal NLPO analysis, otherwise eigenvalue analysis is not set up for uniform NLPO analysis. Default value is True. Output: - Creates and returns the A11 with all settings for VIIA. """ # Analysis is not available in ABAQUS if project.software == 'abaqus': raise NotImplementedError("ERROR: The A11 analysis is not yet available in ABAQUS software.") # Creation of the analysis object return viia_create_analysis_nlpo( project=project, analysis_nr='A11', direction=direction, loadnr=loadnr, ac_pivots=ac_pivots, number_eigenmodes=number_eigenmodes, modal_pushover_flag=modal_pushover_flag)
### =================================================================================================================== ### 3. End of script ### ===================================================================================================================