### ===================================================================================================================
### 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
### ===================================================================================================================