User:Sudhanshu Dubey/GSOC20/logs

Community Bonding Period (May 4 - June 1, 2020)
8 May: Created the User page and this logs page.

9 May: Segregated modules having multiple examples into single examples. Segregated ccx_cantilever_std and Segregated boxanalysis

10 May: Implemented QTreeWidget in examplesgui to open examples from the GUI. Related commit

11 May: Rebased my femexamples branch onto the FreeCAD:master branch.

12 May: Wrote my GSoC proposal in the FreeCAD wiki.

13 May: Added constraints and meshes category to the Example GUI.

14 May: Added solvers, equations and materials category to the Example GUI.

17 May: Completed hinged beam example.

19 May: Ran some FreeCAD unit tests. The results seem ok but I am not sure.

22 May: Added unit test for transform torque example. Related commit

23 May: Added unit test for hinged beam example. Related commit

24 May: Changed plain mesh to Gmsh mesh in new examples. Related commit

28 May: Changed file names to names from get_information in Example GUI. Related commit

Coding Period (June 1 - July 3, 2020)
1 June: Got electrostatics example. Installing Elmer.

2 June: Installed paraview-opt and mmg3d which are dependencies of elmer. Facing issues installing elmer which are reported in the comments at the AUR repo.

3 June: Trying to install elmerfem-git.

4 June: Installed Elmer by building it from source. Rebuilt FreeCAD to have the latest code.

5 June: Changed plain mesh to Gmsh mesh in all the examples. Tried the manager module.

6 June: Discovered the issue in manager module which was giving the UnboundLocalError. Forum Post

7 June: Added new examples to managers modules and corrected modified examples.

8 June: Integrated manager module with examplesgui. Related commit

10 June: Read the documents related to Electrostatics example given in this forum post

11 June: Created model of the electrostatic example using Part Design and Sketcher workbench.

12 June: Coded the geometry of electrostatic example.

13 June: Added material and mesh to electrostatic example.

14 June: Added constraints to electrostatic example and finished it. But it doesn't run. Commit. Related Forum Post

16 June: Created model of Constraint Section Print example. Related Commit

17 June: Added mesh and constraints to Section Print example. Commit. Getting error while executing.

18 June: Tried to build a simple Electrostatic example, faced same error while solving. Forum Post

19 June: Solved the error by adding 'RelativePermitivity' in material. Completed Electrostatic example. Commit

20 June: Tried adapting thermomech_bimetall for Elmer Solver (Forum Post). Added multibody_analysis example (Commit)

21 June: Added edge_load_calculation example (Commit).

22 June: Created new branch with cleaner history (Forum Post). Added shell thickness in edge_load_calculation example (Commit).

23 June: Added multibody_face_analysis example (Commit). Added new examples to manager module (Commit).

24 June: Rebased with FreeCAD master. Developed a method for manager module to run any example dynamically (Forum Post)

25 June: Rebased and rewrote history. Formatted code to follow flake8 conventions (Commit)

27 June: Corrected input files for transform constraint examples.

30 June: Completed the First Evaluation. Tested new PR.

1 July: Checked new capacitance example, but it crashes when geometry is clicked.

3 July: Added tests for new ccx examples following the improved way of writing tests (Forum Post).

Coding Period (July 4 - July 31, 2020)
4 July: Started working on capacitance example (Commit).

5 July Added VaccumPermittivity in capacitance example. Tested issues with GMSH. Found and removed same name issue in get_information method (Commit)

6 July: Improved ExampleGUI. Started working on Z88 test framework

7 July: Installed Z88 and completed Z88 test framework (Commit). Rebased to latest FreeCAD master (Forum Post).

8 July: Improved examplegui to work with all solvers(Commit). Added else clause to new examples for invalid solvers (Commit)

9 July: Merged new PRs by bernd.

10 July: Changed the example of z88 testing framework to cxx_cantilever_faceload

11 July: Created self weight example (Commit)

