Skip to content

Web-based Finite Element Mesh Generator for creating and visualising Finite Element meshes on the web.

Notifications You must be signed in to change notification settings

chubi-x/FiniteViz

Repository files navigation

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.

FiniteViz is able to:

  • Generate multiple Finite Element meshes scalably and effectively,
  • Accurately visualise 3D mesh results received from the server.
  • Horizontally scale based on user load and requirements

FiniteViz was ultimately built to provide an example of a cost-effective and efficient finite element mesh generation tool which could enable students and smaller engineering teams to run their computations without having to purchase proprietary 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 directly modify the source code to generate meshes for different geometries.

Architecture

The system has four major components: A Client module, representing the browser User Interface responsible for visualising mesh data and sending and receiving HTTP requests to a backend, a Computation module built with C++ that generates finite element meshes, the Server module that transfers client mesh data and results to and from the computation module, and a Data module to store in-flight data shared between the server and computation modules.

image image

How it Works

The 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 containing a split mesh.

Example Payload

image

image image

Actual UI

image image

About

Web-based Finite Element Mesh Generator for creating and visualising Finite Element meshes on the web.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published