Skip to content

Commit e99cf71

Browse files
committed
Update to version 0.22.1
1 parent b18b5f5 commit e99cf71

26 files changed

+4113
-871
lines changed

docs/source/core_functionality/system.ipynb

Lines changed: 38 additions & 37 deletions
Large diffs are not rendered by default.

docs/source/example_problems/airplane_modal_test.rst

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1357,7 +1357,7 @@ Running the Integration to Generate Synthetic Test Data
13571357
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13581358

13591359
We will now loop through each of our excitation degrees of freedom and integrate
1360-
the System's response to the force located at that postiion using
1360+
the System's response to the force located at that position using
13611361
:py:func:`System.time_integrate<sdynpy.core.sdynpy_system.System.time_integrate>`.
13621362
This will give us references and responses as
13631363
:py:class:`TimeHistoryArray<sdynpy.core.sdynpy_data.TimeHistoryArray>` objects.
@@ -1386,8 +1386,14 @@ object, which we can plot on our erroneous geometry.
13861386
for rb_coordinate in rb_coordinates:
13871387
# Perform time integration to get the responses to our sine wave
13881388
print('Integrating Rigid Body Excitation at {:}'.format(str(rb_coordinate)))
1389-
responses,references = test_system.time_integrate(
1390-
force,dt,references=rb_coordinate)
1389+
references = sdpy.time_history_array(
1390+
abscissa = np.arange(force.shape[-1])*dt,
1391+
ordinate = force,
1392+
coordinate = rb_coordinate)
1393+
responses = test_system.time_integrate(
1394+
forces = references,
1395+
responses = {2:test_system.coordinate} # key of 2 is for acceleration
1396+
)
13911397
# Plot the responses and references
13921398
fig,ax = plt.subplots(2,1,sharex=True,
13931399
num='Rigid Body Test {:}'.format(str(rb_coordinate)))
@@ -1667,6 +1673,10 @@ test bandwidth.
16671673
random_forces = sdpy.generator.random(
16681674
drive_points.shape,modal_frames*samples_per_frame,dt=dt,
16691675
high_frequency_cutoff=test_bandwidth)
1676+
references_modal = sdpy.time_history_array(
1677+
np.arange(random_forces.shape[-1])*dt,
1678+
random_forces,
1679+
drive_points[:,np.newaxis])
16701680
# Look at the signal statistics
16711681
rms = np.sqrt(np.mean(random_forces**2,axis=-1))
16721682
fig,ax = plt.subplots(2,1,num='Random Excitation')
@@ -1699,8 +1709,9 @@ use a window function and apply an overlap.
16991709
.. code-block:: python
17001710
17011711
# Now let's run the modal test
1702-
responses_modal,references_modal = test_system.time_integrate(
1703-
random_forces,dt,references=drive_points)
1712+
responses_modal = test_system.time_integrate(
1713+
references_modal,
1714+
{2:test_system.coordinate}) # 2 for acceleration
17041715
17051716
# Now let's downsample to the actual measurement (removing the 10x integration
17061717
# oversample)

docs/source/example_problems/mimo_random_vibration_control.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -670,8 +670,8 @@ the responses.
670670
.. code-block:: python
671671
672672
responses,references = modal_system.time_integrate(
673-
input_signal.ordinate, np.mean(np.diff(input_signal.abscissa)),
674-
responses = control_dofs.flatten(), references = excitation_locations)
673+
input_signal,
674+
{2:control_dofs.flatten()}) # 2 for acceleration
675675
676676
control_buzz = responses.downsample(output_oversample).cpsd(frequencies.size*2,
677677
0.5,'hann')

docs/source/example_problems/shaker_simulation.ipynb

Lines changed: 629 additions & 0 deletions
Large diffs are not rendered by default.

docs/source/example_problems/virtual_point_transformation.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@
345345
},
346346
{
347347
"cell_type": "code",
348-
"execution_count": 9,
348+
"execution_count": null,
349349
"id": "06660f00",
350350
"metadata": {},
351351
"outputs": [],
@@ -357,7 +357,7 @@
357357
"chirp_excitation_ordinate = np.array([chirp(time, 20, 1, 500), chirp(time, 20, 1, 500), chirp(time, 20, 1, 500)])\n",
358358
"\n",
359359
"chirp_excitation = sdpy.data_array(sdpy.data.FunctionTypes.TIME_RESPONSE, time, chirp_excitation_ordinate, external_node_coordinate[...,np.newaxis])\n",
360-
"time_response, _ = transformed_system.time_integrate(chirp_excitation)"
360+
"time_response, _ = transformed_system.time_integrate(chirp_excitation,{2:transformed_system.coordinate})"
361361
]
362362
},
363363
{

docs/source/examples.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ SDynpy Examples
1313
example_problems/craig_bampton_substructuring
1414
example_problems/transmission_simulator
1515
example_problems/mimo_random_vibration_control
16-
example_problems/virtual_point_transformation
16+
example_problems/virtual_point_transformation
17+
example_problems/shaker_simulation

docs/source/modal_tutorials/Modal_01_What_is_Modal_Analysis/Modal_01_What_is_Modal_Analysis.ipynb

Lines changed: 47 additions & 41 deletions
Large diffs are not rendered by default.

docs/source/modal_tutorials/Modal_02_Basics_of_Vibrations/Modal_02_Basics_of_Vibrations.ipynb

Lines changed: 66 additions & 85 deletions
Large diffs are not rendered by default.

docs/source/modal_tutorials/Modal_03_Multi_DoF_Vibrations/Modal_03_Multi_DoF_Vibrations.ipynb

Lines changed: 44 additions & 44 deletions
Large diffs are not rendered by default.

docs/source/modal_tutorials/Modal_04_Modal_Analysis/Modal_04_Modal_Analysis.ipynb

Lines changed: 67 additions & 49 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)