12 July: Added z88 warning to prescribeddisplacement example (Commit)

13 July: Tested elmer results with SI units (Forum Post)

14 July: Renamed selfweight example (Forum Post). Tried node loads on the edge load example (Forum Post). Improved elmer solver in bimetall example to give correct results (Forum Post)

16 July: Coded node load example (Commit). Got incorrect results.

17 July: Improved node load and edge load examples to give correct results (Forum Post)

18 July: Discovered issue with FreeCAD-Elmer (Forum Post).

20 July: Wrote tests for z88 examples (Commit)

21 July: Tried to debug hinged beam example (Forum Post). Rebased to get a clean history (Forum Post).

22 July: Discovered non-positive jacobians issue with Gmsh (Forum Post). Added mesh to capacitance two balls example (Forum Post) and more debugging in hinged beam example (Forum Post).

23 July: Added mesh region in capacitance two balls example (Forum Post).

24 July: Corrected electrostatic electricforce example (Forum Post)

25 July: Started working on curved pipe heat flow example (Forum Post)

26 July: Created the cube capacitor example (Forum Post)

27 July: Enhanced examplesgui by implementing setup on double-click, adding wait cursor and sorting on the 2nd level.

28 July: Finished Second Evaluation.

29 July: Added tests for elmer examples (Forum Post)

30 July: Tried to implement drop down icon for solvers in C++ (Forum Post)

31 July: Implemented drop down icons for solver and meshers (Forum Post)

Coding Period (August 1 - August 31, 2020)
4 Aug: Started work on thermomech beam example (Forum Post)

5 Aug: Improved thermomech beam example (Forum Post)

8 Aug: Started working on Laminar flow example (Forum Post)

9 Aug: Corrected Laminar flow example (Forum Post)

11 Aug: Built temperature field example (Forum Post)

13 Aug: Tried temperature field example with a finer mesh but the results did not match with those given in tutorial. (Forum Post)

15 Aug: Modified laminar flow example to include freetextinput for adding custom boundary conditions. (Forum Post)

18 Aug: Found a way to check for Netgen in python. (Forum Post)

21 Aug: Resolved the issue with z88 testing in AppImage. (Forum Post)

22 Aug: Started working on wiki documentation of the project. (Forum Post)

24 Aug: Created final report of this project. (Forum Post)

26 Aug: Completed Final evaluation.

27 Aug: Created FEM Examples wiki page.

30 Aug: Created FEM Example Capacitance Two Balls wiki page.

TODO
&#10003; To segregate modules having multiple examples into single examples.

&#10003; To implement QTreeWidget in examplesgui

&#10003; To categorise examples.

&#10003; To add Solver and material category

&#10003; To complete hinged beam example.

&#10003; To change file names to names from get_information

&#10003; Install Elmer

&#10003; Change plain mesh object of all examples to Gmsh object.

&#10003; Add all examples to managers module and integrate it with the examplesgui.

&#10003; Work on Elmer Electrostatics example

&#10003; Add mutibody_analysis example

&#10003; Add edge_load_calculation example

&#10003; Add mutibody_face_analysis example

&#10003; Complete Constraint Section Print example.

&#10003; Write test cases for new examples

&#10003; Improve ExampleGUI

&#10003; Install Z88

&#10003; Write test framework for z88

&#10003; Make exampleGUI create different solvers when selected from Solver tree.

&#10003; Add self weight example

&#10003; Add edge load example with constraint force node loads

&#10003; Add z88 test for all examples solvable by z88.

&#10003; Add new capacitance two balls example

&#10003; Add cube capacitor example

&#10003; Write test for Electrostatic examples.

&#10003; Add elmer test for thermomech bimetal.


 * Implement drop down icon for solvers and meshers in FEM.


 * Add thermal flow in curved pipe example.


 * Add thermo-mechanical cantilever example.


 * Solve node load issue with Elmer.


 * Look into the non-positive jacobian issue.