| title | Modeling and Simulation - Collaboration Guide | ||
|---|---|---|---|
| description | Contributing guide for Modeling and Simulation course content | ||
| tableOfContents | true | ||
| sidebar |
|
Read this course at: https://siliconwit.com/education/modeling-and-simulation/
Build it in simulation before you build it in hardware. Nine complete Python projects covering battery discharge, circuit response, mechanical dynamics, thermal analysis, PID control, sensor fusion, signal processing, Monte Carlo tolerance analysis, and system identification from measured data.
| # | Title |
|---|---|
| 1 | From Equations to Simulations |
| 2 | Simulating Electrical Circuits |
| 3 | Mechanical System Dynamics |
| 4 | Thermal Modeling for Electronics |
| 5 | Control System Design in Simulation |
| 6 | Sensor Fusion and State Estimation |
| 7 | Simulating Signal Processing Pipelines |
| 8 | Monte Carlo Methods for Engineering Decisions |
| 9 | System Identification from Measured Data |
modeling-and-simulation/
├── index.mdx
├── from-equations-to-simulations.mdx
├── simulating-electrical-circuits.mdx
├── mechanical-system-dynamics.mdx
├── thermal-modeling-electronics.mdx
├── control-system-simulation.mdx
├── sensor-fusion-state-estimation.mdx
├── signal-processing-simulation.mdx
├── monte-carlo-engineering-decisions.mdx
├── system-identification-measured-data.mdx
└── README.md
All commands below work on Linux, macOS, and Windows (using Git Bash, PowerShell, or Command Prompt with Git installed).
First time setup (clone the repo once):
git clone https://github.com/SiliconWit/modeling-and-simulation.git
cd modeling-and-simulationEvery time you start working:
git pull origin mainAlways pull before making changes. This avoids conflicts with other contributors.
After making your changes:
git add .
git commit -m "Brief description of what you changed"
git push origin mainIf you get a push error (someone pushed before you):
git pull origin mainGit will merge the changes automatically in most cases. If there is a conflict, Git will mark the conflicting lines in the file. Open the file, choose which version to keep, then:
git add .
git commit -m "Resolve merge conflict"
git push origin mainTips to avoid conflicts:
- Always
git pull origin mainbefore you start working - Push your changes as soon as you are done, do not hold onto uncommitted work for long
- Coordinate with other contributors so two people are not editing the same file at the same time
- Fork the repository: SiliconWit/modeling-and-simulation
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/modeling-and-simulation.git cd modeling-and-simulation - Make your changes and commit:
git add . git commit -m "Brief description of what you changed" git push origin main
- Open a Pull Request against
mainon the original repository - Describe what you changed and why in the PR description
- All lesson files use
.mdxformat - Do not use
<BionicText>in this course - Every lesson contains a complete, runnable Python project
- Code blocks should include a title attribute
- Use ASCII diagrams in
textcode blocks where they help visualize systems - Use Starlight components where appropriate
- All Python code must be testable:
python3 script.pyshould produce output
Clone the main site repository and initialize submodules:
git clone --recurse-submodules <main-repo-url>
cd siliconwit-com
npm install
npm run devThis course content is released under the MIT License.