Reference
Application programming interface (API)
- pyvibracore.api.get_impact_force_report(client, payload)[source]
Wrapper around the VibraCore endpoint “/impact-force/report”.
- Parameters:
client (NucleiClient) – client object created by [nuclei](https://github.com/cemsbv/nuclei)
payload (dict) – the payload of the request, can be created by calling create_multi_cpt_impact_force_report_payload()
- Return type:
bytes
- pyvibracore.api.get_impact_force_calculation(client, payload)[source]
Wrapper around the VibraCore endpoint “/impact-force/calculation/multi”.
- Parameters:
client (NucleiClient) – client object created by [nuclei](https://github.com/cemsbv/nuclei)
payload (dict) – the payload of the request, can be created by calling create_multi_cpt_impact_force_payload()
- Return type:
bytes
- pyvibracore.api.get_prepal_calculation(client, payload)[source]
Wrapper around the VibraCore endpoint “/prepal/validation/multi”.
- Parameters:
client (NucleiClient) – client object created by [nuclei](https://github.com/cemsbv/nuclei)
payload (dict) – the payload of the request, can be created by calling create_prepal_payload()
- Return type:
bytes
- pyvibracore.api.get_cur166_calculation(client, payload)[source]
Wrapper around the VibraCore endpoint “/cur166/validation/multi”.
- Parameters:
client (NucleiClient) – client object created by [nuclei](https://github.com/cemsbv/nuclei)
payload (dict) – the payload of the request, can be created by calling create_cur166_payload()
- Return type:
bytes
- pyvibracore.api.get_cur166_report(client, payload)[source]
Wrapper around the VibraCore endpoint “/cur166/report”.
- Parameters:
client (NucleiClient) – client object created by [nuclei](https://github.com/cemsbv/nuclei)
payload (dict) – the payload of the request, can be created by calling create_vibration_report_payload()
- Return type:
bytes
- pyvibracore.api.get_prepal_report(client, payload)[source]
Wrapper around the VibraCore endpoint “/cur166/report”.
- Parameters:
client (NucleiClient) – client object created by [nuclei](https://github.com/cemsbv/nuclei)
payload (dict) – the payload of the request, can be created by calling create_vibration_report_payload()
- Return type:
bytes
Impact Force
Input
- pyvibracore.input.impact_force_properties.create_multi_cpt_impact_force_payload(cptdata_objects, classify_tables, vibration_source, friction_strategy, drive_strategy, installation_level_offset, groundwater_level_offset=None, zeta=0.6)[source]
Creates a dictionary with the payload content for the VibraCore endpoint “/impact-force/calculation/multi”
This dictionary can be passed directly to nuclei.client.call_endpoint().
- Parameters:
cptdata_objects (List[CPTData]) – A list of pygef.CPTData objects
classify_tables (Dict[str, dict]) –
A dictionary, mapping CPTData.alias values to dictionary with the resulting response of a call to CPTCore classify/* information, containing the following keys:
- geotechnicalSoilName: Sequence[str]
Geotechnical Soil Name related to the ISO
- lowerBoundary: Sequence[float]
Lower boundary of the layer [m]
- upperBoundary: Sequence[float]
Upper boundary of the layer [m]
- color: Sequence[str]
Hex color code
- mainComponent: Sequence[Literal[“rocks”, “gravel”, “sand”, “silt”, “clay”, “peat”]]
Main soil component
- cohesion: Sequence[float]
Cohesion of the layer [kPa]
- gamma_sat: Sequence[float]
Saturated unit weight [kN/m^3]
- gamma_unsat: Sequence[float]
Unsaturated unit weight [kN/m^3]
- phi: Sequence[float]
Phi [degrees]
- undrainedShearStrength: Sequence[float]
Undrained shear strength [kPa]
vibration_source (VibrationSource) – Vibration source object
friction_strategy (Literal["CPTFrictionStrategy", "SlipFrictionStrategy"]) –
Defines the strategy on how to compute the sleeve friction:
CPTFrictionStrategy
The CPT Friction Strategy takes the sleeve friction provided by the cpt. Note that this method is only valid when the sleeve friction is provided within the cpt object.
SlipFrictionStrategy
The Slip Friction Strategy calculated the sleeve friction based on the gamma, gamma saturation, phi and the undrained shear strength. To use this methode the values must be provided within the cpt object.
drive_strategy (Literal["vibrate", "push"]) –
Defines the strategy on how to compute the impact force:
vibrate
The vibration strategy calculates the impact force based on a vibration installation method.
push
The push strategy calculates the impact force based on a push installation method.
installation_level_offset (float) – Installation level of the sheet pile [m w.r.t REF]
groundwater_level_offset (float, optional) – Groundwater level for all cpts. if None groundwater level of cpt is used. if no groundwater level is set in the cpt we will take one meter below surface level [m w.r.t REF]
zeta (float = 0.6) – verknedingsfactor [-], used in the push drive strategy based on CUR 166 6th edition.
- Returns:
payload
- Return type:
dict
- pyvibracore.input.impact_force_properties.create_multi_cpt_impact_force_report_payload(multi_cpt_payload, project_name, project_id, author)[source]
Creates a dictionary with the payload content for the VibraCore endpoint “/impact-force/report”
This dictionary can be passed directly to nuclei.client.call_endpoint().
- Parameters:
multi_cpt_payload (
dict
) – The result of a call to create_multi_cpt_impact_force_payload()project_name (
str
) – The name of the project.project_id (
str
) – The identifier (code) of the project.author (
str
) – The author of the report.
- Returns:
payload
- Return type:
dict
- pyvibracore.input.impact_force_properties.create_single_cpt_impact_force_payload(multi_cpt_payload, name)[source]
Creates a dictionary with the payload content for the VibraCore endpoint “/impact-force/calculation/single”
This dictionary can be passed directly to nuclei.client.call_endpoint().
- Parameters:
multi_cpt_payload (dict) – The result of a call to create_multi_cpt_impact_force_payload()
name (str) – CPT name
- Returns:
payload
- Return type:
dict
Result
- class pyvibracore.results.impact_force_result.MultiCalculationData(gdf)[source]
Dataclass that holds the information from /impact-force/multi
- gdf
- Type:
gpd.GeoDataFrame
- __init__(gdf)
- classmethod from_api_response(response_dict)[source]
Stores the response of the VibraCore endpoint
- Parameters:
response_dict (
dict
) – The resulting response of a call to /impact-force/multi- Return type:
- plot(figsize=(10.0, 12.0), settings=None, **kwargs)[source]
Plots the CPT and soil table data.
- Parameters:
figsize (Tuple[float, float]) – Size of the activate figure, as the plt.figure() argument.
settings (dict | None) –
Plot settings used in plot: default settings are:
{ "hue": "max", "title": "Maximale slagkracht [kN]", "xlabel": "X-coördinaat", "ylabel": "Y-coördinaat" }
**kwargs (Any) – All additional keyword arguments are passed to the pyplot.subplots() call.
- Returns:
The matplotlib Figure
- Return type:
fig
- class pyvibracore.results.impact_force_result.SingleCalculationData(table, installationLevel, maximumForce, pointForce)[source]
Object that contains the impact force related data.
Attributes:
- table: ImpactForceTable
table object
- installationLevel: float
installation level [m w.r.t. Reference]
- maximumForce: float
total resistance [kN]
- pointForce: float
resistance at the base [kN]
- __init__(table, installationLevel, maximumForce, pointForce)
- classmethod from_api_response(response_dict)[source]
Stores the response of the VibraCore endpoint
- Parameters:
response_dict (
dict
) – The resulting response of a call to impact-force/calculation/single- Return type:
- plot(figsize=(10.0, 12.0), **kwargs)[source]
Plots the resistance data.
- Parameters:
figsize (
Tuple
[float
,float
]) – Size of the activate figure, as the plt.figure() argument.**kwargs (
Any
) – All additional keyword arguments are passed to the pyplot.subplots() call.
- Returns:
The matplotlib Figure
- Return type:
fig
SBR-A
Input
- pyvibracore.input.vibration_properties.get_buildings_geodataframe(west, south, east, north, category='two', monumental=False, structural_condition='normal', vibration_sensitive=False, thickness=8.0, foundation_element='shallow foundation', material_floor='concrete', feature='bag:pand', pagesize=1000)[source]
Get a GeoDataFrame with the default values for CUR166 and PrePal methode.
- Parameters:
west (
float
) – west coordinate in rd new (EPSG:28992)south (
float
) – south coordinate in rd new (EPSG:28992)east (
float
) – east coordinate in rd new (EPSG:28992)north (
float
) – north coordinate in rd new (EPSG:28992)category (
Literal
['one'
,'two'
]) – Building category based on the SBR A table 10.1.monumental (
bool
) – Has the building structure a monumental status. Based on the SBR A table 10.3.structural_condition (
Literal
['sensitive'
,'normal'
]) – Based on the SBR A table 10.2.vibration_sensitive (
bool
) – Has the building structure a vibration sensitive foundation. Based on the SBR A chapter 10.2.5.thickness (
float
) – Layer thickness settlement-sensitive layer [m]foundation_element (
Literal
['shallow foundation'
,'concrete piles'
,'timber piles'
,'steel piles'
]) – Based on CUR 166 3rd edition table 5.19material_floor (
Literal
['concrete'
,'wood'
]) – Based on CUR 166 3rd edition table 5.20feature (
Literal
['bag:pand'
,'bag:ligplaats'
,'bag:verblijfsobject'
,'bag:woonplaats'
,'bag:standplaats'
]) – default is bag:pand item in the BAG, see https://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/1c0dcc64-91aa-4d44-a9e3-54355556f5e7pagesize (
Literal
[10
,20
,50
,100
,1000
]) – Results per page
- Returns:
gdf
- Return type:
gpd.GeoDataFrame
- pyvibracore.input.vibration_properties.get_normative_building(buildings, location, category)[source]
Get the name of the closest building
- Parameters:
buildings (gpd.GeoDataFrame) – GeoDataFrame that holds the building information
location (Polygon | LineString | Point) – Geometry of the source location
category (Literal['one', 'two']) – building category based on the SBR A table 10.1.
- Returns:
name
- Return type:
str
- pyvibracore.input.vibration_properties.create_single_payload(multi_vibration_payload, name)[source]
Create payload for VibraCore call cur166/validation/single or prepal/validation/single
- Parameters:
multi_vibration_payload (
dict
) – result from create_cur166_payload or create_prepal_payloadname (
str
) – building name
- Returns:
payload
- Return type:
dict
- pyvibracore.input.vibration_properties.create_vibration_report_payload(multi_vibration_payload, project_name, project_id, author)[source]
Creates a dictionary with the payload content for the VibraCore endpoint “/cur166/report” or “/prepal/report”
This dictionary can be passed directly to nuclei.client.call_endpoint().
- Parameters:
vibration_payload – The result of a call to create_cur166_payload() or create_prepal_payload()
project_name (
str
) – The name of the project.project_id (
str
) – The identifier (code) of the project.author (
str
) – The author of the report.
- Returns:
payload
- Return type:
dict
PerPal
- pyvibracore.input.vibration_properties.create_prepal_payload(buildings, location, pile_shape, pile_size, cone_resistance, reduction=0.0, unit_weight=20, elastic_modulus_factor=15, poisson_ratio=0.2, frequency=20.0, vibration_type='continuous', frequency_vibration_sensitive=40.0, measurement_type='extensive', hysteretic_damping_barkan=-0.05)[source]
Create payload for VibraCore call cur166/validation/multi
- Parameters:
buildings (gpd.GeoDataFrame) –
- GeoDataFrame that holds teh building information. Must have the following columns:
buildingDepth: The minimum building depth [m]
buildingDepthVibrationSensitive: The minimum building depth [m]
category Based on the SBR A table 10.1.
monumental Has the building structure a monumental status. Based on the SBR A table 10.3.
structuralCondition Based on the SBR A table 10.2.
thickness Layer thickness settlement-sensitive layer [m]
vibrationSensitive Has the building structure a vibration sensitive foundation. Based on the SBR A chapter 10.2.5.
location (Polygon | LineString | Point) – Location of the source
poisson_ratio (float) – Poisson’s ratio of the soil [-]
elastic_modulus_factor (float) – Elastic modulus factor of the soil [-].
unit_weight (float) – Volume weight of the soil [kN/m^3]
cone_resistance (float) – Cone resistance [MPa]
reduction (float) – Reduction of the cone resistance [%]
pile_size (float) – Size of the pile [m]
pile_shape (Literal['square', 'round']) – Shape of the pile.
frequency (float) – The dominate frequency [Hz]
vibration_type (Literal['short-term', 'repeated-short-term', 'continuous']) – Based on the SBR A table 10.4.
frequency_vibration_sensitive (float) – The dominate frequency for vibration sensitive building [Hz].
measurement_type (Literal['indicative', 'limited', 'extensive']) – Type of measurement based on the SBR A table 9.2.
hysteretic_damping_barkan (float) – hysteretic damping barkan [m^-1]
- Returns:
payload
- Return type:
dict
- Raises:
KeyError: – Missing column names in GeoDataFrame
CUR166
- pyvibracore.input.vibration_properties.create_cur166_payload(buildings, location, force, reduction=0, installation_type='vibrate', building_part='floor', safety_factor=0.05, vibration_direction='vertical', frequency=30.0, vibration_type='continuous', frequency_vibration_sensitive=40.0, reference_location='Amsterdam', measurement_type='extensive', methode_safety_factor='exact')[source]
Create payload for VibraCore call cur166/validation/multi
- Parameters:
buildings (gpd.GeoDataFrame) –
- GeoDataFrame that holds teh building information. Must have the following columns:
foundationElement Based on CUR 166 3rd edition table 5.19
material Based on CUR 166 3rd edition table 5.20
category Based on the SBR A table 10.1.
monumental Has the building structure a monumental status. Based on the SBR A table 10.3.
structuralCondition Based on the SBR A table 10.2.
thickness Layer thickness settlement-sensitive layer [m]
vibrationSensitive Has the building structure a vibration sensitive foundation. Based on the SBR A chapter 10.2.5.
location (Polygon | LineString | Point) – Location of the source
force (float) – Impact force of the pile [kN]
reduction (float) – Reduction of impact [%]
installation_type (Literal['vibrate', 'driving']) – Based on CUR 166 3rd edition table 5.20 or 5.21
building_part (Literal['floor', 'wall']) – Based on CUR 166 3rd edition table 5.20 or 5.21
safety_factor (float) – Based on CUR 166 3rd edition table 5.22
vibration_direction (Literal['vertical', 'horizontal']) – Based on CUR 166 3rd edition table 5.22
frequency (float) – The dominate frequency [Hz]
vibration_type (Literal['short-term', 'repeated-short-term', 'continuous']) – Based on the SBR A table 10.4.
frequency_vibration_sensitive (float) – The dominate frequency for vibration sensitive building [Hz]. If not provided the frequency of 20 Hz is used for PrePal and 40 for CUR 166 3rd edition high frequency vibration calculation.
reference_location (Literal['Amsterdam', 'Maasvlakte', 'Rotterdam', 'Groningen', 'Den Haag', 'Tiel', 'Eindhoven']) – Based on CUR 166-1997 table 5.16 and 5.17
measurement_type (Literal['indicative', 'limited', 'extensive']) – Type of measurement based on the SBR A table 9.2.
methode_safety_factor (Literal['CUR', 'exact']) – Parameter that indicated how the safety factor is calculated. Find more info about the exact method here -> https://issuu.com/uitgeverijeducom/docs/geo_okt2014_totaal_v4_klein/36
- Returns:
payload
- Return type:
dict
- Raises:
ValueError: – No reference values found for reference location
KeyError: – Missing column names in GeoDataFrame
Result
- class pyvibracore.results.vibration_result.VibrationResults(gdf)[source]
Dataclass that holds the information from /cur166/validation/multi or /prepal/validation/multi
- gdf
- Type:
gpd.GeoDataFrame
- __init__(gdf)
- classmethod from_api_response(response_dict)[source]
Stores the response of the VibraCore endpoint
- Parameters:
response_dict (
dict
) – The resulting response of a call to /cur166/validation/multi or /prepal/validation/multi- Return type:
- map(source_location, title='Legend:', figsize=(10.0, 12.0), settings=None, **kwargs)[source]
Create map plot of the results
- Parameters:
source_location (Point | LineString | Polygon) – location of the vibration source
title (str) – Legend title
figsize (Tuple[float, float]) – Size of the activate figure, as the plt.figure() argument.
settings (dict | None) –
Plot settings used in plot: default settings are:
{ "source_location": {"label": "Trillingsbron", "color": "black"}, "insufficient_cat1": { "label": "Voldoet Niet - Cat.1", "color": "orange", }, "insufficient_cat2": {"label": "Voldoet Niet - Cat.2", "color": "red"}, "sufficient": {"label": "Voldoet", "color": "green"}, }
**kwargs (Any) – All additional keyword arguments are passed to the pyplot.subplots() call.
- Return type:
Figure
- pyvibracore.results.vibration_result.map_payload(gdf, source_location, title='Legend:', figsize=(10.0, 12.0), settings=None, **kwargs)[source]
Create map of the input building settings.
- Parameters:
gdf (gpd.GeoDataFrame) – GeoDataFrame of the input buildings
source_location (Point | LineString | Polygon) – location of the vibration source
title (str) – Legend title
figsize (Tuple[float, float]) – Size of the activate figure, as the plt.figure() argument.
settings (dict | None) –
Plot settings used in plot: default settings are:
{ "source_location": {"label": "Trillingsbron", "color": "black"}, "sensitive_cat1": { "label": "Monumentaal/ gevoelig - Cat.1", "color": "blue", }, "sensitive_cat2": { "label": "Monumentaal/ gevoelig - Cat.2", "color": "cyan", }, "normal_cat1": {"label": "Normaal - Cat.1", "color": "orange"}, "normal_cat2": {"label": "Normaal - Cat.2", "color": "olive"}, }
**kwargs (Any) – All additional keyword arguments are passed to the pyplot.subplots() call.
- Return type:
Figure
- pyvibracore.results.vibration_result.plot_reduction(response_dict, sensitive=False, figsize=(8, 8), **kwargs)[source]
PLot single vibration prediction reduction plot
- Parameters:
response_dict (
dict
) – response of the single prepal or cur166 endpoint.sensitive (
bool
) – Default is False Flag that indicates if vibration sensitive results are includedfigsize (
Tuple
[float
,float
]) – Size of the activate figure, as the plt.figure() argument.**kwargs (
Any
) – All additional keyword arguments are passed to the pyplot.subplots() call.
- Return type:
Figure
Sound
- pyvibracore.results.sound_result.get_normative_building(buildings, location)[source]
Get the name of the closest building with one of the follwing category:
“woonfunctie”,
“gezondheidsfunctie”,
“onderwijsfunctie”
- Parameters:
buildings (gpd.GeoDataFrame) – GeoDataFrame that holds the building information
location (Polygon | LineString | Point) – Geometry of the source location
- Returns:
name
- Return type:
str
- pyvibracore.results.sound_result.map_sound(buildings, source_location, building_name, power, k2, period, title='Legend:', figsize=(10.0, 12.0), settings=None, **kwargs)[source]
Create map of the input building settings.
- Parameters:
buildings (gpd.GeoDataFrame) – GeoDataFrame of the input buildings
source_location (Point | LineString | Polygon) – location of the vibration source
building_name (str) – name of the building
power (float) – source power [dB]
k2 (float) – Correction term [dB]
period (float) – Operating period of the building code [hours]
title (str) – Legend title
figsize (Tuple[float, float]) – Size of the activate figure, as the plt.figure() argument.
settings (dict | None) –
Plot settings used in plot: default settings are:
{ "source_location": {"label": "Trillingsbron", "color": "blue"}, "levels": [ { "label": ">80 db [0 dagen]", "level": 80, "color": "darkred", }, { "label": ">75 db [5 dagen]", "level": 75, "color": "red", }, { "label": ">70 db [15 dagen]", "level": 70, "color": "orange", }, { "label": ">65 db [30 dagen]", "level": 65, "color": "darkgreen", }, { "label": ">60 db [50 dagen]", "level": 60, "color": "green", }, ], }
**kwargs (Any) – All additional keyword arguments are passed to the pyplot.subplots() call.
- Return type:
Figure