[Dune-devel] Draft for GSoC application

Simon Praetorius simon.praetorius at tu-dresden.de
Sat Feb 19 11:37:03 CET 2022


Hi Christoph,

thanks for your effort and work on this already. I was not part of the 
last GSoC application and thus don't know how this work. Do we just 
state that we want to be a mentoring organization and the participants 
think about own project ideas, or do we need to propose ideas and then 
assign these to mentors or... ?

I would have several project ideas that I would like to be finished but 
have no time to do it myself:

1. dune-quadrature: Proposed 2017 to redesign the quadrature rules. In 
the attempt I wanted to implement an independent library that collects 
the latest published quadrature rules, provides a portable and 
high-precision data format and an export utility to generate the 
quadrature code for any library, e.g. for dune-geometry. Additionally, 
the code should be able to increase the quadrature precision, using 
existing values as initial data for a nonlinear solver implemented with 
arbitrary precision arithmetic. Outcome for us: The existing quadrature 
rules are old and outdated. Even for 2d and especially for 3d rules with 
much lower number of points are available. Additionally, the library 
could provide extra information about the location and properties of the 
quadrature points, e.g., all inside the element, or points on the 
boundary or positive/negative weights, or symmetry properties of the 
points...

2. There is a project started by Lukas Keller about Lobatto shape 
function in dune-localfunction that would allow for "arbitrary" high 
polynomial order elements with automatic reorientation of the basis 
functions depending on the orientation of the real element it is bound 
to. Additionally, the basis allows to specify polynomial order on all 
subentities separately. This would give the chance to implement curved 
boundary grids easily, based on the dune-curvedgrid framework, where 
higher-order geometry nodes are located only on the boundary and all 
inner elements are still linear. The implementation is already quiet 
far, but needs cleanup and a finish for the missing 3d geometry types 
Prism and Pyramid. Additionally, an associated global basis in 
dune-functions is started that also needs to be finished.

3. A proper periodic grid-wrapper: There are some old implementation 
that allow to wrap GridParts of dune-fem and also a sketch on a 
meta-grid based on dune-grid, but nothing is finished yet. The idea is 
to have a meta-grid plus some association/geometry-transformation that 
wraps an existing grid and transforms the index-set such that associated 
entities give the same index. For non-parallel grids this is not so 
complicated but technical, but for parallel grids it is not so trivial. 
Either the domain partitioning is controlled to guarantee that 
associated entities are always on the same partition, or a virtual inner 
interface must be established to have communication of these entites in 
a domain-decomposition sense.

4. dune-gmsh: During the development of dune-curvedgrid Florian Stenger 
and I have written a new GMsh reader for the version 4 format. In this 
context there was the idea to implement a reader that can read 
distributed grids including the partitioning information from the gmsh 
files. The file format provides lots of information and we currently 
only read a small subset. Additionally, the encoding of boundary data is 
changed compared to the old format. The project would be about reading 
as much information as possible from the gmsh file format and provide a 
way to construct grids from this. Currently it is possible to construct 
curved grids automatically.

5. ...

I could do a mentoring job.

Currently I'm super busy. That is why I have not answered the last call. 
Thus, if there is no one else and this is too short notice and there 
will be a next GSoC next year, we could also postpone this application 
and have a proper preparation for the next application round.

Best,
Simon


