forked from dlubal-software/RFEM_Python_Client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_SpectralSettings_test.py
51 lines (39 loc) · 2.75 KB
/
test_SpectralSettings_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import sys
import os
PROJECT_ROOT = os.path.abspath(os.path.join(
os.path.dirname(__file__),
os.pardir)
)
sys.path.append(PROJECT_ROOT)
from RFEM.enums import PeriodicResponseCombinationRule, DirectionalComponentCombinationRule, CqsDampingRule, AddOn
from RFEM.initModel import Model, GetAddonStatus, SetAddonStatus
from RFEM.BasicObjects.material import Material
from RFEM.LoadCasesAndCombinations.spectralAnalysisSettings import SpectralAnalysisSettings
if Model.clientModel is None:
Model()
def test_spectral_analysis_settings():
Model.clientModel.service.delete_all()
Model.clientModel.service.begin_modification()
# Create Material
Material(1, 'S235')
if not GetAddonStatus(Model.clientModel, AddOn.spectral_active):
SetAddonStatus(Model.clientModel, AddOn.spectral_active)
#Create Spectral Analysis Settings
SpectralAnalysisSettings(1, 'SpectralSettings_1', PeriodicResponseCombinationRule.SRSS, DirectionalComponentCombinationRule.SRSS)
SpectralAnalysisSettings(2, 'SpectralSettings_2', PeriodicResponseCombinationRule.SRSS, DirectionalComponentCombinationRule.SCALED_SUM, True, True)
SpectralAnalysisSettings(3, 'SpectralSettings_3', PeriodicResponseCombinationRule.SRSS, DirectionalComponentCombinationRule.SCALED_SUM, directional_component_scale_value=0.4)
SpectralAnalysisSettings(4, 'SpectralSettings_4', PeriodicResponseCombinationRule.CQC, DirectionalComponentCombinationRule.SCALED_SUM, constant_d_for_each_mode=12)
SpectralAnalysisSettings(5, 'SpectralSettings_5', PeriodicResponseCombinationRule.CQC, DirectionalComponentCombinationRule.SCALED_SUM, damping_for_cqc_rule=CqsDampingRule.DIFFERENT_FOR_EACH_MODE)
SpectralAnalysisSettings(6, 'SpectralSettings_6', PeriodicResponseCombinationRule.CQC, DirectionalComponentCombinationRule.ABSOLUTE_SUM)
Model.clientModel.service.finish_modification()
sas = Model.clientModel.service.get_spectral_analysis_settings(2)
assert sas.combination_rule_for_periodic_responses == 'SRSS'
assert sas.combination_rule_for_directional_components == 'SCALED_SUM'
assert sas.use_equivalent_linear_combination == True
assert sas.save_results_of_all_selected_modes == True
assert Model.clientModel.service.get_spectral_analysis_settings(3).combination_rule_for_directional_components_value == 0.4
sas = Model.clientModel.service.get_spectral_analysis_settings(4)
assert sas.combination_rule_for_periodic_responses == 'CQC'
assert sas.constant_d_for_each_mode == 12
assert Model.clientModel.service.get_spectral_analysis_settings(5).damping_for_cqc_rule == 'DIFFERENT_FOR_EACH_MODE'
assert Model.clientModel.service.get_spectral_analysis_settings(6).combination_rule_for_directional_components == 'ABSOLUTE_SUM'