Skip to content

Commit

Permalink
v2.6
Browse files Browse the repository at this point in the history
  • Loading branch information
TLCFEM committed Nov 6, 2022
1 parent feee18b commit 0a6750c
Show file tree
Hide file tree
Showing 34 changed files with 2,503 additions and 679 deletions.
4 changes: 1 addition & 3 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ build:
- libstdc++6
- libx11-6
- libxcursor1
jobs:
post_system_dependencies:
- wget -q https://github.com/TLCFEM/prebuilds/releases/download/latest/suanPan-2.5.0-1.x86_64.deb
- graphviz
python:
install:
- method: pip
Expand Down
10 changes: 5 additions & 5 deletions docs/Collection/Define/bc.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ grouppenaltybc (1) (2) (3...)
5. The DoF identifier `(2)` takes the following string input: `1`, `2`, `3`, `4`, `5`, `6`, `pinned`, `encastre`
, `xsymm`, `ysymm`, `zsymm` and the corresponding initials `p`, `e`, `x`, `y`, `z`. The names do not actually reflect
their meaning, instead, following DoFs would be restrained when string input is given.
1. `pinned`: 1 2 3
2. `encastre`: 1 2 3 4 5 6
3. `xsymm`: 1 5 6
4. `ysymm`: 2 4 6
5. `zsymm`: 3 4 5
1. `pinned`: 1 2 3
2. `encastre`: 1 2 3 4 5 6
3. `xsymm`: 1 5 6
4. `ysymm`: 2 4 6
5. `zsymm`: 3 4 5
6. The nontrivial Dirichlet boundary condition is treated as displacement load.
36 changes: 36 additions & 0 deletions docs/Collection/Define/element.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@ element <name> <tag> <connected_nodes> <associated_material> <other_specific_par

## Output Types

All elements support record elemental stiffness and mass by tokens `K` and `M`. One can use the following to record
them. The detailed syntax can be seen in [Record](../../Library/Recorder/Recorder.md) page.

```text
hdf5recorder (1) Element K (2...)
hdf5recorder (1) Element M (2...)
# (1) int, unique recorder tag
# (2...) int, element tags that K or M needs to be recorded
```

The matrices are vectorised.

Most elements do not support additional quantities to be recorded. There are some exceptions, however. The
additional ones will be documented in the specific element documentation.

Expand Down Expand Up @@ -66,3 +78,27 @@ accordingly. The new nodal displacement will be dispatched to all active element

From the element's perspective, it is in charge of returning elemental nodal force vector based on given nodal
displacement vector.

### Interaction

The problem domain holds all necessary information for elements to update themselves. Elements do not directly
interacts with global data storage. Rather, them only communicates with the associated nodes and sections/materials.

A complete interaction graph can be seen as follows. For elements themselves, apart from the connected nodes, they
do not share information with any other objects by any means. Some elements may do not even need sections and/or
materials.

``` mermaid
graph LR
A[Domain] -->|update_trial_status| B[Element];
A -->|updaye_trial_status| J[Node];
J -->|get_trial_displacement| B;
B -->|update_trial_status| D[Section];
D -->|update_trial_status| F[Material];
F -->|get_trial_stress| D;
F -->|get_trial_stiffness| D;
D -->|get_trial_resistance| B;
D -->|get_trial_stiffness| B;
B -->|get_trial_resistance| A;
B -->|get_trial_stiffness| A;
```
65 changes: 65 additions & 0 deletions docs/Collection/Process/response_spectrum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# response_spectrum

Compute Response Spectrum of a Given Accelerogram

Minimum version: v2.6

Reference:

