6. Design Automation

6.1. File Reader

breakwater.design.read_breakwaters(filepath)[source]

Read a breakwaters file into Configurations

Parameters:filepath (path) – any valid string path is acceptable, filepath must end with .breakwaters
Returns:bw.Configurations – a Configurations object with breakwater concepts

6.2. Interactive Design Application

breakwater.interactive.interactive_design(structure, LimitState, Grading, ArmourUnit=None, BermMaterial=None, cost=None, Soil=None, display_warnings=True)[source]

Interactive Design Application

Application to interactively design breakwaters. All parameters can be specified in the application, together with varying parameters. On the Interactive Design Page it is then possible to change the value of a varying parameter with a slider. The design can then be updated and a cross-section of the new design is shown.

Parameters:
  • structure ({'RRM', 'CRM', 'RC', 'CC'}) – structure for which conceptual designs must be generated. RRM for a rubble mound with rock as armour layer, CRM for a rubble mound with concrete armour units as armour layer, RC for a vertical (composite) breakwater with rock as armour layer for the foundation and CC for a vertical (composite) breakwater with concrete armour units as armour layer for the foundation.
  • LimitState (LimitState or list of LimitState) – ULS, SLS or another limit state defined with LimitState
  • Grading (RockGrading) – standard rock grading defined in the NEN-EN 13383-1 or a user defined rock grading. Required for all parameters
  • ArmourUnit (obj, optional, default: None) – armour unit class which inherits from ConcreteArmour, for instance Xbloc or XblocPlus. This argument is used for RRM.
  • BermMaterial (obj, optional, default: None) – armour unit class which inherits from ConcreteArmour, for instance Xbloc or XblocPlus. This argument is used for CC.
  • Soil (Soil, optional, default: None) – by default Soil is None, which means that the geotechnical checks are not performed. By specifying a Soil object, the geotechnical checks are automatically performed. Optional argument for RC and CC.
  • cost (dict, optional, default: None) – by default no cost are computed, when the cost must be computed all relevant cost must be included. Optional keys of the dict are: core_price for the price of the core material, unit_price for the price of armour units, concrete_price for the price of concrete, fill_price for the price of the fill material of the caisson. If not included in the prices it is also possible to specify transport_price for the price of transporting rocks, dry_dock for the rent of a dry dock, which is divided through the length of the breakwater.
  • display_warnings (bool, optional, default: True) – if warnings must be displayed when designing

6.3. Configurations Design

class breakwater.design.Configurations(structure, LimitState, rho_w, slope_foreshore, Grading, Soil=None, safety=1, **kwargs)[source]

Make a conceptual design for multiple breakwaters

With this class a parametric design of one or more types of breakwaters. The types of structures included in the tool are: a rubble mound breakwater with rock (RRM) or concrete armour units (CRM) as armour layer and a vertical (composite) breakwater with rock (RC) or concrete armour units (CC) as armour layer of the foundation layer. Each structure has its own set of required (table 1) and optional (table 2) parameters.

For the parametric design some parameters are allowed to vary, these parameters have a superscript in table 1 and 2. The input of a varying parameter must be a tuple with a length of 3, i.e. (min, max, num), where min and max are the minimum and maximum value and num is the number of samples to generate.

Note

Alternatively, a design can also be made from an Excel input file by using read_configurations(). The required Excel input file can be generated by using bw.generate_excel

Table 1: required parameters

Parameter RRM CRM RC CC
LimitState x x x x
rho_w x x x x
slope_foreshore x x x x
Grading x x x x
slope 1 x x    
B 1 x x    
Dn50_core 1 x x    
N x      
ArmourUnit   x    
Pc 1     x x
rho_c     x x
rho_fill     x x
Bm 1     x x
hb 1     x x
mu     x x
BermMaterial       x

1 Parameter is allowed to vary, enter as a tuple with (min, max, num), where min and max are the minimum and maximum value and num is the number of samples to generate.

Table 2: Optional parameters with default values

Parameter Default RRM CRM RC CC
safety 1 o o o o
beta 0 o o o o
Soil None o o o o
slope_toe 1 (2,3) o o    
phi 40 o o    
B_toe 1 None o o    
vdm max o      
layers_rock 2 o   o  
layers_units 1   o   o
layers_underlayer 2 o o    
filter_rule None   o   o
pe_max 500     o o
SF_sliding 1.2     o o
SF_turning 1.2     o o
slope_foundation 1 (2,3)     o o
lambda_ [1,1,1]     o o

1 Parameter is allowed to vary, enter as a tuple with (min, max, num), where min and max are the minimum and maximum value and num is the number of samples to generate.

Parameters:
  • structure ({'RRM', 'CRM', 'RC', 'CC'}) – structure for which conceptual designs must be generated. RRM for a rubble mound with rock as armour layer, CRM for a rubble mound with concrete armour units as armour layer, RC for a vertical (composite) breakwater with rock as armour layer for the foundation and CC for a vertical (composite) breakwater with concrete armour units as armour layer for the foundation.
  • LimitState (LimitState or list of LimitState) – ULS, SLS or another limit state defined with LimitState
  • rho_w (float) – density of water [kg/m³]
  • slope_foreshore (tuple) – slope of the foreshore (V, H). For example a slope of 1:100 is defined as (1, 100)
  • Grading (RockGrading) – standard rock grading defined in the NEN-EN 13383-1 or a user defined rock grading.
  • safety (float, optional, default: 1) – safety factor of design (number of standard deviations from the mean)
Keyword Arguments:
 
  • slope (tuple) – Slope of the armour layer (V,H). For example a slope of 3V:4H is defined as (3,4). Required for RRM and CRM.
  • B (float) – Crest width [m], required for RRM and CRM
  • Dn50_core (float) – nominal diameter for the stones in the core of the breakwater [m], required for RRM and CRM
  • N (int) – Number of incident waves at the toe of the structure [-], required for RRM
  • ArmourUnit (obj) – armour unit class which inherits from ConcreteArmour, for instance Xbloc or XblocPlus. Required argument for CRM.
  • Pc (float) – contribution of concrete to the total mass of the caisson. value between 0 and 1. Required argument for RC and CC.
  • rho_c (float) – density of concrete [kg/m³], required argument for RC and CC.
  • rho_fill (float) – density of the fill material [kg/m³], required argument for RC and CC.
  • Bm (float) – width of the berm [m], required argument for RC and CC.
  • hb (float) – height of the foundation layer [m], required argument for RC and CC.
  • mu (float) – friction factor between the caisson and the foundation [-], required argument for RC and CC.
  • BermMaterial (obj) – should be a RockGrading or armour unit class which inherits from ConcreteArmour, for instance Xbloc or XblocPlus. Required argument for CC
  • beta (float, optional, default: 0) – angle between direction of wave approach and a line normal to the breakwater (degrees). Optional argument for RC and CC, default value is 0.
  • slope_toe (tuple, optional, default: (2,3)) – Slope of the armour layer (V,H). For example a slope of 2V:3H is defined as (2,3). Optional argument for RRM and CRM, default value is (2,3)
  • B_toe (float, optional, default: None) – width of the top of the toe in meters. By default the width of toe is taken as 3 * Dn50_toe. Optional argument for RRM and CRM.
  • vdm ({min, max, avg}, optional, default: max) – value to return in case both the deep and shallow water formula are valid. min for the lowest value, max for the highest value and avg for the average value, default is max. Optional argument for RRM.
  • layers_rock (int, optional, default: 2) – number of layer in the armour layer for a rubble mound breakwater with rock as armour layer. Optional argument for RRM and RC, default value is 2
  • layers_units (int, optional, default: 1) – number of layer in the armour layer for a rubble mound breakwater with concrete armour units as armour layer. Optional argument for RRM and CC, default value is 1
  • layers_underlayer (int, optional, default: 2) – number of layers in the underlayer. Optional argument for RRM and CRM
  • filter_rule ({'Rock', 'Xbloc', 'XblocPlus'}, optional, default: None) – filter rule to use for the substructure of the breakwater, for Rock, Xbloc and XblocPlus the correct filter rule is automatically selected. In case another type of armour layer is used one of these filter rules must be chosen. Optional argument for CRM, required if armour unit is not Xbloc or XblocPlus, default value is None
  • pe_max (float, optional, default: 500) – maximum value of the bearing pressure at the heel of the caisson. Default value is set to 500 kPa, Goda (2000) advises a value between 400 and 500 kPa. Optional parameter for RC and CC
  • SF_sliding (float, optional, default: 1.2) – safety factor against sliding. Default value according to Goda (2000). Optional argument for RC and CC, default value is 1.2
  • SF_turning (float, optional, default: 1.2) – safety factor against sliding. Default value according to Goda (2000). Optional argument for RC and CC, default value is 1.2
  • slope_foundation (tuple, optional, default: (2,3)) – Slope of the armour layer (V,H). For example a slope of 2V:3H is defined as (2,3). Optional argument for RC and CC, default is (2,3)
  • lambda (list, optional, default: [1,1,1]) – modification factors of Takahasi (2002) for alternative monolithic breakwater. Input must be lambda_= [\(\lambda_1, \lambda_2, \lambda_3\)]. Optional argument for RC and CC, default value is [1,1,1]
  • Soil (Soil, optional, default: None) – by default Soil is None, which means that the geotechnical checks are not performed. By specifying a Soil object, the geotechnical checks are automatically performed. Optional argument for all structures
  • phi (float, optional, default: 40) – internal friction angle of rock [degrees]. Optional argument for RRM and CRM.
df

DataFrame with all generated concepts

