-
Check out the problem repository
git clone https://github.com/solidsgroup/EM525-PS08.git -
Change into the problem directory
cd EM525-PS08 -
Use this command to install eigen (optional: you can skip this if you have eigen installed)
make eigen -
Now, compile the code
makeThe code will not compile because there are missing files. These files must be copied as specified below before you can compile.
Copy the following files directly from PS05.
src/Element/LST.Hsrc/Element/CST.Hsrc/Element/Q4.Hsrc/Element/Q9.Hsrc/Model/Isotropic.H
If you do this correctly the code will compile.
Edit the following file
src/Element/Element.H
-
Update the missing code with your code from PS07.
-
Implement the
Stressfunction, which calculates the average stress over the element and returns the corresponding stress tensor as a matrix.
Edit the following file
src/Mesh/Unstructured.H
-
Update the missing code with your code from PS07
-
Complete the implementation of the
Stressfunction, which calculates the stresses for all elements and stores them in a vector. -
Complete the implementation of the
Printfunction to include stress as an ouptut.
The following mesh files are included:
platehole_cst.vtkplatehole_cst_refine1.vtkplatehole_cst_refine2.vtkplatehole_lst.vtkplatehole_lst_refine1.vtkplatehole_lst_refine2.vtkplatehole_q4.vtkplatehole_q4_refine1.vtkplatehole_q4_refine2.vtkplatehole_q9.vtkplatehole_q9_refine1.vtkplatehole_q9_refine2.vtk
(Note: the q9_refine2 may take a little while to run, especially on older computers.)
All meshes have the same geometry, but different elements and differing resolutions. Run the code for each of these meshes, and report the convergence (via a plot) of the solution with respect to average element size and element order.