Articles on Rahul_Joon's Bloghttps://blogs.python-gsoc.orgUpdates on different articles published on Rahul_Joon's BlogenMon, 28 Aug 2023 15:46:12 +0000Final Week: Report and Evaluationhttps://blogs.python-gsoc.org/en/rahul_joons-blog/final-week-report-and-evaluation/<p>As per the GSoC timeline, I concluded my work done so far for PyElastica in a <strong>Final report</strong> <a href="https://gist.github.com/Rahul-JOON/8772eca4aeaebf2e49504c3cadd41a96">here</a>; this report is to be submitted in the contributor's final <strong>evaluation</strong>.</p> <p>On the sideline I worked on the feedback for the PR - <a href="https://github.com/GazzolaLab/PyElastica/pull/294">294</a>.</p> <p><strong>What's Next:</strong></p> <p>The work on the latest PR continues and I might as well work on the rod and sphere contact till the mentors provide review.</p>rahuljoon16@gmail.com (Rahul_Joon)Mon, 28 Aug 2023 15:46:12 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/final-week-report-and-evaluation/Week 12: Coding Period's Final Weekhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-12-coding-period-s-final-week/<p>As the final week of GSoC draws in I attempt to wrap the project up and get it all staged for display/release.</p> <p><strong>Accomplishments this week:</strong></p> <p>After updating the rodmeshcontact branch with the latest code in repo; I pushed the PR for review - <a href="https://github.com/GazzolaLab/PyElastica/pull/294">294</a>.</p> <p><strong>What's Next:</strong></p> <p>I will continue to work on the feedback provided on the above mentioned PR and accordingly proceed forward on to the next issue. I will also be working on my Final Report for the final evaluation.</p>rahuljoon16@gmail.com (Rahul_Joon)Thu, 24 Aug 2023 16:21:47 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-12-coding-period-s-final-week/Week 11: Steady Progression IVhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-11-steady-progression-iv/<p><strong>Accomplishments this week:</strong></p> <p>I looked into my mentor's code for mesh_surface and rod contact named - "ContinuumSnakeTerrain" example and tried to apply the same approach for the new contact module in elastica; I also worked on the rod and sphere contact.</p> <p><strong>What's next:</strong></p> <p>As soon as the first draft is streamlined with repo's code, I will push a PR for the mesh demonstration/example issue.</p>rahuljoon16@gmail.com (Rahul_Joon)Thu, 17 Aug 2023 02:28:30 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-11-steady-progression-iv/Week 10: Steady Progression IIIhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-10-steady-progression-iii/<p><strong>Accomplishments this week:</strong></p> <p>I worked on creating a dummy example for the mesh module demonstration/example in pyelastica. And added a if condition in joiny.py that returns an error if the first system provided is not a rod.</p> <p><strong>What's Next:</strong></p> <p>Will continue on working the example for mesh module and will also try work on the rod and sphere contact.</p>rahuljoon16@gmail.com (Rahul_Joon)Tue, 08 Aug 2023 20:27:33 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-10-steady-progression-iii/Week 9: Back on Track!https://blogs.python-gsoc.org/en/rahul_joons-blog/week-9-back-on-track/<p><strong>Achievements this week:</strong></p> <p>I added the ".obj" file format functioning to the mesh module via PR: <a href="https://github.com/GazzolaLab/PyElastica/pull/283">283</a> that was merged in the update - 0.3.2 branch; I also initiated process on the rod and sphere contact module. Lastly I also looked into minor issues for example: <a href="https://github.com/GazzolaLab/PyElastica/issues/276">276</a>.</p> <p><strong>What's Next:</strong></p> <p>I will work on adding demonstration/example for the mesh module in pyelastica, side by side working on the rod and sphere contact.</p>rahuljoon16@gmail.com (Rahul_Joon)Tue, 01 Aug 2023 14:35:40 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-9-back-on-track/Week 8: Slight Detourhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-8-slight-detour/<p><strong>Accomplishments this week:</strong></p> <p>This week I had my last few End-Sem University examinations; So I didn't really make any significant progress.</p> <p><strong>What's Next:</strong></p> <p>The goals remains the same as the previous week - I will try to add OBJ functioning to the mesh object class and then I can start working on the rod and sphere contact issue.</p>rahuljoon16@gmail.com (Rahul_Joon)Mon, 24 Jul 2023 18:14:43 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-8-slight-detour/Week 7: Steady Progression IIhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-7-steady-progression-ii/<p><strong>Accomplishments this week:</strong></p> <p>I worked on the <a href="https://github.com/GazzolaLab/PyElastica/issues/270">mesh object class</a>, and pushed code for the. The PR: <a href="https://github.com/GazzolaLab/PyElastica/pull/277">277</a> finishes up the remaining mesh attributes and methods, this could close the mesh issue, but more work need to be done, such as adding OBJ file capabilities to the mesh class.</p> <p>Finally, the team met via Zoom call to catch up and plan the next steps.</p> <p><strong>What's Next:</strong></p> <p>I will try to add OBJ functioning to the mesh object class and then I can start working on the rod and sphere contact issue.</p>rahuljoon16@gmail.com (Rahul_Joon)Tue, 18 Jul 2023 01:49:43 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-7-steady-progression-ii/Week 6: Half-Timehttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-6-half-time/<p>As the week draws to a close, I will have finished my half-time stint as a GSoC contributor at PyElastica. It's been a wonderful experience writing professional code for the organization, and I'm looking forward to continuing this project.</p> <p><br> <strong>Accomplishments this week:</strong></p> <p>After adding "k + nu" and "friction" dependent pytests, the issue no. <a href="https://github.com/GazzolaLab/PyElastica/issues/271">271</a>(Authenticating the pytests) was finally closed. I Also pushed mesh class attributes that were merged <a href="https://github.com/GazzolaLab/PyElastica/pull/275">here</a> that brings us to tasks done: 6/11 of the <a href="https://github.com/GazzolaLab/PyElastica/issues/270">mesh object class</a>.</p> <p><strong>What's Next:</strong></p> <p>I will continue to work on the mesh object class and look into fixing issue <a href="https://github.com/GazzolaLab/PyElastica/issues/276">276</a>; this issue appears to be some malfunction in dependencies installation. Furthermore, if feasible, I'll attempt to get started on the rod and sphere contact problem.</p>rahuljoon16@gmail.com (Rahul_Joon)Tue, 11 Jul 2023 10:04:36 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-6-half-time/Week 5: Steady Progressionhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-5-steady-progression/<p><strong>Accomplishments this week:</strong></p> <p>I pushed code for specific "<em>only nu dependent"</em> pytests in the same PR - <a href="https://github.com/GazzolaLab/PyElastica/pull/274">274</a> as solution for requested changes and requested for the review again. Moreover, I also worked on the mesh class and initialized 5/6 attributes for the imported STL mesh.</p> <p><strong>What's Next:</strong></p> <p>I will work on the reviewed feedback from the issue- 274 and design test cases that are k + nu dependent side by side progressing in the mesh class and start with rod and sphere contact issue as soon as possible.</p>rahuljoon16@gmail.com (Rahul_Joon)Thu, 06 Jul 2023 06:52:56 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-5-steady-progression/Week 4: Rectifying mistakes and beginning mesh modulehttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-4-rectifying-mistakes-and-beginning-mesh-module/<p><strong>Accomplishments this week:</strong></p> <p>I reworked all the pytests for contact module and pushed a PR for the same <a href="https://github.com/GazzolaLab/PyElastica/pull/274">#274</a>. Though it still had issues as my mentors pointed out that the rod's attributes arrays had wrong dimensions and suggested better approaches to tackle a test that I later implemented. This helped me in gaining a deeper understanding of the contact module. Other than this, I also started working on the issue no. - <a href="https://github.com/GazzolaLab/PyElastica/issues/270">#270</a> and created a basic mesh importer module.</p> <p><strong>What's Next:</strong></p> <p>I will design more pytests for contact module that tests the functions with non zero 'nu' that is the 'velocity damping coefficient'. I will also keep on working on issues - <a href="https://github.com/GazzolaLab/PyElastica/issues/270">#270</a> and <a href="https://github.com/GazzolaLab/PyElastica/issues/266">#266</a> on the side.</p>rahuljoon16@gmail.com (Rahul_Joon)Tue, 27 Jun 2023 19:43:01 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-4-rectifying-mistakes-and-beginning-mesh-module/Week 3: Testing Pyvistahttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-3-testing-pyvista/<p><strong>Accomplishments this week:</strong></p> <p>My mentor detected a mistake in the previous PR I provided, so I pushed one PR - <a href="https://github.com/GazzolaLab/PyElastica/pull/269">269</a> which addressed the pytest argument problem. Aside from that, I tried Pyvista as a viable STL manipulation Python library.</p> <p>The team convened on Zoom to discuss next steps, and various tasks were assigned.</p> <p><strong>What's Next:</strong></p> <p>First and foremost, I will correct my error (issue - <a href="https://github.com/GazzolaLab/PyElastica/issues/271">271</a>) of having the pytests compare the result values to the kernel outputs of the same function; rather, they should be compared to manually crafted/analytically validated values. Moving forward, I will work on extending the contact module to sphere and rod (issue - <a href="https://github.com/GazzolaLab/PyElastica/issues/266">266</a>) while also working on'meshclass'(issue - <a href="https://github.com/GazzolaLab/PyElastica/issues/270">270</a>).</p>rahuljoon16@gmail.com (Rahul_Joon)Wed, 21 Jun 2023 17:49:26 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-3-testing-pyvista/Week 2 : Finishing first issue and Researchhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-2-finishing-first-issue-and-research/<p><strong>Accomplishments this week:</strong></p> <p>I pushed two PR's - <a href="https://github.com/GazzolaLab/PyElastica/pull/267">267</a>, <a href="https://github.com/GazzolaLab/PyElastica/pull/262">262</a> that resolved and closed the issue 99. I also looked into possible mesh manipulation Python packages.</p> <p>The team also held a Zoom discussion to narrow down the mesh manipulation tool options.</p> <p><strong>What's next:</strong></p> <p>I'll write a Python class to import stl and obj files into Pyelastica geometry and attempt to help with the issue-266.</p>rahuljoon16@gmail.com (Rahul_Joon)Tue, 13 Jun 2023 05:23:41 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-2-finishing-first-issue-and-research/Week 1 : Strategizing and Idea Evaluationhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-1-strategizing-and-idea-evaluation/<p>The coding phase began this week, and the team held another meeting to strategize the development.</p> <p><strong>Accomplishments this week:</strong></p> <p>I drafted another PR regarding issue no. - 99, <a href="https://github.com/GazzolaLab/PyElastica/pull/261">261</a>, with which the specific functions unit tests are now complete. I also learned about code coverage using Codevec, as my mentor helped me identify that even though the test was written correctly, it was not testing all of the relevant code sections due to the arguments; this issue was eventually resolved.</p> <p>The team also met via Zoom to discuss the ground implementation (what and how) of the contact module.</p> <p><strong>What's next:</strong></p> <p>I will continue to work on the issue 99 and finish it positively by this week; other than this I will be researching to find the best python - stl/mesh modulation packages for contact module implementation.</p>rahuljoon16@gmail.com (Rahul_Joon)Tue, 06 Jun 2023 16:28:46 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-1-strategizing-and-idea-evaluation/Week 0 : Community Bonding Periodhttps://blogs.python-gsoc.org/en/rahul_joons-blog/week-0-community-bonding-period/<p>According to the GSoC'23 official timeline, today marks the end of the community bonding period and the start of the coding period.</p> <p><strong>During the community bonding phase, I accomplished the following:</strong></p> <p>I found the community bonding phase to be quite reassuring as I got to know the community and the PyElastica staff better. We had a zoom call, and interacting with the team was extremely exciting; we introduced ourselves and discussed the flow of things; it was decided to keep the pace as convenient as possible, and a communication medium was chosen.</p> <p>I was entrusted with completing the <a href="https://github.com/GazzolaLab/PyElastica/issues/99">#99-unit tests for contact module</a>. This is designed to help me understand the contact module implementation in pyelastica - numba.</p> <p>I drafted 2 PR's for the same, which were merged #257 and #258.</p> <p> </p> <p><strong>What is next:</strong></p> <p>I will continue to work on the issue - 99 as the task 3 and 4 are still unfinished.</p> <p> </p> <p><strong>Challenges I faced:</strong></p> <p>There were no out-of-the-box issues for me, but manual debugging of the test cases took a long time because I was unfamiliar with the input structure of the functions.</p>rahuljoon16@gmail.com (Rahul_Joon)Mon, 29 May 2023 18:17:33 +0000https://blogs.python-gsoc.org/en/rahul_joons-blog/week-0-community-bonding-period/