1. [https://doi.org/10.1016/S0267-7261(05)80015-6](https://doi.org/10.1016/S0267-7261(05)80015-6)

Please note the following.

1. **Only applies to elastic system.**
2. **Only trivial initial conditions are accounted for.**

## Syntax

### Form A

For accelerogram record stored in single column plain text file. The following syntax can be used.

```text
response_spectrum (1) (2) (3) (4)
# (1) string, file path of the accelerogram file
# (2) string, file path of the period file
# (3) double, sampling interval
# (4) double, damping ratio
```

The accelerogram stores discrete acceleration amplitudes in the first column of the file.

The desired period points where the response spectrum is computed are stored in the first column of the period
file. The period file itself can have multiple columns, but only the first column is used.

As the accelerogram only provides the amplitudes, the sampling interval must be provided as the `(3)` argument.

### Form B

For accelerogram record stored in double column plain text file. The following syntax can be used.

```text
response_spectrum (1) (2) (3)
# (1) string, file path of the accelerogram file
# (2) string, file path of the period file
# (3) double, damping ratio
```

The accelerogram stores the time and acceleration amplitudes in the first and second columns of the file.

The time series _**must**_ be equally spaced.

The desired period points where the response spectrum is computed are stored in the first column of the period
file. The period file itself can have multiple columns, but only the first column is used.

## Remarks

The sampling interval is provided as the `(3)` argument in Form A, and is computed from the time series in Form B.

The same sampling interval is used in Lee's algorithm to compute the response histories. If the provided interval is
large, the response spectra may be inaccurate. One can use the [`upsampling`](upsampling.md) command to process the
accelerogram before using the `response_spectrum` command.

## Example

See [this example](../../Example/Structural/Dynamics/computing-response-spectrum.md).
2 changes: 1 addition & 1 deletion docs/Collection/Process/save.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ The `save` command can be used to save data to disk.
## Syntax

```
save reorder (1)
save recorder (1)
# (1) int, recorder tag
```
56 changes: 56 additions & 0 deletions docs/Collection/Process/sdof_response.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# sdof_response

Compute Response of a Single Degree of Freedom Oscillator to a Given Acceleration Record

Minimum version: v2.6

Reference:

1. [https://doi.org/10.1016/S0267-7261(05)80015-6](https://doi.org/10.1016/S0267-7261(05)80015-6)

Please note the following.

1. **Only applies to elastic system.**
2. **Only trivial initial conditions are accounted for.**

## Syntax

**The frequency of the oscillator is used. Its unit is Hertz (Hz).**

Please note the natural frequency shall **not** be passed to the command. The natural frequency has a unit of radian per
second (rad/s).

### Form A

For accelerogram record stored in single column plain text file. The following syntax can be used.

```text
sdof_response (1) (2) (3) (4)
# (1) string, file path of the accelerogram file
# (2) double, sampling interval
# (3) double, frequency of the system
# (4) double, damping ratio
```

The accelerogram stores discrete acceleration amplitudes in the first column of the file.

As the accelerogram only provides the amplitudes, the sampling interval must be provided as the `(2)` argument.

### Form B

For accelerogram record stored in double column plain text file. The following syntax can be used.

```text
response_spectrum (1) (2) (3)
# (1) string, file path of the accelerogram file
# (2) double, frequency of the system
# (3) double, damping ratio
```

The accelerogram stores the time and acceleration amplitudes in the first and second columns of the file.

The time series _**must**_ be equally spaced.

## Example

See [this example](../../Example/Structural/Dynamics/computing-response-spectrum.md).
4 changes: 2 additions & 2 deletions docs/Collection/Process/set.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,9 +214,9 @@ Welsh-Powell algorithm on large models. To switch, users can use the following c

```
# default to WP algorithm
set color_algorithm WP
set color_model WP
# switch to MIS algorithm
set color_algorithm MIS
set color_model MIS
```

Also, depending on the problem setup, such a coloring may or may not help to improve the performance. If there are not a
Expand Down
32 changes: 32 additions & 0 deletions docs/Collection/Process/upsampling.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# upsampling

Upsample a Given Seismogram

Minimum version: v2.6

## Syntax

```text
upsampling (1) (2) [3]
# (1) string, file path of the seismogram file
# (2) integer, upsampling rate
# [3] string, window type, default: 'Hamming'
```

## Remarks

The seismogram _**must**_ be stored in double column plain text file. The first column stores the time series, and the
second column stores the acceleration amplitudes.

The time series _**must**_ be equally spaced.

The window type can be one of the following:

- Hamming
- Hann
- Blackman
- BlackmanNuttall
- BlackmanHarris
- FlatTop

If the upsampling rate is denoted as $$L$$, the window length is $$8L+1$$.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 0a6750c

Please sign in to comment.