Module viiaLoads

This module enables to apply loads and masses, apply signals and create load-combinations.

Overall functions

viiapackage.viiaLoads.viia_create_mass_all_openings(project: ViiaProject, unsupported_mass_on_opposite: bool = False) List[LineMass][source]

Function to apply regular truss elements to account for mass on top- and bottom edge of all openings in the project.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • unsupported_mass_on_opposite (bool): States whether to double the mass density of supported line-masses opposite to unsupported line-masses. The default value is False.

Output:
  • Beam shape is added to the model on top and bottom of opening. Material, geometry and elementclass for LineMass are attached (mass is applied by self weight in material).

viiapackage.viiaLoads.viia_create_mass_all_roof_openings(project: ViiaProject, excluded_roofs: Optional[List[Union[Roof, str, int]]] = None, unsupported_mass_on_opposite: bool = False) List[LineMass][source]

Function to add mass to all roof openings in the project. The user can exclude roofs if desired.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • excluded_roofs (list): List of roofs to exclude. Can either be an object reference, or simple name like ‘roof_4’ or ID.

  • unsupported_mass_on_opposite (bool): States whether to double the mass density of supported line-masses opposite to unsupported line-masses. The default value is False. This input only effects inclined roofs

Output:
  • Adds mass for all openings in the roofs provided.

viiapackage.viiaLoads.viia_create_mass_all_wall_openings(project: ViiaProject, unsupported_mass_on_opposite: bool = False) List[LineMass][source]

This function creates a line mass in all wall openings in the model, top and bottom edge. The outer leaf of cavity walls is excluded in the function.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • unsupported_mass_on_opposite (bool): States whether to double the mass density of supported line-masses opposite to unsupported line-masses. The default value is False.

Output:
  • regular truss-elements are added to all the openings in walls the model on top and bottom of opening. Material, geometry and element-class for LineMass are attached (mass is applied by self weight in material)

Mass on lines

viiapackage.viiaLoads.viia_add_outer_leaf_wall_line_load(project: ViiaProject, load_case: LoadCase, walls: List[Wall], is_foundation_cavity: bool, outer_leaf_volume: float = None, outer_leaf_mass_density: float = None)[source]

This function adds line load of the outer leaf to the foundation wall.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • load_case (obj): Object reference of LoadCase to the load-case the load to be applied.

  • walls (list): List with object references of wall objects. The walls should be given based on the facade the foundation walls should be included.

  • is_foundation_cavity (bool): Consider the foundation walls cavity (True) or solid (False)

  • outer_leaf_volume (float): Total wall volume of the outer leaf walls. Use this parameter in case the outer walls have different shape than the inner leaf walls.

  • outer_leaf_mass_density (float): Mass density of the outer leaf walls. Use this parameter in case different material is used for the outer leaf.

Output:
  • Line loads on the foundation walls representing the weight of outer leaf.

viiapackage.viiaLoads.viia_create_linemass(project: ViiaProject, layer: str, points: List[List[float]], value: float, linemass_type='density', direction: List[Union[int, float]] = None, host: Shapes = None)[source]

Function to apply beam elements to apply mass (as self weight of beam).

Warning

Currently line-mass type ‘mass-elements’ is not used within VIIA. If this is needed please contact the automation team.

Note

When line-mass type is set to ‘mass-elements’ the load will be added for static calculations.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • layer (str): Layer of the line-mass, determines the order for phasing.

  • points (list with two lists of three floats): Coordinates of begin and end point of LineMass.

  • value (float): Mass per meter [kg/m].

  • linemass_type (str): Type describes the way the mass is modelled. Default value is ‘density’, can be switched to ‘mass-elements’ to apply mass-elements instead of beam elements.

  • direction (list of 3 floats): The direction is used to apply the mass in x, y- or z-direction ([0, 0, 1] means that the mass acts only in x-direction). Value is only taken into account if type is set to ‘MassElements’. Default direction is set to None, in which case a vector of [1, 1, 1] is applied, the mass is applied in all directions.

  • host (obj): Shape object where the line-mass will be embedded to. Required if exporting to ABAQUS is needed.

Output:
  • Line-mass shape is created at the requested input coordinates.

  • Material, geometry and elementclass for LineMass are assigned (mass is applied by self weight in material). If software is DIANA and model created.

