... | ... | @@ -6,7 +6,7 @@ In this page you'll find some ideas for projects to be developed in the context |
|
|
|
|
|
**2022 GSoC Edition Update** In the 2022 GSoC Edition, contributors will have the choice to submit proposals for short (175 hours) or long (350 hours). From most of the ideas you see in this list, projects of both types can be carved out. Contact us in the [Issues](https://public.gitlab.polimi.it/DAER/mbdyn/-/issues) section and we will discuss together how to structure your MBDyn GSoC project!.
|
|
|
|
|
|
**2024 GSoC Edition Update** In the 2024 GSoC Edition, contributors will have even more flexibility in submitting proposals. Projects can be carried out in short (90 hours), intermediate (175 hours) and long (350 hours) versions. As always, from the ideas that you see in this list, projects of all sized can be carved out, so the important thing is that you get in contact with us as soon as possible, in the [Issues](https://public.gitlab.polimi.it/DAER/mbdyn/-/issues) to discuss together how to best structure your proposal.
|
|
|
**2024 GSoC Edition Update** In the 2024 GSoC Edition, contributors will have even more flexibility in submitting proposals. Projects can be carried out in short (90 hours), intermediate (175 hours) and long (350 hours) versions. As you can see from the ideas in this list, projects of all sized can be carved out, so the important thing is that you get in contact with us as soon as possible, in the [Issues](https://public.gitlab.polimi.it/DAER/mbdyn/-/issues) to discuss together how to best structure your proposal.
|
|
|
|
|
|
Furthermore, for the 2024 GSoC edition we completely re-structured the project proposals, learning from past experience.
|
|
|
|
... | ... | @@ -31,10 +31,11 @@ Furthermore, for the 2024 GSoC edition we completely re-structured the project p |
|
|
|
|
|
The [MBDyn Python Preprocessor](https://public.gitlab.polimi.it/DAER/mbdyn/tree/develop/contrib/PythonPreprocessor) is a tool that is currently intended to support and speed up the generation of input files, integrating the standard MBDyn input syntax with Python code. The preprocessor parses an input file searching for Python code wrapped by `#beginpreprocess` and `#endpreprocess` tags, and processes it generating portions of the final input file. See the examples in [contrib/PythonPreprocessor/examples](contrib/PythonPreprocessor/examples).
|
|
|
|
|
|
The aim is to enable the user to write a complete MBDyn model, from scratch, only using Python. The development process can be incremental:
|
|
|
The aim is to enable the user to write a complete MBDyn model, from scratch, only using Python. The development of other preprocessing tools, for example GUI-based, will then be greatly facilitated.
|
|
|
|
|
|
The development process will be incremental:
|
|
|
|
|
|
1. extending the library of entities supported by the Preprocessor to cover all the available entities:
|
|
|
1. extending the library of entities supported by the Preprocessor to cover all the available entities (up to here, this is a **90 hours project**):
|
|
|
- drive callers
|
|
|
- constitutive laws
|
|
|
- drivers
|
... | ... | @@ -43,9 +44,10 @@ The aim is to enable the user to write a complete MBDyn model, from scratch, onl |
|
|
2. adding classes that manage the MBDyn input file blocks defining the general behavior of the model and simulation:
|
|
|
- initial value
|
|
|
- control data
|
|
|
3. adding a class to hold an entire MBDyn Model
|
|
|
|
|
|
The development of other preprocessing tools, for example GUI-based, will then be greatly facilitated.
|
|
|
3. adding a class to hold an entire MBDyn Model (up to here, this is a **175 hours project**)
|
|
|
4. integrating the Python Preprocessor into Blendyn
|
|
|
5. adding special preprocessing procedures for flexible elements (meshing)
|
|
|
6. integrating in the Preprocessor special methods to generate parametric aeroelastic models of rotary-wing aicraft (getting here, will require a full **350 hours project**
|
|
|
|
|
|
NOTE: the work will start from on the existing [MBDyn Python Preprocessor](https://public.gitlab.polimi.it/DAER/mbdyn/tree/develop/contrib/PythonPreprocessor) code and possibly on the code written by [Aditya Baghat](https://gitlab.com/adityabhagat99) during the 2019 Google Summer of Code, that intended to build the groundworks for a FreeCAD GUI preprocessor. The repository holding Adityia code can be found [here](https://gitlab.com/zanoni-mbdyn/mbdynfreecadgui).
|
|
|
|
... | ... | @@ -66,6 +68,10 @@ The module will implement a *super-element*, i.e. an element that will take inpu |
|
|
|
|
|
In their basic form, GAs are extremely simple to implement, therefore the preferred way in this GSoC project will be to develop one from scratch and keep external dependencies to a minimum. Linking of external GA optimization libraries will be considered only after a satisfactory level of functionality is reached with the *in-house* code.
|
|
|
|
|
|
Implementing the baseline GA solver, with the minimum required flexibility to be usable, is a **175 hours** project.
|
|
|
|
|
|
Developing a fully-featured GA solver, plus structuring the module so that also external GA optimization libraries can be linked is a **350 hours project**.
|
|
|
|
|
|
**Category**: [Modeling Capabilities](#modeling-capabilities)\
|
|
|
**Programming Languages**: C++\
|
|
|
**Keywords**: Optimization, Genetic Algorithms\
|
... | ... | @@ -88,9 +94,8 @@ It is simple to use and generates 3D animations that represent the exact model m |
|
|
|
|
|
- only fixed timestep simulation output is currently supported, variable timestep should be allowed also
|
|
|
- support the live plotting of MBDyn signals, for example leveraging the NetCDF output `sync` feature
|
|
|
- support the plotting of signals derived from arbitrary compositions of MBDyn signals (e.g. the sum of two signals)
|
|
|
|
|
|
The last point is the one requiring the largest effort, which is why it has been extrapolated to a [standalone project](#modal-element-visualization). This is to highlight the flexibility we have with the projects: this aspect can be part of a large (350 hours) project, or it can be a standalone mid-sized (175 hours) project.
|
|
|
- support the plotting of signals derived from arbitrary compositions of MBDyn signals (e.g. the sum of two signals) (up to here, this is a **90 hours project**)
|
|
|
- support for the visualization of specific models, like for example aeroelastic models of rotary wing aicraft, biomechanical models of the human body, ecc... (getting here will require **175** or **350** hours, depending on how many possibilities for specific models are introduced)
|
|
|
|
|
|
**Category**: [User Interface](#user-interface)\
|
|
|
**Programming Languages**: Python\
|
... | ... | @@ -107,6 +112,14 @@ MBDyn can output simulation results in [NetCDF](https://www.unidata.ucar.edu/sof |
|
|
|
|
|
The aim of this project is to add the support for binary output to all the missing entities. A vast library of examples can be obtained simply looking at the current implementation for the supported entities.
|
|
|
|
|
|
The roadmap can be the following one:
|
|
|
- complete the binary output of 'standard' elements (e.g. plates are currently missing)
|
|
|
- add the binary output of reference frames
|
|
|
- add the binary output of drives (up to here, this is a **90 hours project**)
|
|
|
- complete the binary output of elements defined in [modules](https://public.gitlab.polimi.it/DAER/mbdyn/-/wikis/home#what-are-run-time-loadable-modules-and-how-do-they-work)
|
|
|
- enable the user to output to NetCDF also solver diagnostics (e.g. residuals, iterations, jacobians) (up to here, this is a **175 hours project**)
|
|
|
|
|
|
|
|
|
**Category**: [Post-process](#post-process)\
|
|
|
**Programming Languages**: C++\
|
|
|
**Keywords**: post-process, NetCDF\
|
... | ... | @@ -125,6 +138,8 @@ The purpose of this project is to add the support to [ZeroMQ](https://zeromq.org |
|
|
|
|
|
The desired output is the implementation of a new `zeromq` `socket type` for the `Stream` `File Driver` and the `Stream Output`, which can allow to set up the desired pattern for the inboard or outboard data flow (Request/Reply, Pub/Sub, Pipeline, etc...)
|
|
|
|
|
|
Depending on the amount of flexibility/implemented features, this project can be scoped at **175 hours** or **350 hours**.
|
|
|
|
|
|
**Category**: [Modeling Capabilities](#modeling-capabilities)\
|
|
|
**Programming Languages**: C/C++\
|
|
|
**Keywords**: Inter-Process Communication, Sockets\
|
... | ... | |