# Understanding macro\_ddm.idp vs ffddm.idp

**URL:** <https://community.freefem.org/t/understanding-macro-ddm-idp-vs-ffddm-idp/4274>\
**Category:** General Discussion\
**Created:** [May 12, 2026, 6:48am UTC](https://community.freefem.org/t/understanding-macro-ddm-idp-vs-ffddm-idp/4274 "2026-05-12T06:48:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![marc2025](https://avatars.discourse-cdn.com/v4/letter/m/3e96dc/32.png) [@marc2025](https://community.freefem.org/u/marc2025)\
**Post date:** [May 12, 2026, 6:48am UTC](https://community.freefem.org/t/understanding-macro-ddm-idp-vs-ffddm-idp/4274/1 "2026-05-12T06:48:14Z")

</div>

Hello FreeFEM community,

I have two semi-related questions, hopefully it’s alright that I’m asking this in one post. (I can make separate posts if that is preferred.)

I’m building some code using DDM for educational purposes, and I’m currently using the macro\_ddm header file. I want to know if I can extract information such as which Schwarz solver being used (e.g. RAS, ASM, or an iterative method) and the number of iterations needed for the sub-problems to converge?

More generally, what is the difference between the macro\_ddm.idp and ffddm.idp header files? Is it better to use ffddm if I want to get information such as what I’ve asked above?

Thank you in advance!

---

<div class="post-metadata">

**Author:** ![prj](https://avatars.discourse-cdn.com/v4/letter/p/ecae2f/32.png) [@prj](https://community.freefem.org/u/prj)\
**Post date:** [May 12, 2026, 3:34pm UTC](https://community.freefem.org/t/understanding-macro-ddm-idp-vs-ffddm-idp/4274/2 "2026-05-12T15:34:52Z")

</div>

You can use `-ksp_view -sub_ksp_converged_reason` to get all the informations with respect to the solver. `macro_ddm.idp` is used by HPDDM and PETSc, `ffddm.idp` is used by ffddm.

---

<div class="post-metadata">

**Author:** ![marc2025](https://avatars.discourse-cdn.com/v4/letter/m/3e96dc/32.png) [@marc2025](https://community.freefem.org/u/marc2025)\
**Post date:** [May 13, 2026, 5:59am UTC](https://community.freefem.org/t/understanding-macro-ddm-idp-vs-ffddm-idp/4274/3 "2026-05-13T05:59:30Z")

</div>

Thank you very much for your reply!

As a follow-up question, when would you want to use HPDDM/PETSc over ffddm, and vice versa?

---

<div class="post-metadata">

**Author:** ![prj](https://avatars.discourse-cdn.com/v4/letter/p/ecae2f/32.png) [@prj](https://community.freefem.org/u/prj)\
**Post date:** [May 13, 2026, 6:28am UTC](https://community.freefem.org/t/understanding-macro-ddm-idp-vs-ffddm-idp/4274/4 "2026-05-13T06:28:17Z")

</div>

I favor PETSc because it offers the most flexibility and is used in other communities so it’s easier for people who don’t know about FreeFEM to figure out solver options. But I’m a PETSc developer, so my answer is biased.