viiapackage.viiaLoads.viia_create_linemass_beam(project: ViiaProject, beam, extra_load: float)[source]

Function to apply extra loads on beams. Geometry with different loads and/or functions should be separated into more geometries. Load is added by adjusting self weight of the line shape. Function is available for beams, columns and lintels.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • beam (obj): Object reference to the beam of which the density will be changed. Alternative (str): Name of the beam of which the density will be changed.

  • extra_load (float): The additional load in [N/m].

Output:
  • The material of the beam is updated to a new material with increased density to take into account the extra load.

viiapackage.viiaLoads.viia_create_mass_roof_openings(project: ViiaProject, roof: Union[Roof, str], unsupported_mass_on_opposite: bool = False) List[LineMass][source]

Function to apply regular truss elements on top- and bottom edge of opening to apply mass.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • roof (obj): Object reference of the roof (or inclined floor) on which openings mass will be applied. Alternative (str): Name of the roof.

  • unsupported_mass_on_opposite (bool): States whether to double the mass density of supported line-masses opposite to unsupported line-masses. The default value is False.

Output:
  • Line mass is added to the model on top and bottom of opening. Material, geometry and elementclass for LineMass are attached (mass is applied by self weight in material).

viiapackage.viiaLoads.viia_create_mass_wall_openings(project: ViiaProject, wall: Union[Wall, str], unsupported_mass_on_opposite: bool = False) List[LineMass][source]

Function to apply regular truss elements on top- and bottom edge of opening to apply mass.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • wall (obj): Object reference of the wall on which openings mass will be applied. Alternative (str): Name of the wall i.e. ‘N0-WANDEN-MW-KLEI>1945-110-1’.

  • unsupported_mass_on_opposite (bool): States whether to double the mass density of supported line-masses opposite to unsupported line-masses. The default value is False.

Output:
  • Beam shape is added to the model on top and bottom of opening. Material, geometry and elementclass for LineMass are attached (mass is applied by self weight in material).

viiapackage.viiaLoads.viia_create_pointmass(project: ViiaProject, point: Union[List[float], Node], mass: float, layer: Union[str, Layer]) PointMass[source]
Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • point (list of 3 floats): Point to apply the point-mass shape. Alternative (obj): Object reference of the node to apply the point-mass shape.

  • mass (float): Mass of the point-mass in [kg]. Mass is applied in x-, y- and z-direction.

  • layer (str or Layer): Name of the layer as a string, or the Layer object itself, to which the newly created point-mass should be added. Full name of shape is also accepted, not applying auto naming function, this will be removed in future releases.

Output:
  • Object for point-mass is created and attributes are set.

  • Object-reference is added to list of point_masses, points and shapes (in collections of project).

  • Project settings for shapes are applied (if any given).

  • Point-mass is created in DIANA (if software is DIANA and model created).

  • Material, data, elementclass_type, colour and mesh properties are assigned in DIANA (if software is DIANA and model created).

viiapackage.viiaLoads.viia_surface_mass(project: ViiaProject, surface: Surfaces, new_material_name: str, added_mass: float)[source]

Sub-function for adding mass to a surface. It will check if already a material exists (only VIIA naming convention), it will check if it can just update the current material object, or that it needs to create a new material.

Mass on surfaces

viiapackage.viiaLoads.viia_adjust_mass_of_surface(project: ViiaProject, load, surface)[source]

This function calculates the mass for the provided load, it calculates the increased or decreased self weight, based on the thickness of the surface. For this adjusted self weight, a new material is created, an existing (already updated) material is used or the material itself is updated.

Note

Negative loads are valid, resulting in a decrease of the self weight. This can be used to remove any previously applied loads.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • load (float): Value of the load to be added as mass, in [N/m2].

  • surface (obj): Object reference of surface shape to which the load is applied.

Output:
  • Updated material is applied to the surface.

viiapackage.viiaLoads.viia_create_surface_mass_floor(project: ViiaProject, floor: Floor, resting_load: Optional[List[str]] = None, category: str = None, extra_load: float = 0.0)[source]

