viktor.external.idea
IdeaRcsAnalysis
- class viktor.external.idea_rcs.idea_rcs.IdeaRcsAnalysis(input_file, *, return_result_xml=None, return_rcs_file=None)¶
Bases:
ExternalProgram
Can be used to perform an analysis using IDEA StatiCa RCS on a third-party worker. To start an analysis call the method
execute()
, with an appropriate timeout (in seconds). To retrieve the results call the methodget_output_file()
, afterexecute()
.Usage:
idea_rcs_file = File.from_data("idea rcs input file content") idea_rcs_analysis = IdeaRcsAnalysis(input_file=idea_rcs_file) idea_rcs_analysis.execute(timeout=10) result = idea_rcs_analysis.get_output_file()
Exceptions which can be raised during calculation:
viktor.errors.ExecutionError
: generic error. Error message provides more information
- Parameters
input_file (
Union
[BytesIO
,File
]) – IDEA (Open)Model input XML file.return_result_xml (
Optional
[bool
]) – Result .xml file will be available if set to True (default: True).return_rcs_file (
Optional
[bool
]) – Input .ideaRcs file will be available if set to True (default: False).
- get_output_file(*, as_file=False)¶
Method can be used to retrieve the results generated by running an external analysis. The file is only available when return_result_xml=True.
execute()
must be called first.- Return type
Union
[BytesIO
,File
,None
]- Returns
File (encoding=’utf-16’), if as_file = True
BytesIO (encoding=’utf-16’), if as_file = False (default)
- get_idea_rcs_file(*, as_file=False)¶
Method can be used to retrieve the .ideaRcs file which is converted from the (Open)Model input XML. The file is only available when return_rcs_file=True.
execute()
must be called first.- Return type
Union
[BytesIO
,File
,None
]- Returns
File, if as_file = True
BytesIO, if as_file = False (default)
OpenModel
- class viktor.external.idea_rcs.idea_rcs.OpenModel(*, project_data=None, code_settings=None)¶
Bases:
_Model
Can be used to construct an IDEA-RCS model and generate its corresponding input XML file. This file can in turn be used as input of
IdeaRcsAnalysis
. For a more elaborate example implementation, please see the guide.The OpenModel follows IDEA’s underlying API. Alternatively, you can use
Model
.Warning
Use this binding at own risk. Whether an input XML file represents a valid model is dependent on many things, e.g. on the combination of certain parameters. The OpenModel does not give any guarantees on this. It is therefore important to always validate your model by hand thoroughly, before using it in an automated way within your app!
Example usage:
# Initialize the model. model = OpenModel() # empty model, or optionally pass ProjectData and/or CodeSettings # Create the concrete section. mat = model.create_matconcrete_ec2(ConcreteMaterial.C12_15) cs = model.create_cross_section_parameter(name='cs', cross_section_type=CrossSectionType.RECT, material=mat, Width=2.0, Height=2.0) # Create the reinforced cross section. rcs = model.create_reinforced_cross_section(name='rcs', cross_section=cs) # Create bars (and stirrups) as desired mat_reinf = model.create_matreinforcement_ec2(ReinforcementMaterial.B_400A) bar_locations = [(-0.101, -0.175), (0.101, -0.175), (0.101, 0.175), (-0.101, 0.175)] bar_diameters = [0.016, 0.016, 0.016, 0.016] for coords, diameter in zip(bar_locations, bar_diameters): rcs.create_bar(coords, diameter, mat_reinf) # Create a CheckMember. member = model.create_check_member1d() # 'Assign' the CheckMember to a CheckSection with the previously defined reinforced section and add extremes. check_section = model.add_check_section(description='S 1', check_member=member, reinf_section=rcs) freq = LoadingSLS(ResultOfInternalForces(N=-100000, My=210000)) fund = LoadingULS(ResultOfInternalForces(N=-99999, My=200000)) check_section.create_extreme(frequent=freq, fundamental=fund) # 'Assign' the necessary additional data to the CheckMember. model.add_member_data_ec2(member, MemberType.BEAM_SLAB, TwoWaySlabType.SHELL_AS_PLATE) # Generate the input XML file. input_xml = model.generate_xml_input()
- Parameters
project_data (
Optional
[ProjectData
]) – project_data (default: IDEA-RCS default project_data)code_settings (
Optional
[CodeSettings
]) – code and calculation settings (default: IDEA-RCS default settings)
- project_data¶
- Return type
- code_settings¶
- Return type
- generate_xml_input(*, as_file=False)¶
Generates the input file XML representation of the IDEA-RCS model.
Warning
Whether an input XML file represents a valid model is dependent on many things, e.g. on the combination of certain parameters. The OpenModel does not give any guarantees on this. It is therefore important to always validate your model by hand thoroughly, before using it in an automated way within your app!
Note
This method needs to be mocked in (automated) unit and integration tests.
- Parameters
as_file (
bool
) – return as BytesIO (default) or FileNew in v13.5.0- Return type
Union
[BytesIO
,File
]
- create_matconcrete_ec2(base_material, name=None, *, e_modulus=32800, g_modulus=13667, poisson=0.2, unit_mass=2500, specific_heat=0.6, thermal_expansion=1e-05, thermal_conductivity=45, is_default=False, order_in_code=1, thermal_state=None, fck_28=None, stone_diameter=0.016, cement_class=ConcCementClass.R, aggregate_type=ConcAggregateType.QUARTZITE, diagram_type=ConcDiagramType.PARABOLIC, silica_fume=False, plain_concrete_diagram=False, dep_params=None)¶
Create a material concrete Ec2 object and add it to the model.
- Parameters
base_material (
ConcreteMaterial
) – IDEA-RCS base material to start with.name (
Optional
[str
]) – Name of the material (default: base_material name).e_modulus (
float
) – Young’s modulus [MPa] (default: 32800 MPa).g_modulus (
float
) – Shear modulus [MPa] (default: 13667 MPa).poisson (
float
) – Poisson’s ratio (default: 0.2).unit_mass (
float
) – Unit mass [kg/m3] (default: 2500 kg/m3).specific_heat (
float
) – Specific heat capacity (default: 0.6).thermal_expansion (
float
) – Thermal expansion [1/K] (default: 1e-05).thermal_conductivity (
float
) – Thermal conductivity (default: 45).is_default (
bool
) – True if material is default material in IDEA-RCS code (default: False).order_in_code (
int
) – Order of this material in the IDEA-RCS code (default: 1).thermal_state (
Optional
[ThermalState
]) – Collection of thermal states for expansion, conductivity, specific heat, stress-strain and strain curvatures (default: ThermalState()).fck_28 (
Optional
[float
]) – Characteristic compressive cylinder strength of concrete at 28 days [MPa] (default: base_material fck).stone_diameter (
float
) – Aggregate size (default: 16 mm).cement_class (
ConcCementClass
) – Cement class (default: R).aggregate_type (
ConcAggregateType
) – Aggregate type (default: Quartzite).diagram_type (
ConcDiagramType
) – Type of stress-strain diagram for ULS calculation (default: Parabolic).silica_fume (
bool
) – Contains silica fume (default: False) (EN 1992-2:2008-07 only).plain_concrete_diagram (
bool
) – Stress strain diagram with tension part (default: False).dep_params (
Optional
[ConcDependentParams
]) – Collection of a series of dependent parameters (see ConcDependentParams for more info). If None, values will be calculated based on ‘fck’ (default: None).
- Return type
- create_matreinforcement_ec2(base_material, name=None, *, e_modulus=200000, g_modulus=83333, poisson=0.2, unit_mass=7850, specific_heat=0.6, thermal_expansion=1e-05, thermal_conductivity=45, is_default=False, order_in_code=1, thermal_state=None, bar_surface=BarSurface.RIBBED, fyk=None, ftk_by_fyk=None, epsuk=None, ftk=None, class_=ReinfClass.B, type_=ReinfType.BARS, fabrication=ReinfFabrication.HOT_ROLLED, diagram_type=ReinfDiagramType.BILINEAR_INCLINED)¶
Create a material reinforcement Ec2 object and add it to the model.
- Parameters
base_material (
ReinforcementMaterial
) – IDEA-RCS base material to start with.name (
Optional
[str
]) – Name of the material (default: base_material name).e_modulus (
float
) – Young’s modulus [MPa] (default: 200000 MPa).g_modulus (
float
) – Shear modulus [MPa] (default: 83333 MPa).poisson (
float
) – Poisson’s ratio (default: 0.2).unit_mass (
float
) – Unit mass [kg/m3] (default: 7850 kg/m3).specific_heat (
float
) – Specific heat capacity (default: 0.6).thermal_expansion (
float
) – Thermal expansion [1/K] (default: 1e-05).thermal_conductivity (
float
) – Thermal conductivity (default: 45).is_default (
bool
) – True if material is default material in IDEA-RCS code (default: False).order_in_code (
int
) – Order of this material in the IDEA-RCS code (default: 1).thermal_state (
Optional
[ThermalState
]) – Collection of thermal states for expansion, conductivity, specific heat, stress-strain and strain curvatures (default: ThermalState()).bar_surface (
BarSurface
) – Bar surface (default: Ribbed).fyk (
Optional
[float
]) – Characteristic yield strength of reinforcement (default: base_material fyk).ftk_by_fyk (
Optional
[float
]) – factor k = ratio ftk / fyk (default: base_material k).epsuk (
Optional
[float
]) – Characteristic strain of reinforcement at maximum load - εuk [x 1e-4].ftk (
Optional
[float
]) – Characteristic tensile strength of reinforcement (default: base_material ftk).class – Class of reinforcement (default: B).
type – Type of reinforcement (default: Bars).
fabrication (
ReinfFabrication
) – Fabrication of reinforcement (default: Hot rolled).diagram_type (
ReinfDiagramType
) – Type of material diagram (default: Bilinear with an inclined top branch).
- Return type
- create_cross_section_component(name=None)¶
Create a cross-section object defined by one or multiple components and add it to the model.
- Parameters
name (
Optional
[str
]) – Name of cross-section (default: ‘’).- Return type
- create_cross_section_parameter(cross_section_type, material, name=None, **parameters)¶
Create a cross-section object defined by parameters and add it to the model.
- Parameters
cross_section_type (
CrossSectionType
) – Type of cross-section.material (
MatConcrete
) – Material (created bycreate_matconcrete_ec2()
).name (
Optional
[str
]) – Name of cross-section (default: ‘’).parameters (
Any
) – keyword naming should correspond to chosen cross_section_type(!).
The following combinations of cross_section_type and parameters can be used (see the IDEA StatiCa interface for the naming convention):
O
: DRECT
: Width, HeightTRAPEZOID
: H, Bb, BtIGN
: H, Bh, Bs, Ts, Th, TwIGH
: H, Bh, Bs, Ts, Th, Tw, Bfh, TfhBEAM_SHAPE_I_HAUNCH_CHAMFER
: Bbf, Hbf, Hbfh, Bw, H, Htfh, Htf, Btf, BwhTG
: Height, Width, TopFlangeWidth, WallWidthTTFH
: Height, Width, TopFlangeWidth, WallWidth, TopFlangeHaunchTGREV
: Height, Width, TopFlangeWidth, WallWidthTCHAMFER_1
: Height, Width, TopFlangeWidth, WallWidth, TopFlangeHaunch2, WallHaunch2TCHAMFER_2
: Height, Width, TopFlangeWidth, WallWidth, TopFlangeHaunch2, WallHaunch1, WallHaunch2TWH
: Height, Width, TopFlangeWidth, WallWidth, WallHaunchTTFHREV
: Height, Width, TopFlangeWidth, WallWidth, TopFlangeHaunchTWHREV
: Height, Width, TopFlangeWidth, WallWidth, WallHaunch
- Return type
- create_reinforced_cross_section(cross_section, name=None)¶
Create a reinforced cross-section object and add it to the model.
- Parameters
cross_section (
CrossSection
) – Cross-section (created bycreate_cross_section_parameter()
orcreate_cross_section_component()
).name (
Optional
[str
]) – Name of cross-section (default: ‘R{i}’).
- Return type
- create_check_member1d()¶
Create a member 1D check, which can be used in
add_check_section()
andadd_member_data_ec2()
.- Return type
- add_check_section(check_member, reinf_section, description=None)¶
Adds a single section check on the given CheckMember. Note that
add_member_data_ec2()
must be called subsequently.- Parameters
check_member (
CheckMember
) – CheckMember (created bycreate_check_member1d()
).reinf_section (
ReinforcedCrossSection
) – Reinforcement of cross-section (created bycreate_reinforced_cross_section()
).description (
Optional
[str
]) – Description/name of the section (default: ‘S{i}’).
- Return type
- add_member_data_ec2(member, member_type, two_way_slab_type, *, calculation_setup=None, coeff_kx_for_wmax=None, exposure_class_data=None, creep_coefficient=None, relative_humidity=None)¶
Adds a concrete member Ec2 data to the model.
- Parameters
member (
CheckMember
) – CheckMember (created bycreate_check_member1d()
). Should be previously added to a check section viaadd_check_section()
.member_type (
MemberType
) – Structural type of member. Must be a valid type corresponding to the reinf_section assigned to the member inadd_check_section()
.two_way_slab_type (
TwoWaySlabType
) – Two way slab type. Must be a valid type corresponding to the reinf_section assigned to the member inadd_check_section()
.calculation_setup (
Optional
[CalculationSetup
]) – Calculation control settings (default: Capacity N-M(-M) | Shear | Interaction | Stress Limitation | Crack width | Detailing).coeff_kx_for_wmax (
Optional
[float
]) – (Dutch annex only) Coefficient kx to increase limited concrete crack (default: 1.0).exposure_class_data (
Optional
[ExposureClassesDataEc2
]) – Exposure classes (default: no corrosion).creep_coefficient (
Optional
[float
]) – Final value of creep coefficient (default: calculated by IDEA-RCS).relative_humidity (
Optional
[float
]) – Percentage of relative humidity (default: 65).
- Return type
None
SectionPrototype1D
- class viktor.external.idea_rcs.idea_rcs.SectionPrototype1D¶
Bases:
_SectionPrototype
,ABC
Abstract base class of all 1D (beam-like) section prototypes.
RectSection
- class viktor.external.idea_rcs.idea_rcs.RectSection(width, height)¶
Bases:
SectionPrototype1D
Rectangular section.
The origin is located in the centroid of this section.
- Parameters
width (
float
) – Width of the section.height (
float
) – Height of the section.
GeneralShape
- class viktor.external.idea_rcs.idea_rcs.GeneralShape(outline, *, openings=None)¶
Bases:
SectionPrototype1D
General cross-section, defined by a set of coordinates.
- Parameters
outline (
Sequence
[Tuple
[float
,float
]]) – Vertices which define the outline of the section (y, z). A minimum of 3 vertices is required, the outline is automatically closed.openings (
Optional
[Sequence
[Sequence
[Tuple
[float
,float
]]]]) – One or multiple openings, defined by vertices (y, z). A minimum of 3 vertices per opening is required, the opening is automatically closed.
Member
- class viktor.external.idea_rcs.idea_rcs.Member(rcs, check_section)¶
-
Base class of all member types.
- property bars: List[ReinforcedBar]¶
- Return type
List
[ReinforcedBar
]
- property extremes: List[CheckSectionExtreme]¶
- Return type
List
[CheckSectionExtreme
]
- create_bar(coordinates, diameter, material)¶
Create a reinforced bar on the reinforced cross section.
- Parameters
coordinates (
Tuple
[float
,float
]) – (X, Y) coordinate of the bar [m].diameter (
float
) – Diameter of the bar [m].material (
MatReinforcement
) – Reinforcement material (created bycreate_matreinforcement_ec2()
).
- Return type
None
- create_bar_layer(*, origin, diameter, material, number_of_bars, delta_y=None, delta_z=None)¶
Create multiple reinforced bars on the reinforced cross section, positioned on a line.
- Parameters
origin (
Tuple
[float
,float
]) – Origin point (Y, Z) [m].diameter (
float
) – Diameter of the bar [m].material (
MatReinforcement
) – Reinforcement material (created bycreate_matreinforcement_ec2()
).number_of_bars (
int
) – Number of bars (minimum of 2).delta_y (
Optional
[float
]) – Distance between origin bar and the last bar in y-direction [m].delta_z (
Optional
[float
]) – Distance between origin bar and the last bar in z-direction [m].
- Return type
None
- create_stirrup(points, diameter, material, distance, shear_check=None, torsion_check=None, mandrel_diameter_factor=None, anchorage_length=None)¶
Create a stirrup on the reinforced cross section.
- Parameters
points (
Sequence
[Union
[Tuple
[float
,float
],Tuple
[Tuple
[float
,float
],Tuple
[float
,float
]]]]) – Sequence of (X, Y) coordinates [m] of the stirrup vertices, connected by straight line segments. For arc-segments use ((X_end, Y_end), (X_on_arc, Y_on_arc)).diameter (
float
) – Diameter of the stirrup [m].material (
MatReinforcement
) – Reinforcement material (created bycreate_matreinforcement_ec2()
).distance (
float
) – Longitudinal distance between stirrups [m].shear_check (
Optional
[bool
]) – Take stirrup into account in shear check (default: False).torsion_check (
Optional
[bool
]) – Take stirrup into account in torsion check (default: False).mandrel_diameter_factor (
Optional
[float
]) – Inner diameter of mandrel as multiple of stirrup diameter [-] (default: 1.0).anchorage_length (
Optional
[float
]) – Anchorage length [m] (default: 0.0).
- Return type
None
- create_extreme(*, accidental=None, fatigue=None, frequent=None, fundamental=None, characteristic=None, quasi_permanent=None)¶
Create an extreme case with corresponding internal forces on the beam for checking.
- Parameters
accidental (
Optional
[LoadingULS
]) – Accidental loading.fatigue (
Optional
[FatigueLoading
]) – Fatigue loading.frequent (
Optional
[LoadingSLS
]) – Frequent loading.fundamental (
Optional
[LoadingULS
]) – Fundamental loading.characteristic (
Optional
[LoadingSLS
]) – Characteristic loading.quasi_permanent (
Optional
[LoadingSLS
]) – Quasi-Permanent loading.
- Return type
None
Beam
- class viktor.external.idea_rcs.idea_rcs.Beam(rcs, check_section)¶
Bases:
Member
Do not use this __init__ directly, but create the object by
Model.create_beam()
.
CompressionMember
- class viktor.external.idea_rcs.idea_rcs.CompressionMember(rcs, check_section)¶
Bases:
Member
Do not use this __init__ directly, but create the object by
Model.create_compression_member()
.
OneWaySlab
- class viktor.external.idea_rcs.idea_rcs.OneWaySlab(rcs, check_section)¶
Bases:
Member
Do not use this __init__ directly, but create the object by
Model.create_one_way_slab()
.
Model
- class viktor.external.idea_rcs.idea_rcs.Model(*, project_data=None, code_settings=None)¶
Bases:
_Model
Can be used to construct an IDEA-RCS model and generate its corresponding input XML file. This file can in turn be used as input of
IdeaRcsAnalysis
. For a more detailed elaboration, please see the guide.Alternatively, you can use
OpenModel
.Warning
Use this binding at own risk. Whether an input XML file represents a valid model is dependent on many things, e.g. on the combination of certain parameters. The Model does not give any guarantees on this. It is therefore important to always validate your model by hand thoroughly, before using it in an automated way within your app!
Example usage:
# Initialize the model. model = Model() # empty model, or optionally pass ProjectData and/or CodeSettings # Create the desired material(s). cs_mat = model.create_concrete_material(ConcreteMaterial.C12_15) mat_reinf = model.create_reinforcement_material(ReinforcementMaterial.B_400A) # Create a beam (or other type of member) to be checked. cross_section = RectSection(0.5, 1.0) beam = model.create_beam(cross_section, cs_mat) # Create bars (and stirrups) as desired bar_locations = [(-0.101, -0.175), (0.101, -0.175), (0.101, 0.175), (-0.101, 0.175)] bar_diameters = [0.016, 0.016, 0.016, 0.016] for coords, diameter in zip(bar_locations, bar_diameters): beam.create_bar(coords, diameter, mat_reinf) # Add extreme(s) freq = LoadingSLS(ResultOfInternalForces(N=-100000, My=210000)) fund = LoadingULS(ResultOfInternalForces(N=-99999, My=200000)) beam.create_extreme(frequent=freq, fundamental=fund) # Generate the input XML file. input_xml = model.generate_xml_input()
- Parameters
project_data (
Optional
[ProjectData
]) – project_data (default: IDEA-RCS default project_data)code_settings (
Optional
[CodeSettings
]) – code and calculation settings (default: IDEA-RCS default settings)
- project_data¶
- Return type
- code_settings¶
- Return type
- generate_xml_input(*, as_file=False)¶
Generates the input file XML representation of the IDEA-RCS model.
Warning
Whether an input XML file represents a valid model is dependent on many things, e.g. on the combination of certain parameters. The OpenModel does not give any guarantees on this. It is therefore important to always validate your model by hand thoroughly, before using it in an automated way within your app!
Note
This method needs to be mocked in (automated) unit and integration tests.
- Parameters
as_file (
bool
) – return as BytesIO (default) or FileNew in v13.5.0- Return type
Union
[BytesIO
,File
]
- create_concrete_material(base_material, name=None, *, unit_mass=2500, fck=None, stone_diameter=0.016, cement_class=ConcCementClass.R, aggregate_type=ConcAggregateType.QUARTZITE, diagram_type=ConcDiagramType.PARABOLIC, silica_fume=False, plain_concrete_diagram=False, dep_params=None)¶
Create a concrete material, to be used in
create_beam()
and similar methods.- Parameters
base_material (
ConcreteMaterial
) – IDEA-RCS base material to start with.name (
Optional
[str
]) – Name of the material (default: base_material name).unit_mass (
float
) – Unit mass [kg/m3] (default: 2500 kg/m3).fck (
Optional
[float
]) – Characteristic compressive cylinder strength of concrete at 28 days [MPa] (default: base_material fck).stone_diameter (
float
) – Aggregate size (default: 16 mm).cement_class (
ConcCementClass
) – Cement class (default: R).aggregate_type (
ConcAggregateType
) – Aggregate type (default: Quartzite).diagram_type (
ConcDiagramType
) – Type of stress-strain diagram for ULS calculation (default: Parabolic).silica_fume (
bool
) – Contains silica fume (default: False) (EN 1992-2:2008-07 only).plain_concrete_diagram (
bool
) – Stress strain diagram with tension part (default: False).dep_params (
Optional
[ConcDependentParams
]) – Collection of a series of dependent parameters (see ConcDependentParams for more info). If None, values will be calculated based on ‘fck’ (default: None).
- Return type
- create_reinforcement_material(base_material, name=None, *, unit_mass=7850, e_modulus=200000, fyk=None, ftk_by_fyk=None, epsuk=None, type_=ReinfType.BARS, bar_surface=BarSurface.RIBBED, class_=ReinfClass.B, fabrication=ReinfFabrication.HOT_ROLLED, diagram_type=ReinfDiagramType.BILINEAR_INCLINED)¶
Create a reinforcement material, to be used in
create_reinforcement_bar()
.- Parameters
base_material (
ReinforcementMaterial
) – IDEA-RCS base material to start with.name (
Optional
[str
]) – Name of the material (default: base_material name).unit_mass (
float
) – Unit mass [kg/m3] (default: 7850 kg/m3).e_modulus (
float
) – Young’s modulus [MPa] (default: 200000 MPa).fyk (
Optional
[float
]) – Characteristic yield strength of reinforcement (default: base_material fyk).ftk_by_fyk (
Optional
[float
]) – factor k = ratio ftk / fyk (default: base_material k).epsuk (
Optional
[float
]) – Characteristic strain of reinforcement at maximum load - εuk [x 1e-4].type – Type of reinforcement (default: Bars).
bar_surface (
BarSurface
) – Bar surface (default: Ribbed).class – Class of reinforcement (default: B).
fabrication (
ReinfFabrication
) – Fabrication of reinforcement (default: Hot rolled).diagram_type (
ReinfDiagramType
) – Type of material diagram (default: Bilinear with an inclined top branch).
- Return type
- create_beam(cs, material, *, calculation_control=None, name=None, rcs_name=None, exposure_classes=None, coeff_kx=None, creep_coefficient=None, relative_humidity=None)¶
Create a beam section.
- Parameters
cs (
SectionPrototype1D
) – Cross section prototype.material (
MatConcrete
) – Material for the cross section (created bycreate_concrete_material()
).calculation_control (
Optional
[CalculationSetup
]) – Calculation control settings (default: Capacity N-M(-M) | Shear | Interaction | Stress Limitation | Crack width | Detailing).name (
Optional
[str
]) – Name of the cross section (default: ‘S{i}’).rcs_name (
Optional
[str
]) – Name of the reinforced cross section (default: ‘R{i}’).exposure_classes (
Optional
[ExposureClassesDataEc2
]) – Corrosion exposure classes (default: no corrosion).coeff_kx (
Optional
[float
]) – (Dutch annex only) Coefficient k_x acc. 7.3.1 (default: 1.0).creep_coefficient (
Optional
[float
]) – Final value of creep coefficient (default: calculated by IDEA-RCS).relative_humidity (
Optional
[float
]) – Percentage of relative humidity (default: 65).
- Return type
- create_compression_member(cs, material, *, calculation_control=None, name=None, rcs_name=None, exposure_classes=None, coeff_kx=None, creep_coefficient=None, relative_humidity=None)¶
Create a compression member section.
- Parameters
cs (
SectionPrototype1D
) – Cross section prototype.material (
MatConcrete
) – Material for the cross section (created bycreate_concrete_material()
).calculation_control (
Optional
[CalculationSetup
]) – Calculation control settings (default: Capacity N-M(-M) | Shear | Interaction | Stress Limitation | Crack width | Detailing).name (
Optional
[str
]) – Name of the cross section (default: ‘S{i}’).rcs_name (
Optional
[str
]) – Name of the reinforced cross section (default: ‘R{i}’).exposure_classes (
Optional
[ExposureClassesDataEc2
]) – Corrosion exposure classes (default: no corrosion).coeff_kx (
Optional
[float
]) – (Dutch annex only) Coefficient k_x acc. 7.3.1 (default: 1.0).creep_coefficient (
Optional
[float
]) – Final value of creep coefficient (default: calculated by IDEA-RCS).relative_humidity (
Optional
[float
]) – Percentage of relative humidity (default: 65).
- Return type
- create_one_way_slab(cs, material, *, calculation_control=None, name=None, rcs_name=None, exposure_classes=None, coeff_kx=None, creep_coefficient=None, relative_humidity=None)¶
Create a one-way slab member section.
- Parameters
cs (
SectionPrototype1D
) – Cross section prototype.material (
MatConcrete
) – Material for the cross section (created bycreate_concrete_material()
).calculation_control (
Optional
[CalculationSetup
]) – Calculation control settings (default: Capacity N-M(-M) | Shear | Interaction | Stress Limitation | Crack width | Detailing).name (
Optional
[str
]) – Name of the cross section (default: ‘S{i}’).rcs_name (
Optional
[str
]) – Name of the reinforced cross section (default: ‘R{i}’).exposure_classes (
Optional
[ExposureClassesDataEc2
]) – Corrosion exposure classes (default: no corrosion).coeff_kx (
Optional
[float
]) – (Dutch annex only) Coefficient k_x acc. 7.3.1 (default: 1.0).creep_coefficient (
Optional
[float
]) – Final value of creep coefficient (default: calculated by IDEA-RCS).relative_humidity (
Optional
[float
]) – Percentage of relative humidity (default: 65).
- Return type
RcsOutputFileParser
- class viktor.external.idea_rcs.idea_rcs.RcsOutputFileParser(xml_file)¶
-
Parser to extract results from an IDEA-RCS output file (.xml).
Currently the following data can be extracted:
torsion()
(new in v13.4.0)interaction()
(new in v13.4.0)
Example using
File
:xml_file = idea_rcs_analysis.get_output_file(as_file=True) with xml_file.open_binary() as f: parser = RcsOutputFileParser(f) # loop through all sections for section in parser.section_results(): capacity_results = section.capacity() shear_results = section.shear() # or get results for a single section section_4 = parser.section_result(4) ... # or loop through all extremes within a section for extreme in section_4.extremes(): capacity = extreme['capacity'] ...
Example using BytesIO:
xml_file = idea_rcs_analysis.get_output_file() parser = RcsOutputFileParser(xml_file) for section in parser.section_results(): ...
- Parameters
xml_file (
BinaryIO
) – IDEA-RCS XML output file (.xml).
- section_result(id_)¶
Retrieve the section result of the provided id.
- Return type
- section_results()¶
Iterates through all section results.
Usage:
for section in parser.section_results(): capacity_results = section.capacity() if section.id_ == 3: ...
- Return type
Iterator
[SectionResult
]
- class SectionResult(id_, element)¶
-
Parsed result section, on which specific results can be retrieved.
Do not instantiate this object directly, but retrieve it through
RcsOutputFileParser.section_results()
.- property id_: int¶
Returns the ‘SectionId’ of current section.
- Return type
int
- extremes()¶
Get all results combined per extreme for the current section.
Returns a list of dictionaries in the following format:
[ { 'capacity': {...} | None, 'shear': {...} | None, 'torsion': {...} | None, # new in v13.4.0 'interaction': {...} | None, # new in v13.4.0 'crack_width': {...} | None, 'detailing': {...} | None, 'stress_limitation': {...} | None, 'fatigue': {...} | None, }, ... ]
- Return type
List
[dict
]
- capacity()¶
Get the capacity results of all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'Fu': { 'N': <float>, 'Qy': <float>, 'Qz': <float>, 'Mx': <float>, 'My': <float>, 'Mz': <float> }, 'Fu1': { ... # see 'Fu' } | None, # IDEA-RCS >= v10.1 only, else None 'Fu2': { ... # see 'Fu' } | None, # IDEA-RCS >= v10.1 only, else None 'CheckValue': <float>, 'Result': <str> # new in v13.4.0 } | None, ... ]
- Return type
List
[Optional
[dict
]]
- shear()¶
Get the shear resistances for all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'Ved': <float>, 'Vrdc': <float>, 'Vrd': <float>, 'Vrdmax': <float>, 'Vrdr': <float>, 'Vrds': <float>, 'CheckValue': <float>, 'Result': <str> # new in v13.4.0 } | None, ... ]
- Return type
List
[Optional
[dict
]]
- torsion()¶
- New in v13.4.0
Get the torsion results for all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'Ted': <float>, 'Trdc': <float>, 'Trdmax': <float>, 'Trds': <float>, 'Trd': <float>, 'CheckValue': <float>, 'Result': <str> } | None, ... ]
- Return type
List
[Optional
[dict
]]
- interaction()¶
- New in v13.4.0
Get the interaction results for all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'Ned': <float>, 'Medy': <float>, 'Medz': <float>, 'Ved': <float>, 'Ted': <float>, 'CheckValue': <float>, 'CheckValueShearAndTorsion': <float>, 'CheckValueShearTorsionAndBending': <float>, 'Result': <str> } | None, ... ]
- Return type
List
[Optional
[dict
]]
- crack_width()¶
Get the crack width (short/long) results for all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'short': { 'N': <float>, 'My': <float>, 'Mz': <float>, 'W': <float>, 'Wlim': <float>, 'CheckValue': <float>, 'Result': <str> # new in v13.4.0 } | None, 'long': { ... # see 'short' } | None, } | None, ... ]
- Return type
List
[Optional
[dict
]]
- detailing()¶
Get the unity checks of the longitudinal reinforcement and shear reinforcement for all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'longitudinal': <float> | None, 'shear': <float> | None, 'CheckValue': <float>, # new in v13.4.0 'CheckValueLongReinf': <float>, # new in v13.4.0 'CheckValueShearReinf': <float>, # new in v13.4.0 'Result': <str> # new in v13.4.0 } | None, ... ]
- Return type
List
[Optional
[dict
]]
- stress_limitation()¶
Get the short- and long-term stress limitation results for all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'Check_7_2_2_Concrete_fck': { # new in v13.4.0 'short': { 'Stress': <float> | None, 'CheckValue': <float>, 'Result': <str> } | None, 'long': { ... # see 'short' } | None } | None, 'Check_7_2_3_Concrete_fck': { # new in v13.4.0 ... # see 'Check_7_2_2_Concrete_fck' } | None, 'Check_7_2_5_Tendons_fpk': { # new in v13.4.0 ... # see 'Check_7_2_2_Concrete_fck' } | None, 'Check_7_2_5_ReinforcementBars_fyk': { # new in v13.4.0 ... # see 'Check_7_2_2_Concrete_fck' } | None, 'Check_5_10_3_2_Tendons': { # new in v13.4.0 ... # see 'Check_7_2_2_Concrete_fck' } | None, 'Check_5_10_2_1_1_Tendons': { # new in v13.4.0 ... # see 'Check_7_2_2_Concrete_fck' } | None, 'short': { 'Check_7_2_2_Concrete_fck': <float> | None, ... # see above for all keys } | None, 'long': { 'Check_7_2_2_Concrete_fck': <float> | None, ... # see above for all keys } | None, } | None, ... ]
- Return type
List
[Optional
[dict
]]
- fatigue()¶
Get the fatigue results for all extremes for the current section.
Returns a list of dictionaries (or None if not present for a certain extreme) in the following format:
[ { 'fatigue': { 'CheckValue': <float>, 'DecisionMethod': <str>, 'Result': <str> # new in v13.4.0 }, 'shear': { 'max': { 'Ved': <float>, 'Vrdc': <float>, 'Vrd': <float>, 'Vrdmax': <float>, 'Vrdr': <float>, 'Vrds': <float>, 'CheckValue': <float>, 'Result': <str> # new in v13.4.0 }, 'min': { ... # see 'max' }, } } | None, ... ]
- Return type
List
[Optional
[dict
]]
OutputFileParser
- class viktor.external.idea_rcs.idea_rcs.OutputFileParser(xml_file)¶
-
Helper class to extract results from a IDEA-RCS output file (.xml).
Note, for very large result files we advise to make use of
RcsOutputFileParser
instead.- Parameters
xml_file (
StringIO
) – valid IDEA-RCS XML output file.- Raises
ParsingError – if ‘xml_file’ can not be parsed (not a valid format).
Example usage:
parser = OutputFileParser(xml_file) for section in parser.section_ids: capacity_results = parser.capacity_results(section) ...
In case you require results which are not supported, you can retrieve the raw results using the
raw_results()
method.- property section_ids: List[int]¶
Get all section ids for which results are present in the result file.
- Return type
List
[int
]
- raw_results()¶
Get the (complete) raw results in dict form. Can be used if results need to be extracted that are not supported by the available methods.
- Return type
dict
- capacity_results(section_id)¶
Get the result of applied internal forces of all extremes for the section with provided ‘section_id’.
- Parameters
section_id (
int
) – id of the check section. Must be present in the output file.- Raises
ParsingError – if ‘section_id’ is not present in output file.
See
capacity()
for return format.- Return type
List
[Optional
[Dict
[str
,Any
]]]
- shear_results(section_id)¶
Get the shear resistances for all extremes for the section with provided ‘section_id’.
- Parameters
section_id (
int
) – id of the check section. Must be present in the output file.- Raises
ParsingError – if ‘section_id’ is not present in output file.
See
shear()
for return format.- Return type
List
[Optional
[Dict
[str
,Any
]]]
- crack_width_results(section_id)¶
Get the crack width (short/long) results for all extremes for the section with provided ‘section_id’.
- Parameters
section_id (
int
) – id of the check section. Must be present in the output file.- Raises
ParsingError – if ‘section_id’ is not present in output file.
See
crack_width()
for return format.- Return type
List
[Optional
[Dict
[str
,Optional
[Dict
[str
,Any
]]]]]
- detailing_results(section_id)¶
Get the unity checks of the longitudinal reinforcement and shear reinforcement for all extremes for the section with provided ‘section_id’.
- Parameters
section_id (
int
) – id of the check section. Must be present in the output file.- Raises
ParsingError – if ‘section_id’ is not present in output file.
See
detailing()
for return format.- Return type
List
[Optional
[Dict
[str
,Optional
[float
]]]]
- stress_limitation_results(section_id)¶
Get the short- and long-term stress limitation results for all extremes for provided ‘section_id’.
- Parameters
section_id (
int
) – id of the check section. Must be present in the output file.- Raises
ParsingError – if ‘section_id’ is not present in output file.
See
stress_limitation()
for return format.- Return type
List
[Optional
[Dict
[str
,Optional
[float
]]]]
- fatigue_results(section_id)¶
Get the fatigue results for all extremes for the provided ‘section_id’.
- Parameters
section_id (
int
) – id of the check section. Must be present in the output file.- Raises
ParsingError – if ‘section_id’ is not present in output file.
See
fatigue()
for return format.- Return type
List
[Optional
[dict
]]
ConcreteMaterial
- class viktor.external.idea_rcs.objects.ConcreteMaterial(value)¶
Bases:
Enum
An enumeration.
- C12_15: ConcreteMaterial = 1¶
- C16_20: ConcreteMaterial = 2¶
- C20_25: ConcreteMaterial = 3¶
- C25_30: ConcreteMaterial = 4¶
- C30_37: ConcreteMaterial = 5¶
- C35_45: ConcreteMaterial = 6¶
- C40_50: ConcreteMaterial = 7¶
- C45_55: ConcreteMaterial = 8¶
- C50_60: ConcreteMaterial = 9¶
- C55_67: ConcreteMaterial = 10¶
- C60_75: ConcreteMaterial = 11¶
- C70_85: ConcreteMaterial = 12¶
- C80_95: ConcreteMaterial = 13¶
- C90_105: ConcreteMaterial = 14¶
- C100_115: ConcreteMaterial = 15¶
ReinforcementMaterial
- class viktor.external.idea_rcs.objects.ReinforcementMaterial(value)¶
Bases:
Enum
An enumeration.
- B_400A: ReinforcementMaterial = 1¶
- B_500A: ReinforcementMaterial = 2¶
- B_600A: ReinforcementMaterial = 3¶
- B_400B: ReinforcementMaterial = 4¶
- B_500B: ReinforcementMaterial = 5¶
- B_600B: ReinforcementMaterial = 6¶
- B_400C: ReinforcementMaterial = 7¶
- B_500C: ReinforcementMaterial = 8¶
- B_600C: ReinforcementMaterial = 9¶
- B_550A: ReinforcementMaterial = 10¶
- B_550B: ReinforcementMaterial = 11¶
NationalAnnex
- class viktor.external.idea_rcs.objects.NationalAnnex(value)¶
Bases:
Enum
An enumeration.
- NO_ANNEX: NationalAnnex = 'NoAnnex'¶
- DUTCH: NationalAnnex = 'Dutch'¶
- BELGIUM: NationalAnnex = 'Belgian'¶
ProjectData
- class viktor.external.idea_rcs.objects.ProjectData(*, national_annex=None, fatigue_check=False)¶
Bases:
_OpenObject
Project data.
- Parameters
national_annex (
Optional
[NationalAnnex
]) – national annex (default: No national annex (EN))fatigue_check (
bool
) – functionality - fatigue (default: false)
EvaluationInteractionDiagram
- class viktor.external.idea_rcs.objects.EvaluationInteractionDiagram(value)¶
Bases:
Enum
An enumeration.
- NU_MU_MU: EvaluationInteractionDiagram = 0¶
- NU_M_M: EvaluationInteractionDiagram = 1¶
- N_MU_MU: EvaluationInteractionDiagram = 2¶
NoResistanceConcreteTension1d
- class viktor.external.idea_rcs.objects.NoResistanceConcreteTension1d(value)¶
Bases:
Enum
An enumeration.
- EXTREME: NoResistanceConcreteTension1d = 0¶
- SECTION: NoResistanceConcreteTension1d = 1¶
- ALWAYS: NoResistanceConcreteTension1d = 2¶
TypeSLSCalculation
- class viktor.external.idea_rcs.objects.TypeSLSCalculation(value)¶
Bases:
Enum
An enumeration.
- BOTH: TypeSLSCalculation = 0¶
- SHORT_TERM: TypeSLSCalculation = 1¶
- LONG_TERM: TypeSLSCalculation = 2¶
CodeSettings
- class viktor.external.idea_rcs.objects.CodeSettings(*, evaluation_interaction_diagram=None, theta=None, theta_min=None, theta_max=None, n_cycles_fatigue=None, no_resistance_concrete_tension_1d=None, type_sls_calculation=None)¶
Bases:
_OpenObject
Code and calculation settings.
- Parameters
evaluation_interaction_diagram (
Optional
[EvaluationInteractionDiagram
]) – evaluation of interaction diagram (default: NuMuMu)theta (
Optional
[float
]) – angle [deg] between the concrete compression strut and the beam axis perpendicular to the shear force (default: set by IDEA)theta_min (
Optional
[float
]) – minimum angle [deg] between the concrete compression strut and the beam axis perpendicular to the shear force (default: set by IDEA)theta_max (
Optional
[float
]) – maximum angle [deg] between the concrete compression strut and the beam axis perpendicular to the shear force (default: set by IDEA)n_cycles_fatigue (
Optional
[float
]) – number of fatigue cycles (* 10⁶) (default: set by IDEA)no_resistance_concrete_tension_1d (
Optional
[NoResistanceConcreteTension1d
]) – no resistance of concrete in tension - members 1D (default: Extreme)type_sls_calculation (
Optional
[TypeSLSCalculation
]) – type of SLS calculation (default: Both)
CheckMember
- class viktor.external.idea_rcs.objects.CheckMember(id_)¶
Bases:
_OpenElementId
,ABC
Abstract base class of all check members.
CheckMember1D
- class viktor.external.idea_rcs.objects.CheckMember1D(id_)¶
Bases:
CheckMember
Do not use this __init__ directly, but create the object by
create_check_member1d()
.
ThermalStateType
- class viktor.external.idea_rcs.objects.ThermalStateType(value)¶
Bases:
Enum
An enumeration.
- NONE: ThermalStateType = 0¶
- CODE: ThermalStateType = 1¶
- USER: ThermalStateType = 5¶
ThermalState
- class viktor.external.idea_rcs.objects.ThermalState(expansion=ThermalStateType.NONE, conductivity=ThermalStateType.NONE, specific_heat=ThermalStateType.NONE, stress_strain=ThermalStateType.NONE, strain=ThermalStateType.NONE)¶
Bases:
_OpenObject
Collection of thermal states for expansion, conductivity, specific heat, stress-strain and strain.
- Parameters
expansion (
ThermalStateType
) – state of thermal expansion curvature.conductivity (
ThermalStateType
) – state of thermal conductivity curvature.specific_heat (
ThermalStateType
) – state of thermal specific heat curvature.stress_strain (
ThermalStateType
) – state of thermal specific stress-strain curvature.strain (
ThermalStateType
) – state of thermal strain curvature.
ReinfClass
- class viktor.external.idea_rcs.objects.ReinfClass(value)¶
Bases:
Enum
An enumeration.
- A: ReinfClass = 0¶
- B: ReinfClass = 1¶
- C: ReinfClass = 2¶
ReinfType
BarSurface
- class viktor.external.idea_rcs.objects.BarSurface(value)¶
Bases:
Enum
An enumeration.
- SMOOTH: BarSurface = 0¶
- RIBBED: BarSurface = 1¶
ReinfDiagramType
- class viktor.external.idea_rcs.objects.ReinfDiagramType(value)¶
Bases:
Enum
An enumeration.
- BILINEAR_INCLINED: ReinfDiagramType = 0¶
- BILINEAR_NOT_INCLINED: ReinfDiagramType = 1¶
- USER: ReinfDiagramType = 2¶
ReinfFabrication
- class viktor.external.idea_rcs.objects.ReinfFabrication(value)¶
Bases:
Enum
An enumeration.
- HOT_ROLLED: ReinfFabrication = 0¶
- COLD_WORKED: ReinfFabrication = 1¶
MatReinforcement
- class viktor.external.idea_rcs.objects.MatReinforcement(id_, name, e_modulus, g_modulus, poisson, unit_mass, specific_heat, thermal_expansion, thermal_conductivity, is_default, order_in_code, thermal_state, bar_surface)¶
Bases:
_Material
,ABC
Abstract base class of all material reinforcements.
MatReinforcementEc2
- class viktor.external.idea_rcs.objects.MatReinforcementEc2(id_, name, e_modulus, g_modulus, poisson, unit_mass, specific_heat, thermal_expansion, thermal_conductivity, is_default, order_in_code, thermal_state, bar_surface, fyk, ftk_by_fyk, epsuk, ftk, class_, type_, fabrication, diagram_type)¶
Bases:
MatReinforcement
Do not use this __init__ directly, but create the object by
create_matreinforcement_ec2()
.
ConcDiagramType
- class viktor.external.idea_rcs.objects.ConcDiagramType(value)¶
Bases:
Enum
An enumeration.
- BILINEAR: ConcDiagramType = 0¶
- PARABOLIC: ConcDiagramType = 1¶
- USER: ConcDiagramType = 2¶
ConcAggregateType
- class viktor.external.idea_rcs.objects.ConcAggregateType(value)¶
Bases:
Enum
An enumeration.
- QUARTZITE: ConcAggregateType = 0¶
- LIMESTONE: ConcAggregateType = 1¶
- SANDSTONE: ConcAggregateType = 2¶
- BASALT: ConcAggregateType = 3¶
ConcCementClass
- class viktor.external.idea_rcs.objects.ConcCementClass(value)¶
Bases:
Enum
An enumeration.
- S: ConcCementClass = 0¶
- R: ConcCementClass = 1¶
- N: ConcCementClass = 2¶
MatConcrete
- class viktor.external.idea_rcs.objects.MatConcrete(id_, name, e_modulus, g_modulus, poisson, unit_mass, specific_heat, thermal_expansion, thermal_conductivity, is_default, order_in_code, thermal_state)¶
Bases:
_Material
,ABC
Abstract base class of all concrete materials.
ConcDependentParams
- class viktor.external.idea_rcs.objects.ConcDependentParams(E_cm, eps_c1, eps_c2, eps_c3, eps_cu1, eps_cu2, eps_cu3, F_ctm, F_ctk_0_05, F_ctk_0_95, n_factor, F_cm)¶
Bases:
_OpenObject
Collection of all MatConcreteEc2 dependent parameters.
- Parameters
E_cm (
float
) – Secant modulus of elasticity of concrete [MPa]eps_c1 (
float
) – Compressive strain in the concrete - εc1 [-]eps_c2 (
float
) – Compressive strain in the concrete - εc2 [-]eps_c3 (
float
) – Compressive strain in the concrete - εc3 [-]eps_cu1 (
float
) – Ultimate compressive strain in the concrete - εcu1 [-]eps_cu2 (
float
) – Ultimate compressive strain in the concrete - εcu2 [-]eps_cu3 (
float
) – Ultimate compressive strain in the concrete - εcu3 [-]F_ctm (
float
) – Mean value of axial tensile strength of concrete [MPa]F_ctk_0_05 (
float
) – Characteristic axial tensile strength of concrete 5% quantile [MPa]F_ctk_0_95 (
float
) – Characteristic axial tensile strength of concrete 95% quantile [MPa]n_factor (
float
) – Coefficient n-factor - necessary parabolic part of stress-strain diagram - n [-]F_cm (
float
) – Mean value of concrete cylinder compressive strength [MPa]
MatConcreteEc2
- class viktor.external.idea_rcs.objects.MatConcreteEc2(id_, name, e_modulus, g_modulus, poisson, unit_mass, specific_heat, thermal_expansion, thermal_conductivity, is_default, order_in_code, thermal_state, fck, stone_diameter, cement_class, aggregate_type, diagram_type, silica_fume, plain_concrete_diagram, dep_params=None)¶
Bases:
MatConcrete
Do not use this __init__ directly, but create the object by
create_matconcrete_ec2()
.
CrossSectionType
- class viktor.external.idea_rcs.objects.CrossSectionType(value)¶
Bases:
Enum
An enumeration.
- ONE_COMPONENT_CSS: CrossSectionType = 0¶
- ROLLED_I: CrossSectionType = 1¶
- ROLLED_ANGLE: CrossSectionType = 2¶
- ROLLED_T: CrossSectionType = 3¶
- ROLLED_U: CrossSectionType = 4¶
- ROLLED_CHS: CrossSectionType = 5¶
- ROLLED_RHS: CrossSectionType = 6¶
- ROLLED_DOUBLE_UO: CrossSectionType = 7¶
- ROLLED_DOUBLE_UC: CrossSectionType = 8¶
- ROLLED_DOUBLE_LT: CrossSectionType = 10¶
- ROLLED_DOUBLE_LU: CrossSectionType = 11¶
- ROLLED_TI: CrossSectionType = 12¶
- ROLLED_I_PAR: CrossSectionType = 13¶
- ROLLED_U_PAR: CrossSectionType = 14¶
- ROLLED_L_PAR: CrossSectionType = 15¶
- BOX_FL: CrossSectionType = 16¶
- BOX_WEB: CrossSectionType = 17¶
- BOX_2I: CrossSectionType = 18¶
- BOX_2U: CrossSectionType = 19¶
- BOX_2U_2PI: CrossSectionType = 20¶
- BOX_2L: CrossSectionType = 21¶
- BOX_4L: CrossSectionType = 22¶
- IW: CrossSectionType = 23¶
- IWN: CrossSectionType = 24¶
- TW: CrossSectionType = 25¶
- O: CrossSectionType = 26¶
- RECT: CrossSectionType = 27¶
- IGN: CrossSectionType = 28¶
- IGH: CrossSectionType = 29¶
- TG: CrossSectionType = 30¶
- LG: CrossSectionType = 31¶
- LG_MIRRORED: CrossSectionType = 32¶
- UG: CrossSectionType = 33¶
- CHS_G: CrossSectionType = 34¶
- ZG: CrossSectionType = 35¶
- RHS_G: CrossSectionType = 36¶
- OVAL: CrossSectionType = 37¶
- GENERAL: CrossSectionType = 38¶
- ROLLED_2I: CrossSectionType = 39¶
- TRAPEZOID: CrossSectionType = 40¶
- TTFH: CrossSectionType = 41¶
- TWH: CrossSectionType = 42¶
- TGREV: CrossSectionType = 43¶
- TTFHREV: CrossSectionType = 44¶
- TWHREV: CrossSectionType = 45¶
- TCHAMFER_1: CrossSectionType = 46¶
- TCHAMFER_2: CrossSectionType = 47¶
- TT: CrossSectionType = 48¶
- TT1: CrossSectionType = 49¶
- SG: CrossSectionType = 50¶
- GENERAL_STEEL: CrossSectionType = 51¶
- GENERAL_CONCRETE: CrossSectionType = 52¶
- COMPOSITE_BEAM_BOX: CrossSectionType = 53¶
- COMPOSITE_BEAM_BOX_1: CrossSectionType = 54¶
- COMPOSITE_BEAM_IGEN_T: CrossSectionType = 55¶
- COMPOSITE_BEAM_L_LEFT: CrossSectionType = 56¶
- COMPOSITE_BEAM_PLATE: CrossSectionType = 57¶
- COMPOSITE_BEAM_R_RES_T: CrossSectionType = 58¶
- COMPOSITE_BEAM_R_RES_T_1: CrossSectionType = 59¶
- COMPOSITE_BEAM_R_T: CrossSectionType = 60¶
- COMPOSITE_BEAM_SHAPE_CHAMF: CrossSectionType = 61¶
- COMPOSITE_BEAM_SHAPE_CHAMF_ASYM: CrossSectionType = 62¶
- COMPOSITE_BEAM_SHAPE_IGEN: CrossSectionType = 63¶
- COMPOSITE_BEAM_SHAPE_I_T: CrossSectionType = 64¶
- COMPOSITE_BEAM_SHAPE_I_T_ASYM: CrossSectionType = 65¶
- COMPOSITE_BEAM_T_LEFT: CrossSectionType = 66¶
- COMPOSITE_BEAM_TRAPEZOID: CrossSectionType = 67¶
- COMPOSITE_BEAM_TRES_T: CrossSectionType = 68¶
- COMPOSITE_BEAM_TREV: CrossSectionType = 69¶
- COMPOSITE_BEAM_TREV_RES_I: CrossSectionType = 70¶
- COMPOSITE_BEAM_TREV_RES_I_1: CrossSectionType = 71¶
- COMPOSITE_BEAM_TREV_RES_R: CrossSectionType = 72¶
- COMPOSITE_BEAM_TREV_RES_R_1: CrossSectionType = 73¶
- COMPOSITE_BEAM_TREV_T: CrossSectionType = 74¶
- COMPOSITE_BEAM_SHAPE_T_T: CrossSectionType = 75¶
- BEAM_SHAPE_I_HAUNCH_CHAMFER: CrossSectionType = 76¶
- BEAM_SHAPE_I_HAUNCH_CHAMFER_ASYM: CrossSectionType = 77¶
- BEAM_SHAPE_REV_U: CrossSectionType = 78¶
- BEAM_SHAPE_BOX: CrossSectionType = 79¶
- BEAM_SHAPE_BOX_1: CrossSectionType = 80¶
- BEAM_SHAPE_TREV_CHAMFER_HAUNCH_S: CrossSectionType = 81¶
- BEAM_SHAPE_TREV_CHAMFER_HAUNCH_D: CrossSectionType = 82¶
- BEAM_SHAPE_IREV_DEGEN: CrossSectionType = 83¶
- BEAM_SHAPE_IREV_DEGEN_ADD: CrossSectionType = 84¶
- BEAM_SHAPE_TREV_DEGEN: CrossSectionType = 85¶
- BEAM_SHAPE_TREV_DEGEN_ADD: CrossSectionType = 86¶
- BEAM_SHAPE_Z_DEGEN: CrossSectionType = 87¶
- BEAM_SHAPE_I_Z_DEGEN: CrossSectionType = 88¶
- BEAM_SHAPE_L_DEGEN: CrossSectionType = 89¶
- CHS_PAR: CrossSectionType = 101¶
- UNIQUE_NAME: CrossSectionType = 1001¶
CrossSection
- class viktor.external.idea_rcs.objects.CrossSection(id_, name)¶
Bases:
_OpenElementId
,ABC
Abstract base class of all cross sections.
CrossSectionParameter
- class viktor.external.idea_rcs.objects.CrossSectionParameter(id_, name, cross_section_type, material, **parameters)¶
Bases:
CrossSection
Do not use this __init__ directly, but create the object by
create_cross_section_parameter()
.
CrossSectionComponent
- class viktor.external.idea_rcs.objects.CrossSectionComponent(id_, name)¶
Bases:
CrossSection
Do not use this __init__ directly, but create the object by
create_cross_section_component()
.- create_component(outline, material, *, openings=None)¶
Create a component to build up the cross-section.
- Parameters
outline (
Sequence
[Tuple
[float
,float
]]) – Vertices which define the outline of the section (y, z). A minimum of 3 vertices is required, the outline is automatically closed.material (
MatConcrete
) – Material (created bycreate_matconcrete_ec2()
).openings (
Optional
[Sequence
[Sequence
[Tuple
[float
,float
]]]]) – One or multiple openings, defined by vertices (y, z). A minimum of 3 vertices per opening is required, the opening is automatically closed.
- Return type
None
ReinforcedBar
- class viktor.external.idea_rcs.objects.ReinforcedBar(coordinates, diameter, material)¶
Bases:
_OpenObject
Do not use this __init__ directly, but create the object by
ReinforcedCrossSection.create_bar()
.- property coordinates: Tuple[float, float]¶
- Return type
Tuple
[float
,float
]
- property diameter: float¶
- Return type
float
- property material_id: int¶
- Return type
int
Stirrup
- class viktor.external.idea_rcs.objects.Stirrup(points, diameter, material, distance, shear_check=None, torsion_check=None, mandrel_diameter_factor=None, anchorage_length=None)¶
Bases:
_OpenObject
Do not use this __init__ directly, but create the object by
ReinforcedCrossSection.create_stirrup()
.- property points: Sequence[Union[Tuple[float, float], Tuple[Tuple[float, float], Tuple[float, float]]]]¶
- Return type
Sequence
[Union
[Tuple
[float
,float
],Tuple
[Tuple
[float
,float
],Tuple
[float
,float
]]]]
- property material_id: int¶
- Return type
int
- property shear_check: bool¶
- Return type
bool
- property torsion_check: bool¶
- Return type
bool
- property mandrel_diameter_factor: float¶
- Return type
float
- property anchorage_length: float¶
- Return type
float
ReinforcedCrossSection
- class viktor.external.idea_rcs.objects.ReinforcedCrossSection(id_, name, cross_section, bars=None, stirrups=None)¶
Bases:
_OpenElementId
Do not use this __init__ directly, but create the object by
create_reinforced_cross_section()
.- property bars: List[ReinforcedBar]¶
- Return type
List
[ReinforcedBar
]
- create_bar(coordinates, diameter, material)¶
Create a reinforced bar on the reinforced cross section.
- Parameters
coordinates (
Tuple
[float
,float
]) – (X, Y) coordinate of the bar [m].diameter (
float
) – Diameter of the bar [m].material (
MatReinforcement
) – Reinforcement material (created bycreate_matreinforcement_ec2()
).
- Return type
None
- create_bar_layer(*, origin, diameter, material, number_of_bars, delta_y=None, delta_z=None)¶
Create multiple reinforced bars on the reinforced cross section, positioned on a line.
- Parameters
origin (
Tuple
[float
,float
]) – Origin point (Y, Z) [m].diameter (
float
) – Diameter of the bar [m].material (
MatReinforcement
) – Reinforcement material (created bycreate_matreinforcement_ec2()
).number_of_bars (
int
) – Number of bars (minimum of 2).delta_y (
Optional
[float
]) – Distance between origin bar and the last bar in y-direction [m].delta_z (
Optional
[float
]) – Distance between origin bar and the last bar in z-direction [m].
- Return type
None
- create_stirrup(points, diameter, material, distance, shear_check=None, torsion_check=None, mandrel_diameter_factor=None, anchorage_length=None)¶
Create a stirrup on the reinforced cross section.
- Parameters
points (
Sequence
[Union
[Tuple
[float
,float
],Tuple
[Tuple
[float
,float
],Tuple
[float
,float
]]]]) – Sequence of (X, Y) coordinates [m] of the stirrup vertices, connected by straight line segments. For arc-segments use ((X_end, Y_end), (X_on_arc, Y_on_arc)).diameter (
float
) – Diameter of the stirrup [m].material (
MatReinforcement
) – Reinforcement material (created bycreate_matreinforcement_ec2()
).distance (
float
) – Longitudinal distance between stirrups [m].shear_check (
Optional
[bool
]) – Take stirrup into account in shear check (default: False).torsion_check (
Optional
[bool
]) – Take stirrup into account in torsion check (default: False).mandrel_diameter_factor (
Optional
[float
]) – Inner diameter of mandrel as multiple of stirrup diameter [-] (default: 1.0).anchorage_length (
Optional
[float
]) – Anchorage length [m] (default: 0.0).
- Return type
None
ResultOfInternalForces
- class viktor.external.idea_rcs.objects.ResultOfInternalForces(N=0.0, Qy=0.0, Qz=0.0, Mx=0.0, My=0.0, Mz=0.0)¶
Bases:
_OpenObject
Result of internal forces at a certain location.
- Parameters
N (
float
) – Normal force (default: 0.0).Qy (
float
) – Shear force in y direction (default: 0.0).Qz (
float
) – Shear force in z direction (default: 0.0).Mx (
float
) – Bending moment around x-axis (default: 0.0).My (
float
) – Bending moment around y-axis (default: 0.0).Mz (
float
) – Bending moment around z-axis (default: 0.0).
LoadingULS
- class viktor.external.idea_rcs.objects.LoadingULS(internal_forces, internal_forces_second_order=None, internal_forces_begin=None, internal_forces_end=None, internal_forces_imperfection=None)¶
Bases:
_OpenObject
Loading ULS.
- Parameters
internal_forces (
ResultOfInternalForces
) – Internal force in section.internal_forces_second_order (
Optional
[ResultOfInternalForces
]) – Internal forces of 2nd order effect.internal_forces_begin (
Optional
[ResultOfInternalForces
]) – Internal forces at the beginning.internal_forces_end (
Optional
[ResultOfInternalForces
]) – Internal forces at the end.internal_forces_imperfection (
Optional
[ResultOfInternalForces
]) – Internal forces of imperfection effect.
LoadingSLS
- class viktor.external.idea_rcs.objects.LoadingSLS(internal_forces, internal_forces_imperfection=None)¶
Bases:
_OpenObject
Loading SLS.
- Parameters
internal_forces (
ResultOfInternalForces
) – Internal force in section.internal_forces_imperfection (
Optional
[ResultOfInternalForces
]) – Internal forces of imperfection effect.
FatigueLoading
- class viktor.external.idea_rcs.objects.FatigueLoading(max_loading, min_loading)¶
Bases:
_OpenObject
Fatigue loading.
- Parameters
max_loading (
LoadingULS
) – Max. cyclic loading.min_loading (
LoadingULS
) – Min. cyclic loading.
CheckSectionExtreme
- class viktor.external.idea_rcs.objects.CheckSectionExtreme(accidental=None, fatigue=None, frequent=None, fundamental=None, characteristic=None, quasi_permanent=None)¶
Bases:
_OpenObject
Abstract base class of all check section extremes.
StandardCheckSectionExtreme
- class viktor.external.idea_rcs.objects.StandardCheckSectionExtreme(*, accidental=None, frequent=None, fundamental=None, characteristic=None, quasi_permanent=None, fatigue=None)¶
Bases:
CheckSectionExtreme
Do not use this __init__ directly, but create the object by
CheckSection.create_extreme()
.
CheckSection
- class viktor.external.idea_rcs.objects.CheckSection(id_, description, check_member, reinf_section, extremes=None)¶
Bases:
_OpenElementId
,ABC
Abstract base class of all check sections.
- property extremes: List[CheckSectionExtreme]¶
- Return type
List
[CheckSectionExtreme
]
- create_extreme(*, accidental=None, fatigue=None, frequent=None, fundamental=None, characteristic=None, quasi_permanent=None)¶
Create an extreme case with corresponding internal forces on the section for checking.
- Parameters
accidental (
Optional
[LoadingULS
]) – Accidental loading.fatigue (
Optional
[FatigueLoading
]) – Fatigue loading.frequent (
Optional
[LoadingSLS
]) – Frequent loading.fundamental (
Optional
[LoadingULS
]) – Fundamental loading.characteristic (
Optional
[LoadingSLS
]) – Characteristic loading.quasi_permanent (
Optional
[LoadingSLS
]) – Quasi-Permanent loading.
- Return type
None
StandardCheckSection
- class viktor.external.idea_rcs.objects.StandardCheckSection(id_, description, check_member, reinf_section, extremes=None)¶
Bases:
CheckSection
Do not use this __init__ directly, but create the object by
add_check_section()
.
MemberType
- class viktor.external.idea_rcs.objects.MemberType(value)¶
Bases:
Enum
An enumeration.
- UNDEFINED: MemberType = 0¶
- BEAM: MemberType = 1¶
- COLUMN: MemberType = 2¶
- BEAM_SLAB: MemberType = 4¶
- HOLLOW_CORE_SLAB: MemberType = 8¶
- TWO_WAY_SLAB: MemberType = 16¶
- PLATE: MemberType = 32¶
- WALL: MemberType = 64¶
TwoWaySlabType
- class viktor.external.idea_rcs.objects.TwoWaySlabType(value)¶
Bases:
Enum
An enumeration.
- SLAB: TwoWaySlabType = 0¶
- WALL: TwoWaySlabType = 1¶
- DEEP_BEAM: TwoWaySlabType = 2¶
- SHELL_AS_PLATE: TwoWaySlabType = 3¶
- SHELL_AS_WALL: TwoWaySlabType = 4¶
CalculationSetup
- class viktor.external.idea_rcs.objects.CalculationSetup(*, uls_response=None, uls_diagram=None, uls_shear=None, uls_torsion=None, uls_interaction=None, sls_crack=None, sls_stress_limitation=None, sls_stiffnesses=None, detailing=None, m_n_kappa_diagram=None, fatigue=None, cross_section_characteristics=None)¶
Bases:
_OpenObject
Concrete calculation setup.
- Parameters
uls_response (
Optional
[bool
]) – Response N-M(-M) (default: False).uls_diagram (
Optional
[bool
]) – Capacity N-M(-M) (default: True).uls_shear (
Optional
[bool
]) – Shear (default: True).uls_torsion (
Optional
[bool
]) – Torsion (default: True).uls_interaction (
Optional
[bool
]) – Interaction (default: True).sls_crack (
Optional
[bool
]) – Crack width (default: True).sls_stress_limitation (
Optional
[bool
]) – Stress limitation (default: True).sls_stiffnesses (
Optional
[bool
]) – Stiffnesses (default: False).detailing (
Optional
[bool
]) – Detailing (default: True).m_n_kappa_diagram (
Optional
[bool
]) – M-N-κ diagram (default: False).fatigue (
Optional
[bool
]) – Fatigue (default: True).cross_section_characteristics (
Optional
[bool
]) – Cross section characteristics (default: IDEA-RCS default).
ConcreteMemberData
- class viktor.external.idea_rcs.objects.ConcreteMemberData(element, member_type, two_way_slab_type, calculation_setup=None)¶
Bases:
_OpenObject
,ABC
Abstract base class of all concrete member data.
ExposureClassEc2Carbonation
- class viktor.external.idea_rcs.objects.ExposureClassEc2Carbonation(value)¶
Bases:
Enum
An enumeration.
- XC1: ExposureClassEc2Carbonation = 1¶
- XC2: ExposureClassEc2Carbonation = 2¶
- XC3: ExposureClassEc2Carbonation = 3¶
- XC4: ExposureClassEc2Carbonation = 4¶
ExposureClassEc2Chlorides
- class viktor.external.idea_rcs.objects.ExposureClassEc2Chlorides(value)¶
Bases:
Enum
An enumeration.
- XD1: ExposureClassEc2Chlorides = 1¶
- XD2: ExposureClassEc2Chlorides = 2¶
- XD3: ExposureClassEc2Chlorides = 3¶
ExposureClassEc2ChloridesFromSea
- class viktor.external.idea_rcs.objects.ExposureClassEc2ChloridesFromSea(value)¶
Bases:
Enum
An enumeration.
- XS1: ExposureClassEc2ChloridesFromSea = 1¶
- XS2: ExposureClassEc2ChloridesFromSea = 2¶
- XS3: ExposureClassEc2ChloridesFromSea = 3¶
ExposureClassEc2FreezeAttack
- class viktor.external.idea_rcs.objects.ExposureClassEc2FreezeAttack(value)¶
Bases:
Enum
An enumeration.
- XF1: ExposureClassEc2FreezeAttack = 1¶
- XF2: ExposureClassEc2FreezeAttack = 2¶
- XF3: ExposureClassEc2FreezeAttack = 3¶
- XF4: ExposureClassEc2FreezeAttack = 4¶
ExposureClassEc2ChemicalAttack
- class viktor.external.idea_rcs.objects.ExposureClassEc2ChemicalAttack(value)¶
Bases:
Enum
An enumeration.
- XA1: ExposureClassEc2ChemicalAttack = 1¶
- XA2: ExposureClassEc2ChemicalAttack = 2¶
- XA3: ExposureClassEc2ChemicalAttack = 3¶
ExposureClassesDataEc2
- class viktor.external.idea_rcs.objects.ExposureClassesDataEc2(*, carbonation=None, chlorides=None, chlorides_from_sea=None, freeze_attack=None, chemical_attack=None)¶
Bases:
_OpenObject
Exposure Classes Ec2.
- Parameters
carbonation (
Optional
[ExposureClassEc2Carbonation
]) – Carbonation (default: None).chlorides (
Optional
[ExposureClassEc2Chlorides
]) – Chlorides (default: None).chlorides_from_sea (
Optional
[ExposureClassEc2ChloridesFromSea
]) – Chlorides from sea (default: None).freeze_attack (
Optional
[ExposureClassEc2FreezeAttack
]) – Freeze/Thaw Attack (default: None).chemical_attack (
Optional
[ExposureClassEc2ChemicalAttack
]) – Chemical Attack (default: None).
ConcreteMemberDataEc2
- class viktor.external.idea_rcs.objects.ConcreteMemberDataEc2(element, member_type, two_way_slab_type, calculation_setup=None, coeff_kx_for_wmax=None, exposure_class_data=None, creep_coefficient=None, relative_humidity=None)¶
Bases:
ConcreteMemberData
Do not use this __init__ directly, but create the object by
add_member_data_ec2()
.