{"id":20163550,"url":"https://github.com/chubi-x/finiteviz","last_synced_at":"2026-04-08T23:34:19.747Z","repository":{"id":193139914,"uuid":"659805268","full_name":"chubi-x/FiniteViz","owner":"chubi-x","description":"Web-based Finite Element Mesh Generator for creating and visualising Finite Element meshes on the web.","archived":false,"fork":false,"pushed_at":"2025-09-01T20:06:27.000Z","size":1220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-27T23:41:28.850Z","etag":null,"topics":["docker","flask","rabbitmq","reactjs","redis","threejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chubi-x.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-06-28T15:41:00.000Z","updated_at":"2025-09-01T20:06:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"839e1e39-f3a8-4e38-8f60-faf9f6300412","html_url":"https://github.com/chubi-x/FiniteViz","commit_stats":null,"previous_names":["chubi-x/finiteviz"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chubi-x/FiniteViz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubi-x%2FFiniteViz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubi-x%2FFiniteViz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubi-x%2FFiniteViz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubi-x%2FFiniteViz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chubi-x","download_url":"https://codeload.github.com/chubi-x/FiniteViz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubi-x%2FFiniteViz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31579056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["docker","flask","rabbitmq","reactjs","redis","threejs"],"created_at":"2024-11-14T00:30:07.963Z","updated_at":"2026-04-08T23:34:19.709Z","avatar_url":"https://github.com/chubi-x.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"I built FiniteViz, a Web-Based Finite Element 3D Mesh Generator/Viewer, for my Msc Advanced Computer Science dissertation. FiniteViz is a microservices-based web application that efficiently sends and receives mesh data to and from C++ computation environment through a flask REST API and visualises said data on the client using Three.js.\n\nFiniteViz is able to:\n\n*  Generate multiple Finite Element meshes scalably and\neffectively,\n*  Accurately visualise 3D mesh results received from the server.\n*  Horizontally scale based on user load and requirements\n\nFiniteViz was ultimately built to provide an example of a cost-effective\nand efficient finite element mesh generation tool which could enable students and\nsmaller engineering teams to run their computations without having to purchase\nproprietary software licenses. My supervisor provided me with proprietary C++ mesh generation code, which I refactored and integrated into the architecture described below. Before integration, a user would have needed to\ndirectly modify the source code to generate meshes for different geometries.\n\n## Architecture\n\nThe system has four major components: A Client module, representing the browser User Interface responsible for visualising mesh data and sending\nand receiving HTTP requests to a backend, a Computation module built with C++\nthat generates finite element meshes, the Server module that transfers client mesh data and results to and from the computation\nmodule, and a Data module to store in-flight data shared between the server and\ncomputation modules. \n\n![image](https://github.com/user-attachments/assets/21f3bf09-fb90-4e11-bed3-112d6271d055)\n![image](https://github.com/user-attachments/assets/5917ed76-c76e-488b-b94c-73ea10b99ec1)\n\n### How it Works\n\nThe client would send a payload to the server which contains a representation of a base mesh, including x,y,z coordinates, number of elemements, and how to split the elements, and would received a response \ncontaining a split mesh. \n### Example Payload\n```json\n\n{\n  \"coordinates\": [\n    [0.0, 0.0],\n    [1.0, 0.0],\n    [1.0, 1.0],\n    [0.0, 1.0],\n    [2.0, 0.0],\n    [2.0, 2.0],\n    [0.0, 2.0]\n  ],\n  \"splitting\": [\n    [1, 2, 3],\n    [1, 3, 3],\n    [1, 4, 3]\n  ],\n  \"elements\": [\n    [1, 2, 5, 4],\n    [2, 3, 6, 5],\n    [5, 6, 7, 4]\n  ]\n}\n```\n\n![image](https://github.com/user-attachments/assets/155fe733-fe87-427f-b95e-ebcf6b1ff2d4)\nAfter running the generator:\n![image](https://github.com/user-attachments/assets/2a42e21f-a7f8-467a-b849-78fff2955168)\n\n#### Actual UI\n![image](https://github.com/user-attachments/assets/c649ffd4-1b21-45ad-bc0f-1a9a98ab8576)\n![image](https://github.com/user-attachments/assets/e106dd2f-a27c-48b4-81be-d7ea5efcb00c)\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchubi-x%2Ffiniteviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchubi-x%2Ffiniteviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchubi-x%2Ffiniteviz/lists"}