This function applies floor loads. The load is added by adjusting self weight of the floor. Geometry with different loads and/or functions should be separated into more geometries

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • floor (obj): Object reference to the floor on which the load is applied. Alternative(str): Name of the floor.

  • resting_load (list with strings): List with the resting loads to be applied. Default value is None, in which case no resting loads are applied.

  • category (str): name of the category of variable load to be applied

  • extra_load (float): Optional input to apply a user defined load. Default value is 0.0, value of the additional (non-programmed) loads in the seismic situation, in [N/m2].

Category can be (only one category can be chosen): ‘AFloor’, ‘AStairs’, ABalc’, ‘BOffice’, ‘CSchool’, ‘C1_2’, ‘C3_5’, ‘DShop’, ‘E’, ‘F’, ‘HRoof’.

Rest can contain: ‘WindowLoad’, ‘FinishLoad’, ‘CeilingLoad’, ‘WallLoad’, ‘WallLoadLight’, ‘WallLoadMedium’, ‘WallLoadHeavy’, ‘InstalLoad’, ‘FlatRoofLoad’,’FlatRoofGravelLoad’, ‘SlopeRoofLoad’, ‘SlopeRoofLoadConcrete’, ‘SlopeRoofLoadClay’,’SunPanelLoad’.

Output:
  • Material of the floor is changed to a new material with increased density to take into account the extra load.

viiapackage.viiaLoads.viia_create_surface_mass_wall(project: ViiaProject, wall, extra_load)[source]

Function to apply wall loads (e.g. cladding or cavity walls). Geometry with different loads and/or functions should be seperated into more geometries. Load is added by adjusting self weight of wall.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • wall (obj): Object reference to the wall on which the load is applied. Alternative(str): Name of the wall.

  • extra_load (float): Added weight, in [N/m2].

Output:
  • Material of the wall is changed to a new material with increased density to take into account the extra load.

viiapackage.viiaLoads.viia_include_outerleaf_in_innerleaf_density(project: ViiaProject, wall, thickness_outerleaf, material_outerleaf=None)[source]

Function to take into account the mass of the outer leaf of the cavity wall by adding it to the self weight of the inner leaf of the cavity wall. This function is based on viiaCreateInnerleafDensity(WallName, ExtraLoad) and determines the ExtraLoad out of the outer leaf properties.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • wall (obj): Object reference of the wall (inner leaf) of which the density will be increased. Alternative (str): Name of the wall (inner leaf) of which the density will be increased.

  • thickness_outerleaf (float): Thickness of the outer wall in [m], i.e.: 0.1 (without quotation marks).

  • material_outerleaf (str): Material of the outer leaf, not required: if left empty the same material as the inner wall will be applied, i.e.: ‘MW-KLEI>1945’.

Output:
  • Material of the inner wall is changed to a new material with increased density to take into account the outer leaf.

Creating general loads

viiapackage.viiaLoads._check_wall_height(project: ViiaProject) Tuple[int, Dict[str, float], Dict[str, float]][source]

This function checks the height of walls and floors, if the wall height is different from its corresponding floor height, a warning is shown to remind the engineer to check.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Returns tuple with floor number (integer), a dictionary with the z-coordinate of each floor and a dictionary with the floor height. Example output: (1, {‘N0’: 0.0, ‘FU’: -0.82, ‘N1’: 3.378}, {‘N0’: 3.378}).

viiapackage.viiaLoads.viia_add_basemotion_signals(project: ViiaProject, signal_list: Optional[Union[List[int], str]] = None, use_unmatched_signals: bool = False) TimeseriesCombinationSet[source]

This function applies the accelerations on the supports (surface of the shallow foundation, or piles). It can be applied in fixed or flexbase calculations. The normalised signals will be used to find the correct signal for the building, using the cluster and the AgS of the location.

Warning

Some signals can have deviating time-steps. Please check the log.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • signal_list (list): Specification of the list of signals which need to be imported into PY-memory. Default value None, applying the signals 1, 2, 3, 5, 6, 7 and 9 as the other signals have deviating time-steps. Items in list should be integers 1 to 11. Default value is None, selecting default selection of signals. Input can also be provided as string, only ‘default’ is available.

  • use_unmatched_signals (bool): Switch to use the signals which an unmatched z-component. Default value False. The matched signals are used by default.

Output:
  • Signals are added to class of TimeseriesCombinationSet, notification is given.

