Postdoc at Umeå University, Sweden
This is the final post in the Google Summer of Code 2021 series, and here I wish to summarize the project. This post is my official submission of my work for the final evaluation. During the summer of code, I wrote five blog posts related to the project which can be found on the my GSoC webpage. Along with the posts, I have also posted the progress report which can be found at the end of the page. I will briefly go through the new features and list all the Pull Requests submitted to the organization’s main repository that contains my contribution. For demonstrating the new features added, I use the following script:
GSoC project update time! So after the first evaluation, I continued working on the project to extend the interpolation algorithm to Raviart-Thomas elements. In this post I will be summarizing how I went about doing that. Before I begin, I want to point you to couple of things. The main GSoC blog page has a list that summarizes my project progress. I figured I should have it in the main page for easy access. You can also find some Gridap.jl code that I wrote during the project. Second are the two other blog posts:
Continuing from where we left off in the previous post, I will explain
how I went about finishing tasks #4 to #6 in the list. Just to recall,
in the previous blog post, I explained how to create the source finite
element space and the FEFunction
. I also covered on how to
create the target mesh. To interpolate the old FEFunction
onto the new
mesh, we need to evaluate the old FEFunction
on the cell dofs of the
new mesh. This can be done using the drivers that I discussed in
the first blog post. Here’s how it went…
It’s time for another GSoC project update. During the last couple of weeks, I have been working on building the method for performing interpolations between different meshes. I will be explaining this task list in detail and finish up by describing where this will eventually lead to. I will also briefly talk about some of the challenges I faced as I was going through the list. There are six tasks in the list, and I have listed them down below:
It’s time for a GSoC project update! May 18 to June 8 in the Google Summer of Code timeline was the community bonding period, where the student spends about a month knowing more about the organization and the community. In the previous post, I spoke about the general application process, converging on a topic for the summer of code. In this short post, I will be talking about what goes on during the bonding period. Note that this can vary between the various organizations in GSoC, for example, differing in the tech that they use for communication etc.
I am excited to share that I will participate in the 2021 edition of the Google Summer of Code (GSoC) with Gridap under the NumFOCUS organization. I will be working with Eric Neiva, Oriol Colomés and Santiago Badia during the program. The topic of my project is A fast finite element interpolator in Gridap.jl. In this short blog post, I will share my experiences writing a proposal for the GSoC project. Feel free to click on the links to read the conversation.
Implementation for evaluating FEFunction
on arbitrary
points. This covers both Lagrange and RT elements.
Extending interpolate_everywhere(::FEFunction, ::FESpace)
for
different ::FEFunction
and ::FESpace
. There are two subtasks
here.
nlsolve
more robust by providing optional
parameters. This is for handling somewhat distorted
elements.FESpaces._cell_vals
to accommodate the new functionality.evaluate
for implementing single point evaluation
for AbstractVector{Monomial{D,T}}
. This was done by Eric
and Alberto. This fixed an error
that I was getting while evaluating RT Functions at
arbitrary points.ReferenceFEs._eval_moment_dof_basis!
to convert the point
value to the respective DOF.Relevant Code:
© 2019- Balaje Kalyanaraman. Hosted on Github pages. Based on the Minimal Theme by orderedlist