Giter VIP home page Giter VIP logo

2024-m1-parareal's Introduction

Parareal Algorithm

Project Description

This project focuses on the development and implementation of the parareal algorithm in both sequential and parallel formats. The algorithm will be applied to the Lorenz Model of order 1 and 4, using both constant and adaptive time stepping.

Roadmap

  1. Implement Lorenz Model for order 1 and 4 using constant time stepping.
  2. Implement Lorenz order 4 solver with adaptive time stepping.
  3. Add support for Lorenz results visualisation.
  4. Study scipy.ode with constant and adaptive time stepping.
  5. Study the parareal algorithm.
  6. Implement the initial version of parareal in sequential.
  7. Compare different ode solvers and parareal on the Lorenz system.
  8. Study a parallel version of the parareal algorithm.
  9. Implement the parallel version of the parareal algorithm.

Getting Started

To get started with this project, clone the repository and install the required dependencies.

Prerequisites

  • Python 3.x
  • Scipy
  • Matplotlib (for visualization)
  • mpi4py (for parallelisation)

Installation

  1. Clone the repo
    git clone https://github.com/master-csmi/2024-m1-parareal.git
    

Contributors

2024-m1-parareal's People

Contributors

oussama-floor9 avatar prudhomm avatar zaouache avatar

Watchers

 avatar  avatar

2024-m1-parareal's Issues

Methodology Update for V1

Task: Revise and detail the project methodology for V1, incorporating any necessary adaptations based on the project's progress and initial findings.

Requirements:

  • Review the initial methodology in the context of work completed to date.
  • Identify areas for methodological adjustments or improvements.
  • Document the rationale for any changes in methodology.
  • Ensure the methodology is clearly explained and reproducible.

Deliverables:

  • A detailed methodology document for V1, including any new techniques, tools, or processes introduced.
  • A log of methodological changes and the reasons for each change.

Conduct Technical Review and Code Quality Check for V1

Task: Perform a thorough review of the project’s codebase and technical outputs to ensure high quality and maintainability. Identify areas for refactoring or improvement.

Requirements:

  • Organize a code review session with the development team.
  • Use static analysis tools to identify code quality issues.
  • Document findings and prioritize refactoring tasks.

Deliverables:

  • Code review report, highlighting areas of concern and suggested improvements.
  • A roadmap for addressing technical debt and enhancing code quality.

Update Project Objectives for V1

Task: Review and update the project objectives and sub-objectives based on the first month's progress and insights. Ensure the objectives are aligned with the current project direction and any new challenges identified.

Requirements:

  • Assess the initial objectives against current project status.
  • Adjust objectives to incorporate new findings or shifts in project focus.
  • Clearly document any changes to objectives or sub-objectives.
  • Discuss potential impacts of these changes with the project team.

Deliverables:

  • An updated objectives document highlighting any changes made for V1 iteration.
  • A brief presentation to the project team outlining the objective updates and rationale behind them.

Strengthen Project Documentation for V1

Task: Ensure that all aspects of the project are well-documented, including code, user guides, and technical specifications. Aim to make documentation accessible and useful for both the team and external contributors.

Requirements:

  • Audit existing documentation for completeness and accessibility.
  • Identify gaps in documentation and areas needing updates.
  • Develop templates or guidelines for consistent documentation.

Deliverables:

  • A documentation improvement plan, detailing areas of focus and timelines.
  • Updated or new documentation as identified in the plan.

Gather Feedback

Collect feedback from peers, instructors, and possible stakeholders to reflect on the project's successes and areas for improvement.

Finalize README and Documentation

Task: Update the README file to ensure it is comprehensive, clear, and up-to-date. The README should effectively introduce the project and guide new users and contributors.

Requirements:

  • Include a concise project title and description.
  • Provide clear installation instructions.
  • Detail usage examples or guides.
  • Specify contribution guidelines.
  • State the license information if relevant.
  • Acknowledge contributors and provide credits where necessary.
  • List features, possible roadmap, and current project status.
  • Explain how to run tests.
  • Address frequently asked questions or common issues.
  • Provide contact information for further inquiries.

Deliverables:

  • An updated README.adoc or README.md file that covers all the above sections effectively.
  • Updated documentation files if applicable.

Please ensure the README is formatted properly and is easy to read. Use Asciidoc or Markdown formatting to enhance readability and structure.

Methodology Update for V1

Task: Revise and detail the project methodology for V1, incorporating any necessary adaptations based on the project's progress and initial findings.

Requirements:

  • Review the initial methodology in the context of work completed to date.
  • Identify areas for methodological adjustments or improvements.
  • Document the rationale for any changes in methodology.
  • Ensure the methodology is clearly explained and reproducible.

Deliverables:

  • A detailed methodology document for V1, including any new techniques, tools, or processes introduced.
  • A log of methodological changes and the reasons for each change.

