Coursework for PX912 as part of HetSys CDT at the University of Warwick, to perform finite element analysis on a shape, 'T'.
This has been written (pretty much) entirely in Julia so it's pretty quick. Functionality for hyperthreading has also been included to make things even faster, so on most systems, this code is likely to be limited by memory rather than speed.
To install, clone this repository somewhere on your filesystem.
Ensure you have an up to date version of Julia installed, in addition to the following dependencies:
This has been written with the intention of being using through the REPL. Navigate to /src
and open the REPL.
Load the code using include("Main.jl")
. The code can be executed simply by executing finelm()
, where it runs with sane defaults, however there are also several optional arguments:
time
: Boolean option on whether to print timings. Ensure to use with@time finelm(...)
. Default = falsepoints
: Integer option for the number of nodes and elements to use. Default = 2000scalfac
: Float64 option for the scaling factor when visualising the deformation. Default = 1e11interactive
: Integer in range 1:3:1
: Save generated figures without opening interactively.2
: View figures interactively without saving.3
: Both save and view figures interactively.
writefile
: Booleon option for whether to write the program output to a filefilename
: String option for file path of output file. Must point to a file, not directory.figpath
: String option for file path of figures to be saved to. Must point to a directory, not file.
Copyright © 2022, Dylan Morgan