An advanced inverse source estimation package for Python
Project description
ForceFinder Inverse Source Estimation
This repository houses ForceFinder, which is a Python project that extends SDynPy (Structural Dynamics Python Libraries) with a comprehensive tool for inverse source estimation (ISE) tasks via frequency response function (FRF) matrix inversion. ForceFinder leverages an object oriented framework, where all the components of the ISE problem (e.g., the FRFs, responses, transformations, etc.) are stored in a so-called "SourcePathReceiver" object.
The main features of ForceFinder are:
- Automated bookkeeping
- Organizes FRF and response DOFs to be consistent for the source estimate
- Manages sample splitting for training and validation response DOFs
- Organizes and applies response and reference transformation matrices, as appropriate
- Ensures consistent abscissa quantities
- Etc.
- Automatic recording keeping for the meta-data related to the inverse problem
- Automatic regularization methods to mitigate overfitting
The SourcePathReceiver object has also been built into a Rattlesnake control law for random vibration control, meaning that the same exact code can be used in offline predictions and online control during a multiple-input/multiple-output (MIMO) vibration test. Note that the control law is included with this package for completeness, but are not imported to the Python environment when ForceFinder is used.
Goals
The ForceFinder project has two main goals:
- Advance the state of the art in ISE via FRF matrix inversion by creating a common framework to implement and review different ISE methods.
- Make it easier for non-expert practitioners to use advanced ISE tools through the creation of a simple object-oriented framework where ISE methods can be used with a simple method call.
Support
Please submit any bugs or feature requests into the Github issue tracker.
Project status
ForceFinder is currently under development and the current version should be treated as an "alpha" release. Breaking changes may be pushed to the develop and main branches without notice.
Installation and Usage
It is suggested that ForceFinder be installed from a GIT repository on the users local machine because the package is in active development may see changes over the coming months. The process for doing this is:
- Clone the ForceFinder repository to your local machine via "Clone with SSH"
- PIP install ForceFinder with the following commands (from the command prompt or terminal):
- cd local_ForceFinder_repository (this is the filepath to the local repository)
- pip install -e . (this will pip install the whole repository, the -e flag lets python know that the package is a git repo so it will see changes as they are made to the repo)
- Use ForceFinder with the following import "import forcefinder as ff"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forcefinder-0.1.1.tar.gz.
File metadata
- Download URL: forcefinder-0.1.1.tar.gz
- Upload date:
- Size: 83.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ef9a04fa3f2d03fe162699891ce866cefdd92d0e26359bd19f4c97bd4093310
|
|
| MD5 |
2cb984d32ec2f878d477df213a9301ae
|
|
| BLAKE2b-256 |
2d24af6a1ca2770cd5ab2f9f930c068330610503d43373d734a42e23a3642529
|
Provenance
The following attestation bundles were made for forcefinder-0.1.1.tar.gz:
Publisher:
publish.yml on sandialabs/forcefinder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
forcefinder-0.1.1.tar.gz -
Subject digest:
5ef9a04fa3f2d03fe162699891ce866cefdd92d0e26359bd19f4c97bd4093310 - Sigstore transparency entry: 737638340
- Sigstore integration time:
-
Permalink:
sandialabs/forcefinder@385df54eff16b9be5ea934d8a04fdc175ca73aab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sandialabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@385df54eff16b9be5ea934d8a04fdc175ca73aab -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file forcefinder-0.1.1-py3-none-any.whl.
File metadata
- Download URL: forcefinder-0.1.1-py3-none-any.whl
- Upload date:
- Size: 85.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb90d085c76a6e277012c59b972bc9028c415aef65f8c7f352b803f6b3690a5c
|
|
| MD5 |
16a212f63f5ed07a2f11024e1966ca24
|
|
| BLAKE2b-256 |
aa1c3bf8533c2d3da2561c8aea09e105a8e62cd9c8b52e32cf4e0253ebf2e681
|
Provenance
The following attestation bundles were made for forcefinder-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on sandialabs/forcefinder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
forcefinder-0.1.1-py3-none-any.whl -
Subject digest:
bb90d085c76a6e277012c59b972bc9028c415aef65f8c7f352b803f6b3690a5c - Sigstore transparency entry: 737638350
- Sigstore integration time:
-
Permalink:
sandialabs/forcefinder@385df54eff16b9be5ea934d8a04fdc175ca73aab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sandialabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@385df54eff16b9be5ea934d8a04fdc175ca73aab -
Trigger Event:
workflow_dispatch
-
Statement type: