Python tutorial for solving 1D Poisson with libCEED and SciPy CG

Aperta
#2,084 3 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
numpy, python

Direzione di ricerca

Start by reading Tutorial 5 and the current Python interface to determine whether it supports the proposed right-hand side, boundary conditions, and SciPy CG integration. The issue does not name specific files or tests, so first locate the tutorial and relevant interface examples. Done means a documented 1D Poisson solve with analytical-solution checks and decreasing error under mesh refinement; clarify feasibility and validation expectations with the maintainers first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

examples Python

Hi libCEED team,

I’m Mounika, a PhD student in Computational Science. I’m exploring a contribution to the Python tutorials and would appreciate your guidance on the usefulness and feasibility of this idea.

So, Tutorial 5 demonstrates creating and applying a 1D Poisson operator. I would like to build on that with a worked example showing how to use the operator to solve a complete boundary-value problem.

The proposed tutorial would:

  1. Solve a 1D Poisson problem with a known analytical solution and homogeneous Dirichlet boundary conditions.
  2. Construct the right-hand side and explain how to impose the boundary conditions.
  3. Wrap the libCEED operator in a SciPy LinearOperator and solve using conjugate gradient.
  4. Check the numerical solution against the analytical solution and demonstrate decreasing error under mesh refinement.

Optionally i would like to explore increasing the polynomial degree.

However, before proceeding, I have a few questions about it; could you please advise on the following?

  • Does the current libCEED Python interface expose all the functionality needed to construct the right-hand side, handle the boundary conditions, and connect the operator to SciPy’s CG solver?
  • Would libCEED, NumPy, and SciPy be sufficient for the numerical implementation, or would additional packages or compiled components be required?
  • Is this a recommended approach for a standalone Python tutorial, or would you suggest a different solver integration?
  • Would this be a useful contribution, and is there any existing or ongoing work that I should build on?

If the approach is suitable, I would be happy to start with a minimal example and develop it into a documented tutorial. I would also appreciate guidance on its preferred location and validation requirements.

Thank you!
Mounika

Lingua principale
C
Stelle
273
Fork
84
Merge medio
1g 15h
PR unite (30g)
21

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CEED/libCEED

Tutte le issue di CEED/libCEED

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.