Enhance Collaboration Tools and Practices for V1

Task: Evaluate and improve the tools and practices used by the project team to collaborate more effectively. Consider incorporating new tools or refining existing processes to enhance teamwork and communication.

Requirements:

  • Review current collaboration tools and methods.
  • Gather feedback from the team on effectiveness and areas for improvement.
  • Research potential tools or practices that could enhance collaboration.

Deliverables:

  • A report on current collaboration practices with proposed enhancements.
  • Implementation plan for any new tools or processes adopted.

Bibliography Update for V1

Task: Expand and refine the project bibliography to include any new sources consulted during the first iteration. Ensure all references are accurately cited and formatted.

Requirements:

  • Compile all new sources of information or data used since the last iteration.
  • Check each source for proper citation format and completeness.
  • Organize the bibliography to be clear and easily navigable.

Deliverables:

  • An updated bibliography file with all new sources included.
  • A list highlighting key sources added in V1 and their relevance to the project.

First Results Analysis for V1

Task: Analyze and document the first results obtained from the project's initial research and development activities. Highlight significant findings and any unexpected outcomes.

Requirements:

  • Gather all results and data collected to date.
  • Perform a preliminary analysis to identify trends, insights, or anomalies.
  • Discuss the findings with the project team to gain additional perspectives.
  • Note any areas where results deviate from initial expectations and possible reasons.

Deliverables:

  • A report summarizing the first results, including data visualizations or charts as appropriate.
  • Recommendations for next steps based on these initial findings.

Update Project Roadmap and Milestones for V1

Task: Update the project roadmap and milestones based on the achievements of the first iteration and the refined project scope. Ensure the roadmap reflects realistic timelines and priorities.

Requirements:

  • Review the initial roadmap and milestones in the context of V1 progress.
  • Adjust timelines and priorities as necessary to align with updated project scope and objectives.
  • Communicate updates to the team and stakeholders to ensure alignment.

Deliverables:

  • An updated project roadmap with revised milestones.
  • A presentation or document summarizing key changes to the roadmap and the reasons behind them.

Advisor Code Review

Conduct a Advisor review session to identify any bugs, logical errors, or areas for improvement.

Compose the Comprehensive Final Project Report

Task: Write the final project report detailing the project's context, objectives, methodologies, results, and conclusions. The report should provide a clear and thorough account of the project from inception to conclusion, including a roadmap of the project's development, challenges faced, solutions implemented, and lessons learned.

Requirements:

  • Introduction and background of the project.
  • Detailed descriptions of the project phases and milestones.
  • Analysis of the results and their implications.
  • Reflection on the project's successes and areas for improvement.
  • Integration of the consolidated bibliography.

Deliverables:

  • A final report document in .pdf format(written using latex), of 30 pages maximum.

  • Peer reviews from at least two team members before submission.

  • #4

Consolidate and Finalize the Project Bibliography

Task: Review and consolidate all references and sources used throughout the project into a single, organized bibliography. Ensure that all sources are correctly cited and formatted according to [specific citation style - e.g., APA, MLA, IEEE].

Requirements:

  • Collect all sources used by each team member.
  • Check each citation for accuracy and completeness.
  • Organize the bibliography in alphabetical order or according to the citation style’s requirements.

Deliverables:

  • A final bibliography file in .bib format.

  • A list of any sources missing necessary information for follow-up.

  • #3

Refine Project Scope and Deliverables for V1

Task: Based on the first iteration’s insights and outcomes, refine the project scope and clarify deliverables for the next phase. Ensure alignment with project objectives and stakeholder expectations.

Requirements:

  • Reassess the initial project scope in light of V1 results.
  • Identify any necessary adjustments to project deliverables.
  • Update scope documents and communicate changes to all stakeholders.

Deliverables:

  • Updated project scope document.
  • Revised list of project deliverables for the next phase, with rationale for any changes.

Make the roadmap

make the roadmap for the project

Deliverables:

  • [code] implementation in sequential of the parareal algorithm in python using sundials and scipy
  • [report] report comparing the implementation with other methods for a parameter range and in terms of performances
  • [code] implementation in parallel of parareal using mpi4py
  • [package] a python package
  • [report] study the possibility of use parareal with feel++
  • [code] implement use of parareal with feel++ (if applicable)

Develop and Finalize the Project Presentation

Task: Create the final presentation for the project, covering all major milestones, key findings, challenges overcome, and future directions. Ensure the presentation is engaging, well-structured, and adequately reflects the work done throughout the project.

Requirements:

  • Include all team members in the preparation and presentation process.
  • Use clear and concise slides with relevant data and visuals.
  • Practice the presentation multiple times as a team.
  • Prepare to answer questions regarding the project specifics and decisions made.

Deliverables:

  • A Latex/PDF Slides presentation file.
  • A script or notes for each slide to assist with the presentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.