viiapackage.viiaLoads.viia_convert_imposed_loads_to_self_weight(project: ViiaProject)[source]

This function will convert any imposed loads created with the ‘viia_create_loads’ function to mass as part of the self weight of the surface shape. The ‘psi’ and ‘phi2’ factors will be applied.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • The loads are converted to masses and incorporated in the density of the material object. The material applied will be updated.

  • The imposed loads are removed from the model. The data to recreate the imposed load after converting to Only saved to the variable in the self weight is stored in the shape meta-data.

  • The load-combination for imposed loads is removed.

viiapackage.viiaLoads.viia_convert_self_weight_to_imposed_loads(project: ViiaProject)[source]

This function will re-convert any imposed loads that was converted by viia_convert_imposed_loads_to_self_weight. The part of the self weight for the imposed loads is removed from the density material of the surface shape. The ‘psi’ and ‘phi2’ factors will be removed.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • The masses incorporated in the density of the material object are re-converted to loads. The material applied will be updated.

  • The imposed loads again created in the model and project.collections. The information used should be stored in the meta-data of the shape.

  • The load-combination for imposed loads is created.

viiapackage.viiaLoads.viia_create_dead_loads(project: ViiaProject, shapes_list: List[Shapes], load_value: float, force_direction: Optional[Union[Direction, str]] = None)[source]

This function applies a vertical dead load on a shape (can be point, line, or surface). The load is added as load and does not have a mass which is needed in dynamic calculations.

Note

Shapes can be from different classes, be aware that the unity of the value changes.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • shapes_list (list of objects): List with the object references on which the load will be applied. Alternative (list of strings): List of the names of the shapes on which the load is applied.

  • load_value (float): Value of the load acting in negative z-direction if shape is a surface in [N/m2], if shape is a line in [N/m] or if shape is a point in [N]. A vertical load that acts downward should have a positive value.

  • force_direction (obj): Object reference of direction of force Alternative (str): Direction can also be given as ‘X’, ‘Y’, or ‘Z’, or name of a direction of which an object is already created.

Output:
  • Load is created in ‘Load’ class.

  • If software is DIANA, and model is created, the load is added to the model.

viiapackage.viiaLoads.viia_create_loads(project: ViiaProject, load: str, force_value: Optional[float] = None, force_direction: Optional[Union[Direction, List[float], str]] = None, connecting_shapes: Optional[List[Shapes]] = None, mode: Optional[List[int]] = None, ref_line_load: Optional[float] = None, category: Union[str, List[str]] = None, displacement_signals: Union[Path, str, Dict] = None)[source]

This function creates a given predefined load, coupled to the requested load-types for the NLTH and NLPO.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • load (str): determines which load is applied, available are default project loads: ‘Self weight’, ‘Imposed load’, ‘Resting load’, ‘Rob-test’, ‘Base motion’, ‘Push_over_equivalent_acc’, ‘Push_over_modal’, ‘Push_over_uniform’ and ‘MRS_loads’. Based on this load selection additional arguments may be required.

  • load_value (float): Value of the load acting in negative z-direction if shape is a surface in [N/m2], if shape is a line in [N/m] or if shape is a point in [N]. A vertical load that acts downward should have a positive value. For the NLPO analysis, the default value is unit acceleration, in [m/s2].

  • force_direction (obj): Object reference of direction of force Alternative (list of 3 floats or float): Direction of force, for example [1,0,0] Alternative (str): Direction can also be given as ‘X’, ‘Y’, or ‘Z’, or name of a direction of which an object is already created. Alternative (str): For the Redis pushover, provide one of the following: ‘X_pos’, ‘X_neg’, ‘Y_pos’ or ‘Y_neg’.

  • connecting_shapes (list of objects): List with the object references on which the load will be applied.

  • mode (list of int): Integer of which mode is considered for modal pushover load-case. First item is x-direction dominating mode, second is Yy-direction dominating mode.

  • ref_line_load (float): Reference line-load in [N/m] for the case of the triangular load-case, see NLPO protocol.

  • category (str): The category of the imposed loads, refer to the basis of design (UPR). The category can be (only one category can be chosen): ‘AFloor’, ‘AStairs’, ABalc’, ‘BOffice’, ‘CSchool’, ‘C1_2’, ‘C3_5’, ‘DShop’, ‘E’, ‘F’, ‘HRoof’.

  • displacement_signals (Path, str or dict): Json file containing the displacement signals for the displacement controlled Redis push-over.

