Prao

Joined 26 February 2014
187 bytes removed ,  24 March 2014
no edit summary
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 18: Line 18:


* Which time zone do you live in? Will that change over GSoC duration?
* Which time zone do you live in? Will that change over GSoC duration?
I live in UTC-5 and it's going to be UTC-4 for GSoC duration (daylight saving)
I live in UTC-4 and it's not going change for GSoC duration.


* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC.
* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC.
I am on a flexible schedule but on most days, I code between 14:00 hrs to 06:00 hrs(UTC).
I am on a flexible schedule but on most days, I code between 15:00 hrs to 05:00 hrs(UTC).


== E: Coding experience ==
== E: Coding experience ==
Line 43: Line 43:
My biggest project was to adopt some parts from the old version of FronTier(in C) to a new C++ version. It involved reading a bunch of papers on dynamic subgrid scale modeling (LES turbulence modeling), understanding a big piece of code written by someone else and changing (also adding new features) it to C++, which I didn't know much of until I started working on this project.
My biggest project was to adopt some parts from the old version of FronTier(in C) to a new C++ version. It involved reading a bunch of papers on dynamic subgrid scale modeling (LES turbulence modeling), understanding a big piece of code written by someone else and changing (also adding new features) it to C++, which I didn't know much of until I started working on this project.
The complexity of the code and poor documentation, made it quite challenging to add new pieces of code that worked in sync with the rest of it. It taught me the value of having a clear plan of action before implementation and the importance of testing vigorously. I found it useful at times to discuss certain aspects with more experienced users and refining my thought process.
The complexity of the code and poor documentation, made it quite challenging to add new pieces of code that worked in sync with the rest of it. It taught me the value of having a clear plan of action before implementation and the importance of testing vigorously. I found it useful at times to discuss certain aspects with more experienced users and refining my thought process.
Being in a big team also was a good practice in improving my communication skills.


* Please state the commits and patches you already contributed to Octave.
* Please state the commits and patches you already contributed to Octave.
Line 50: Line 48:
[https://savannah.gnu.org/patch/index.php?8372]
[https://savannah.gnu.org/patch/index.php?8372]
[http://savannah.gnu.org/patch/?8393]
[http://savannah.gnu.org/patch/?8393]
[https://savannah.gnu.org/patch/index.php?8418]


== F: Feeling fine ==
== F: Feeling fine ==
Line 67: Line 66:


* What will make you actively stay in our community after this GSoC is over?
* What will make you actively stay in our community after this GSoC is over?
Octave community does a lot of numerical stuff that I'm interested in. I enjoy code development that centers around math and Octave offers me that. I like the openess and collaboration culture in open-source world. My only regret is waiting this long to get started. I will definitely continue to contribute irrespective of whether I get selected or not.   
Octave community does a lot of numerical stuff that I'm interested in. I enjoy code development that centers around math and Octave offers me that. I like the openness and collaboration culture of open-source world. I will definitely continue to contribute irrespective of whether I get selected or not.   
== O: Only out of interest ==
== O: Only out of interest ==
* Did you ever hear about Octave before?
* Did you ever hear about Octave before?
Line 98: Line 97:


* How autonomous are you when developing?
* How autonomous are you when developing?
I'd say fairly autonoumous. I usually refer to online resources to resolve problems. But I'd say I'm also good at recognizing roadblocks that might need a little nudge in the right direction, especially if there is time constraint.
I'd say fairly autonomous. I usually refer to online resources to resolve problems. But I'm also good at recognizing roadblocks that might need a little nudge in the right direction, especially if there is time constraint.
   
   
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
Line 109: Line 108:


** If yes, what task did you choose? Please describe what part of it you especially want to focus.
** If yes, what task did you choose? Please describe what part of it you especially want to focus.
Yes, I would like to implement the IVBP for parabolic-elliptic PDEs in 1D. Besides being compatible with Matlab's pdepe function, I want to make sure it has comparable performance too.
Yes, I chose to implement the IBVP for parabolic-elliptic PDEs in 1D and improve ode15s. Besides being compatible with Matlab's pdepe function, I want to make sure it has comparable performance too.


* Please provide a rough estimated timeline for your work on the task.
* Please provide a rough estimated timeline for your work on the task.
'''Community bonding period'''<br>
'''Community bonding period'''<br>
I'd like to know the source code and community better by getting more involved in help-forums, IRC, etc. I wouldn't have my research commitments in May and that should help. I'd also like to discuss the frequency and means of communication with my mentor. I have set up a blog to put my weekly/fortnightly progress. Also, I think this project is more math-intensive than coding-intensive, so I could use this time to solidify the theory behind implementation well.  <br>
I'll know the source code and community better by getting more involved in help-forums, IRC, etc. I will discuss the frequency and means of communication with my mentor. I have set up a blog to put my weekly/fortnightly progress. This project is more math-intensive than coding-intensive, so I'll use this time to solidify the theory behind implementation well.  <br>
'''Coding period (tentative schedule)''' <br>
'''Coding period (tentative schedule)''' <br>
'''Overall goal:''' Implement Matlab compatible pdepe function and improve ode15s <br>
'''Overall goal:''' Implement Matlab compatible pdepe function and improve ode15s <br>
'''Midterm goal:''' Implement pdepe for non-singular and singular cases <br>
'''Midterm goal:''' Implement pdepe for non-singular and singular cases <br>
'''Second Half goal:''' Performance analysis of pdepe and improvement of ode15s <br>
'''Second Half goal:''' Performance analysis of pdepe and improvement of ode15s <br>
'''Wish-list:''' Improve ode15i, work on performance of pdepe, wrapper for IDA
'''Wish-list:''' Improve ode15i, work on performance of pdepe, wrapper for IDA <br>
'''Week 1''' Initialization & error catching of input parameters; Start implementing Galerkin for regular case:taking initialization, discretizing and setting up ODE system <br>
'''Week 1''' Initialization & error catching of input parameters; Start implementing Galerkin for regular case:taking initialization, discretizing and setting up ODE system <br>
'''Week 2''' Finish regular Galerkin code <br>
'''Week 2''' Finish regular Galerkin code <br>
Line 124: Line 123:
'''Week 4''' Implement Petrov-Galerkin <br>
'''Week 4''' Implement Petrov-Galerkin <br>
'''Week 5''' Test non-singular cases & coexistence of above two; buffer time for debugging <br>
'''Week 5''' Test non-singular cases & coexistence of above two; buffer time for debugging <br>
'''Week 6/7''' Timing studies, performance analysis, correctional measures<br>
'''Week 6/7''' Timing studies, performance analysis, correctional measures <br>
'''Week 8/9''' Work on improving ode15s implementation and making it Matlab compatible
'''Week 8/9''' Work on improving ode15s implementation and making it Matlab compatible <br>
'''Week 10''' Documentation, clean up/finish <br>
'''Week 10''' Documentation, clean up/finish <br>
'''Week 11''' Buffer time/work on improving pdepe performance/work on ode15i if time allows <br>
'''Week 11''' Buffer time/work on improving pdepe performance/work on ode15i if time allows <br>
'''Week 12''' Wish-list
'''Week 12''' Wish-list <br>
'''Week 13''' Pencil-in time <br>
'''Week 13''' Pencil-in time <br>


21

edits