Type:pd.DataFrame
add_cost(core_price=None, unit_price=None, concrete_price=None, fill_price=None, transport_cost=None, investment=None, length=None)[source]

Compute the cost of each concept

Compute the cost of each concept and add the cost to the df. The cost of the rocks must be specified in the RockGrading. If transport cost are not included in the price of rocks or core_price it can be given with the argument transport_cost. For a Caisson breakwater it is possible to specify the investment for renting a dry dock, the investment is divided through the length of the breakwater to get the investment cost per meter.

Note

The transport_cost are not added to the price of the armour layer. The assumption has been made that the cost of producing and transporting the armour units is included in the unit_price.

Parameters:
  • core_price (float, optional, default: None) – cost of the core material per m³, required for RRM and CRM
  • unit_price (float, optional, default: None) – the cost of an armour unit per m³, required for CRM and CC
  • concrete_price (float, optional, default: None) – price of concrete per m³, required for RC and CC
  • fill_price (float, optional, default: None) – price of the fill material per m³, required for RC and CC
  • transport_cost (float, optional, default: None) – the cost to transport a m³ of rock from the quarry to the project location
  • investment (float) – the investment required to rent a dry dock
  • length (float) – length of the breakwater [m]
cost_influence()[source]

Plot the influence of the varying parameters on the cost

Method to see the influence of the varying parameters on the cost of a concept. If more than 1 parameter has been specified as a varying parameter the x-axis is normalised (from 0 to 1) so that all parameters can be plotted on the same axis.

Note

When more than one varying parameter is specified several lines must be plotted. To show the influence of one varying parameter on the cost the other varying parameters are set to their lower bound value.

get_concept(id=None, CaseNo=None)[source]

Get the specified concept

Parameters:
  • id (str, optional, default: None) – id of the concept, the id of a concept for a rubble mound breakwater out of rock is for instance: RRM.1
  • CaseNo (int, optional, default: None) – CaseNo if the concept, only available if an export for the Design Explorer has been made with to_design_explorer()
Returns:

concept (obj) – a breakwater concept, for instance RockRubbleMound

Raises:
  • InputError – if a concept is not selected with CaseNo or id, or if there is no concept with the specified CaseNo or id
  • KeyError – if a concept can’t be selected by CaseNo because the method to_design_explorer() has not yet been used, and the CaseNo have therefore not yet been added to df
show_warnings()[source]

Print all warnings encountered during the design

Method prints a table containing the unique warning messages, with the time the warning was encountered during the design.

to_breakwaters(save_name)[source]

Save the df with designs in a pickle object

Method will save the df with all breakwater concepts in a pickle object with extension .breakwaters.

Parameters:save_name (str) – name of the file
to_design_explorer(params, mkdir='DesignExplorer', slopes='angles', merge_Bm=True, merge_slope_toe=True)[source]

Export concepts to Design Explorer 2

Creates a folder that can be used in Design Explorer 2, the folder consists of the cross sections of all concepts and a csv file with the data of the concepts. Parameters supported for export can be seen in table 3. To use the folder in Design Explorer 2, follow these steps:

  • Upload the folder to your Google Drive
  • Share the folder and get the shareable link
  • Go to http://tt-acm.github.io/DesignExplorer/
  • Click on Get Data and paste the shareable link below: From the cloud
  • Click on Load Data
  • Enjoy exploring!

Table 3: possible parameter to export

Parameter RRM + CRM RC + CC
cost o o
B o o
Rc o o
computed Dn50 armour o o
class armour o o
class Dn50 armour o o
computed Dn50 underlayer o o
class underlayer o o
class Dn50 underlayer o o
slope o  
slope_toe o o 1
Dn50_core o  
B_toe o  
computed Dn50 filter o  
class filter o  
class Dn50 filter o  
Pc   o
hb   o
h_acc   o
Bm o 2 o
slope_foundation   o
UC 3   o
1 slope_foundation is interpreted as slope_toe if merge_slope_toe is set to True
2 B_toe is interpreted as Bm if merge_Bm is set to True
3 UC is the unity check for the bearing capacity of the subsoil
Parameters:
  • params (list) – list of parameters for the design explorer, parameter must be str. See table 3 for the parameters that can be exported/
  • mkdir (str, optional, default: concepts) – creates a folder in which all cross sections are saved, upload the created folder to your Google Drive to use Design Explorer 2
  • slopes ({angles, tuples}, optional, default: angles) – how the slopes must be exported. tuples will export the slope as (V,H) and angles as an angle in degrees
  • merge_Bm (bool, optional, default: True) – True if Bm must be merged with B_toe when a Rubble Mound and Vertical breakwater have been designed, False if you do not want to merge the columns.
  • merge_slope_toe (bool, optional, default: True) – True if slope_foundation must be merged with slope_toe when a Rubble Mound and Vertical breakwater have been designed, False if you do not want to merge the columns.
Raises:

KeyError – if the cost are asked to export but not yet specified