Output:
  • Load object created in PY-memory if not yet present in project.collections.loadsets.

  • Geometry load is added to the model in DIANA if software is DIANA and model created.

viiapackage.viiaLoads.viia_get_imposed_loadvalue(project: ViiaProject, category: str) Dict[str, float][source]

This function returns the value of the imposed load, based on the applied category. The category corresponds to the Eurocode NEN-EN-1991-1-1.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • category (str): The category of the imposed loads, refer to the basis of design (UPR). The category can be (only one category can be chosen): ‘AFloor’, ‘AStairs’, ABalc’, ‘BOffice’, ‘CSchool’, ‘C1_2’, ‘C3_5’, ‘DShop’, ‘E’, ‘F’, ‘HRoof’.

Output:
  • Returns the value of the imposed load, the psi2 factor and the phi factor in a dictionary.

viiapackage.viiaLoads.viia_remove_loads(project: ViiaProject, load_type: str)[source]

This function removes a given predefined load, coupled to the requested load-types.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • load_type (str): name of the load that needs to be removed, available are: “Self weight”, “Imposed load”, “Rob Tests”, “Base Motion”, ‘Push_over_equivalent_acc’, ‘Push_over_modal’ and ‘Push_over_uniform’. Other options are also possible such as: ‘force’, ‘moment’, ‘projected-force’, ‘translation’, ‘rotation’, ‘hydrostatic’, ‘thermal’, ‘rotational-acceleration’, ‘self-weight’, ‘acceleration’, ‘centrifugal-force’, ‘base-excitation’.

Output:
  • Geometry load is removed from the model and in DIANA.

Changing the time-signal

viiapackage.viiaLoads.viia_change_signal(project: ViiaProject, new_signal: str, nr_time_steps: Optional[int] = None)[source]

This function enables to switch the signal in the model. Signals to be applied can be signal 1 to 11, although signal 8-11 should be provided first as input. Function works on base-signals and normal signals, depending on the available geometry load combinations.

The following items are updated:
  • The material properties of the soil are adjusted (Rayleigh damping factors).

  • The time dependent factors for the load with the seismic signals is updated to the new signal.

  • The number of time-steps in the analysis are adjusted appropriately.

  • The requested output-items for time-steps is adjusted appropriately.

  • In the current analysis folder the adjusted dat- and dcf-files are updated.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • new_signal (str): Name of the signal to be applied, for example: ‘S2’.

  • nr_time_steps (int): Overrule the number of time-steps to be used in the NLTH analysis. Default value None, time-steps are determined based on the length of the signal.

Output:
  • The signal and dependent properties are updated in the model.

  • Notification and logging of changes.

Load-combinations

viiapackage.viiaLoads.viia_create_load_combination_base_motion(project: ViiaProject, signal='S1')[source]

This function creates the load-combinations for the seismic base motion situation in DIANA. If the dead load combination is not present yet, it will also be added first. The load-combinations with time signals are applied in the x-, y- and z-direction (3 load-combinations are created with the name ‘Base motion’ in it).

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • signal (str): Signal number of the signal to be applied, available signals are ‘S1’ to ‘S11’. Default value is signal 1 ‘S1’. Note that you can only select the signals for which you provided the details in viia_add_basemotion_signals.

Output:
  • 3 load-combination (x-, y- and z-direction) objects are updated with new signal and adjusted name.

  • If no Base motion combination is present the geometry load-combinations are created in DIANA (if software is DIANA and model created).

  • If these are already present, the geometry load-combination are updated (name and signal), and if the model is already meshed, it also updates the load-combinations in mesh.

  • The status variable ‘CurrentSignal’ in ‘Project’ is updated to the new signal.

viiapackage.viiaLoads.viia_create_load_combination_earthquake(project: ViiaProject, signal='S1')[source]

This function creates the load-combinations for the seismic situation in DIANA. If the dead load combination is not present yet, it will also be added first. The load-combinations with time signals are applied in the x-, y- and z-direction (3 load-combinations are created with the name ‘Earthquake’ in it).

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • signal (str): Signal number of the signal to be applied, available signals are ‘S1’ to ‘S11’. Default value is signal 1 ‘S1’.

