{"id":36443361,"url":"https://github.com/Konstantin8105/sd-old","last_synced_at":"2026-01-11T22:01:25.526Z","repository":{"id":106361566,"uuid":"91441596","full_name":"Konstantin8105/sd-old","owner":"Konstantin8105","description":"FEA for steel structural engineer on golang","archived":true,"fork":false,"pushed_at":"2018-06-25T12:28:07.000Z","size":7057,"stargazers_count":1,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-18T10:09:41.060Z","etag":null,"topics":["fea","finite-element-analysis","finite-elements","golang","truss","truss-solver"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Konstantin8105.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-16T09:39:39.000Z","updated_at":"2024-06-12T16:41:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e12c031-c9e2-4777-ace6-e17b703820a4","html_url":"https://github.com/Konstantin8105/sd-old","commit_stats":null,"previous_names":["konstantin8105/gofea"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Konstantin8105/sd-old","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Konstantin8105%2Fsd-old","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Konstantin8105%2Fsd-old/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Konstantin8105%2Fsd-old/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Konstantin8105%2Fsd-old/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Konstantin8105","download_url":"https://codeload.github.com/Konstantin8105/sd-old/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Konstantin8105%2Fsd-old/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28324835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T18:42:50.174Z","status":"ssl_error","status_checked_at":"2026-01-11T18:39:13.842Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fea","finite-element-analysis","finite-elements","golang","truss","truss-solver"],"created_at":"2026-01-11T22:01:21.926Z","updated_at":"2026-01-11T22:01:25.500Z","avatar_url":"https://github.com/Konstantin8105.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoFea\n\n[![Coverage Status](https://coveralls.io/repos/github/Konstantin8105/GoFea/badge.svg?branch=master)](https://coveralls.io/github/Konstantin8105/GoFea?branch=master)\n[![Build Status](https://travis-ci.org/Konstantin8105/GoFea.svg?branch=master)](https://travis-ci.org/Konstantin8105/GoFea)\n[![Go Report Card](https://goreportcard.com/badge/github.com/Konstantin8105/GoFea)](https://goreportcard.com/report/github.com/Konstantin8105/GoFea)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Konstantin8105/GoFea/blob/master/LICENSE)\n\nFEA for steel structural engineer on golang\n\nSome options:\n* Minimal build configuration\n* Best way is Go native code\n\n### Procedures of workflow\n1. Create new git branch\n2. **WORKING**\n3. Refactoring\n4. Testing, min 90 %\n5. Create pull request\n6. Release\n\n### Procedure of new calcutation type(buckling,...)\n1. Add property of calcuation type in model\n2. Add calculation type algorithm\n3. Testing for calculation type\n4. Create output of new calculation type\nTasks:\n- Linear deformation\n\t- Create load vector\n\t- Create global stiffiner matrix\n\t- Solve system of linear equation\n\t- Calculate global deformation\n\t- Calculate internal deformation\n\t- Calculate internal force\n\t- Reactions in support\n- Nolinear deformation\n- Natural frequency\n- Linear buckling\n- Nolinear buckling\n- Riks method for buckling\n\n### Procedure of new load type(gravity loads)\n1. Create load type in model\n2. Add calculation load type\n3. Testing of new load type\n4. Create output of new calculation type\nTasks:\n- node load\n- gravity load (selfweight)\n- displacement load\n- uniform load. local axe\n- uniform load. global axe\n- trapezoidally uniform load\n- temperature load\n- redirection of load, cheching recursive\n\n### Procedure of new finite element\n1. Create finite element\n2. Testing finite element\n3. Create output of finite element\nTasks:\n- 2d truss finite element\n- 2d beam finite element\n- 2d tension finite element\n- 2d compress finite element\n- 2d gap finite element\n- Pins for 2d beam finite element\n\n### Procedure of new dimension\n- 2d\n\t- 2d point\n\t- 2d support\n- 2d symmetric\n- 3d\n\n---------------------\n\n- [ ] 2d\n\t- [x] point\n\t- [x] support\n\t\t- [x] truss finite element\n\t\t\t- [x] node load\n\t\t\t\t- [x] Linear deformation\n\t\t\t\t\t- [x] Create load vector\n\t\t\t\t\t- [x] Create global stiffiner matrix\n\t\t\t\t\t- [x] Solve system of linear equation\n\t\t\t\t\t- [x] Calculate global deformation\n\t\t\t\t\t- [x] Calculate internal deformation\n\t\t\t\t\t- [x] Calculate internal force\n\t\t\t\t\t- [x] Reactions in support\n\t\t\t\t- [x] Natural frequency\n\t\t\t\t- [ ] Nolinear deformation\n\t\t\t\t- [ ] Nolinear deformation shapes\n\t\t\t\t- [x] Linear buckling\n\t\t\t\t- [ ] Linear buckling shapes\n\t\t\t\t- [ ] Nolinear buckling\n\t\t\t\t- [ ] Nolinear buckling shapes\n\t\t\t\t- [ ] Riks method for buckling\n\t\t\t\t- [ ] Riks method for buckling shapes\n\t\t\t\t- [ ] Natural frequency. Modal mass\n\t\t\t\t- [ ] Natural frequency shapes\n\t\t\t- [ ] gravity load (selfweight)\n\t\t\t- [ ] displacement load\n\t\t\t- [ ] uniform load. local axe\n\t\t\t- [ ] uniform load. global axe\n\t\t\t- [ ] trapezoidally uniform load\n\t\t\t- [ ] temperature load\n\t\t\t- [ ] redirection of load, cheching recursive\n\t\t- [ ] beam finite element\n\t\t- [ ] tension finite element\n\t\t- [ ] compress finite element\n\t\t- [ ] gap finite element\n\t\t- [ ] Pins for beam finite element\n\t\t- [ ] triangle finite element\n- [ ] 2d symmetric\n- [ ] 3d\n- [ ] Create IO input  file format\n- [ ] Create IO output file format\n- [ ] HTML+CSS gui\n\n---------------------\n\nTests for finite elements:\n\n|       | Linear deformation | Nolinear deformation | Natural frequency |Linear buckling | Nolinear buckling |\n| ----- |:------------------:|:--------------------:|:-----------------:|:--------------:|:-----------------:|\n| Algorithm | Done           |                      | Done              | Done           |                   |\n| Truss | Done               |                      | Done              |                |                   |\n| Beam  | Done               |                      | Done              | Done           |                   |\n\n---------------------\n\n**TODO`s**:\n\n- [ ] Fuzzer for good model with different loads(positive, negative)\n- [ ] Fuzzer for change position of part code for good model\n- [ ] Generate testing\n- [ ] Calculation graph\n- [ ] 3D, tables, graphs\n- [ ] UI design https://github.com/Konstantin8105/GoFeaGUI\n* threejs https://threejs.org/\n* http://davidscottlyons.com/threejs/presentations/frontporch14/#slide-0\n* https://threejs.org/editor/\n* https://github.com/mrdoob/three.js/tree/master/editor\n* maybe - polymer from google\n* http://www.qooxdoo.org/\n\n- [ ] Merge models\n- [ ] Stack design, see https://github.com/Konstantin8105/Stack.FEA\n- [ ] Connection design\n\n- [x] add checking - point cannot have same number\n- [ ] Create RPC client-server for fast calculation\n- [ ] working with geometry inside\n- [ ] Parallel linear algebra\n- [ ] Geometry block for geometry operations:\n\t- [ ] rotate of shape\n\t- [ ] Intersection between beams\n\t- [ ] triangulation of regions\n\t- [ ] rotate the geometry\n\t- [ ] add element, point, ...\n\t- [ ] add forces...\n\t- [ ] create combinations\n\t- [ ] Separate finite elements on small elements\n\t- [ ] Perpendicular (point + line)\n\t- [ ] move the geometry\n\t- [ ] copy geometry\n\t- [ ] parallel lines\n- [ ] Database of shapes\n- [ ] Triangulation for user shape\n- [ ] Sparse matrix solver\n\t- [ ] Benchmark tests\n- [ ] Nonlinear property of material. Temperature, corrosion.\n- [ ] Load force in local system coordinate - important for non-linear buckling. [Ko] * Zo + [Go] * Zo = Po and Po is dependence of local point rotation.\n- [ ] Test buckling on tension !!! Important\n- [ ] Add examples of calculation\n- [ ] Contribution rules\n- [ ] Parametric models\n\t- [ ] Automatic tool for truss frames\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKonstantin8105%2Fsd-old","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKonstantin8105%2Fsd-old","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKonstantin8105%2Fsd-old/lists"}