Am 19.02.22 um 00:18 schrieb Christoph Grüninger:
> Hi,
> I am still not fully convinced that we have enough mentors and ideas 
> to make a good GSoC application. But as I promised, I prepared 
> everything for an application. Unfortunately, we have only two days 
> left to apple (deadline February 21).
> What do you think?
>
> Please find attached my answers. If you have any improvements, please 
> share them or send me a private mail. I am also locking for a second 
> org admin. Who wants to do so?
>
> Bye
> Christoph
>
> == Organization Profile ==
>
> If your organization is accepted into Google Summer of Code all of the 
> Profile information on this page will be publicly visible on the 
> program site.
>
> Website URL for Organization
> "https://dune-project.org"
>
> Logo Preview: dune-logo6.png
>
>
> Tagline
> Describe the organization's mission. This is often the only thing a 
> participant will read about your org, be sure to make it clear and 
> concise. 50 characters maximum.
> "C++ lib for solving PDEs with grid-based methods"
>
> Primary Open Source License
> "GNU General Public License version 2 (GPL-2.0)"
>
> What year was your project started?
> "2002"
>
> Link to your source code location
> https://gitlab.dune-project.org/
>
> Organization Categories
> Select which categories fit your organization best. You may select up 
> to 2 categories. This helps GSoC contributors filter the large list of 
> organizations by their interests.
>
> [ ] Data (databases, analytics, visualization, AI/ML, etc)
> [ ] Development tools (version control systems, CICD tools, text 
> editors, issue managers, q/a tools, etc)
> [ ] End user applications
> [ ] Infrastructure and cloud (hardware, software defined 
> infrastructure, cloud native tooling, orchestration and automation, etc)
> [ ] Media (graphics, video, audio, VR, streaming, gaming, content 
> management, etc)
> [ ] Operating systems
> [ ] Programming languages (libraries, package managers, testing tools, 
> etc)
> [x] Science and medicine (healthcare, biotech, life sciences, academic 
> research, etc)
> [ ] Security (tools and frameworks)
> [ ] Social and communications (Blog, chat, forums, wikis, etc)
> [ ] Web (tools and frameworks)
> [ ] Other
>
> Organization Technologies
> Enter up to 5 keywords for the primary specific technologies your 
> organization uses. Examples: Python, Javascript, MySQL, Hadoop, 
> OpenGL, Arduino
>
> [c++]
> [templates]
> [python]
> [cmake]
>
> Organization Topics
> Enter keywords for general topics that describe your organization. 
> Examples: Robotics, Cloud, Graphics, Web, etc. Select up to 5.
>
> [Numerics]
> [scientific computing]
> [hpc]
> [Grid manager]
> [FEM]
>
> Organization Description
> Describe what it is your organization does. This information will also 
> be included in the archive once the program has ended.
>
> "DUNE, the Distributed and Unified Numerics Environment is a modular 
> toolbox for solving partial differential equations (PDEs) with 
> grid-based methods. It supports the easy implementation of methods 
> like Finite Elements (FE), Finite Volumes (FV), and also Finite 
> Differences (FD).
>
> The underlying idea of DUNE is to create slim interfaces allowing an 
> efficient use of legacy and/or new libraries. Modern C++ programming 
> techniques enable very different implementations of the same concept 
> using a common interface at a very low overhead. Thus DUNE ensures 
> efficiency in scientific computations and supports high-performance 
> computing applications."
>
> Contributor Guidance
> Provide your potential contributors with a page containing tips on how 
> to write a successful proposal for your organization. Let them know 
> what you want included, how you want it structured, and how to best 
> get in touch. Examples.
>
> Link for contributor guidance (Wiki, blog, et cetera)
> "https://dune-project.org/dev/gsoc/"
>
>
> Communication Methods
> How do you want potential contributors to interact with your 
> organization? Select methods that your community uses daily as you 
> will receive many inquiries if your org is selected.
>
>
> "Mailing List / Forum": "dune-devel at lists.dune-project.org"
> "Mailing List / Forum": "https://gitlab.dune-project.org/"
>
>
> == Organization Questionnaire ==
>
> Please be thorough in your answers. All fields are required, unless 
> noted otherwise.
>
> = Why does your organization want to participate in Google Summer of 
> Code?=
> "
> * Teach people that are skilled and willing how to contribute to open 
> source. We public share our code and work as a community for almost 20 
> years. Introducing more people into this world is marvelous.
>
> * Being caught in everyday live, it becomes difficult to start new 
> features, try new ideas, or break with old habits. Having a GSoC 
> project leads to a joint effort around the student working on the 
> topic. Our 2016 GSoC project was the nucleus to our Python bindings as 
> we have them today.
>
> * Being part of GSoC increases our visibility within the programming 
> community, might interest new users, and might attract bright students 
> to graduate with our software."
>
>
> = What would your organization consider to be a successful GSoC program?=
> "
> * Be selected as one of the GSoC 2022 organizations.
>
> * During bonding phase, to have a handful of interested students which 
> show some effort to learn about our code base.
>
> * Have at least one promising application from a student we believe in.
>
> * The cherry on the cake would be a successful GSoC, with a happy 
> student, happy mentors, and a future feature we can include. But 
> having the first three points would be enough to consider it a 
> successful GSoC program."
>
> =How will you keep mentors engaged with their GSoC contributors?=
> "
> * Having regular meeting.
>
> * Answering their email that should be sent at least in a to be 
> defined frequency.
>
> * Have regular video calls to bound and build up trust.
>
> * As many of our project members work as faculty in universities, we 
> are used to keep engaged with our mentees."
>
> =How will you keep your GSoC contributors on schedule to complete 
> their projects?=
> "
> If we see they
> * take the wrong routes,
> * that their original has a flaw, o
> * that they are just behind schedule,
> we have to ask them
> * whether they need more or more specific help,
> * to adjust their approach,
> * to discuss with us,
> * or simply to improve their effort (if we feel that lack of effort is 
> a reason)."
>
> =How will you get your GSoC contributors involved in your community 
> during GSoC?=
> "
> * Encourage them to take part in discussions related and unrelated to 
> their project.
> * Not only mentors will provide feedback and answer questions on the 
> mailing list or GitLab discussions.
> * If possible, merge parts of the project as early as possible.
> * Invite GSoC contributors to project activities like developer or 
> user meetings, if they happen during the GSoC time.
> * Some project might lead to a scientific publication, and the GSoC 
> contribution would become one of the authors."
>
> =Anything else we should know? (Optional)=
> ""
>
> =Is your organization part of any government?=
> [ ] Yes
> [x] No
>
> _______________________________________________
> Dune-devel mailing list
> Dune-devel at lists.dune-project.org
> https://lists.dune-project.org/mailman/listinfo/dune-devel

-- 
Dr. Simon Praetorius
Technische Universität Dresden
Institute of Scientific Computing
phone: +49 351 463-34432
mail: simon.praetorius at tu-dresden.de
web: https://tu-dresden.de/mn/math/wir/das-institut/beschaeftigte/simon-praetorius

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5204 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20220219/36296140/attachment-0001.bin>


More information about the Dune-devel mailing list