Output:
  • 3 load-combination (x-, y- and z-direction) objects are updated with new signal and adjusted name.

  • If no Earthquake combination is present the geometry load-combinations are created in DIANA (if software is DIANA and model created).

  • If these are already present, the geometry load-combination are updated (name and signal), and if the model is already meshed, it also updates the load-combinations in mesh.

  • The status variable ‘CurrentSignal’ in ‘Project’ is updated to the new signal.

viiapackage.viiaLoads.viia_create_load_combination_push_over(project: ViiaProject)[source]

This function creates the geometry load combinations for push over analysis, the same name is retained from corresponding load-cases for ±xy directions, both single and multi line cases.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combination object is created if it is not present yet.

  • Load-combination is created in DIANA (if software is DIANA and model is created)

viiapackage.viiaLoads.viia_create_load_combination_response_spectrum(project: ViiaProject) List[LoadCombination][source]

This function creates the geometry load combinations for modal response spectrum analysis, the same name is retained from corresponding load-cases for x- and y-directions.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combination object is created if it is not present yet.

  • Load-combination is created in DIANA (if software is DIANA and model is created)

viiapackage.viiaLoads.viia_create_load_combination_rob_test(project: ViiaProject)[source]

This function creates the geometry load combination for the Rob-test situation in DIANA.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combination object is created if it is not present yet.

  • Load-combination is created in DIANA (if software is DIANA and model is created)

viiapackage.viiaLoads.viia_create_load_combination_static(project: ViiaProject)[source]

This function creates the geometry load combination (‘DL’) for static situation in DIANA.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combination object is created if it is not present yet.

  • Load-combination is created in DIANA (if software is DIANA and model is created)

viiapackage.viiaLoads.viia_remove_load_combination(project: ViiaProject, load_combination_name: str)[source]

This function removes the requested load-combination. In case of Earthquake or Base Motion it is not necessary to remove x, y and z separately. The input should be then ‘Earthquake’ or ‘Base Motion’.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

  • load_combination_name (str): Name of the load-combination that needs to be removed. All names of load-combinations in project.collections.load-combinations are valid. When removing ‘Earthquake’ or ‘Base Motion’, it is not necessary to remove those separately per direction.

Output:
  • Geometry load-combination is removed in DIANA (if software is DIANA and model created).

  • If model also meshed, the mesh load-combination is removed in DIANA (if software is DIANA and model created).

  • ‘LoadCombination’ object is removed.

  • In case of a base motion or earthquake load-combination, the current signal is set to None.

viiapackage.viiaLoads.viia_remove_load_combination_base_motion(project: ViiaProject)[source]

This function removes the load-combinations for the seismic base motion situation.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combinations for 3 base motions (x, y, and z) are removed.

  • The status variable ‘CurrentSignal’ in ‘Project’ is set to None.

viiapackage.viiaLoads.viia_remove_load_combination_earthquake(project: ViiaProject)[source]

This function removes the load-combination for the earthquake situation.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combinations for 3 earthquake directions (x, y, and z) are removed.

  • The status variable ‘CurrentSignal’ in ‘Project’ is set to None.

viiapackage.viiaLoads.viia_remove_load_combination_push_over(project: ViiaProject)[source]

This function removes the load-combinations for the pushover situation, including the Redis pushover.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combination is removed.

viiapackage.viiaLoads.viia_remove_load_combination_response_spectrum(project: ViiaProject)[source]

This function removes the load-combinations for the MRS analysis.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load-combinations are removed.

viiapackage.viiaLoads.viia_remove_load_combination_rob_test(project: ViiaProject)[source]

This function removes the load-combination for the Rob-test situation.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • Load combination is removed.

Creating the response spectrum

viiapackage.viiaLoads.viia_create_response_spectra(project: ViiaProject)[source]

Function to get the parameters of the response spectrum from the NEN-webtool for the response spectra of the NPR9998. The response spectrum is created in the class ‘ResponseSpectrum’.

Input:
  • project (obj): VIIA project object containing collections of fem objects and project variables.

Output:
  • The response spectrum objects are created for all return periods and all directions for the location as defined in the Project class.