diff --git a/src/Model/Friction/Friction.py b/src/Model/Friction/Friction.py
index 2a138f80e09757bd34ae45d66fb2e41deaba8e12..d49de8f850d91e313ad3e785ca76a0bc2f778596 100644
--- a/src/Model/Friction/Friction.py
+++ b/src/Model/Friction/Friction.py
@@ -209,6 +209,11 @@ class Friction(SQLSubModel):
 
         self._status.modified()
 
+    def contains_kp(self, kp):
+        return (
+            self._begin_kp <= kp <= self._end_kp
+        )
+
     @property
     def begin_strickler(self):
         return self._begin_strickler
diff --git a/src/Solver/RubarBE.py b/src/Solver/RubarBE.py
index 66386c11802944acfadddb189a76880e1ff3560d..2aa67278da97ab0f2b5f2f40f858df70aa7f61cf 100644
--- a/src/Solver/RubarBE.py
+++ b/src/Solver/RubarBE.py
@@ -207,28 +207,65 @@ class RubarBE(CommandLineSolver):
         ) as f:
             for edge in study.river.enable_edges():
                 lm = len(edge) + 1
+                f.write(f"{lm:>13}\n")
 
-                f.write(f"{lm:>13}")
+                for mails in [edge.reach.inter_profiles_kp(),
+                              edge.reach.profiles.get_kp()]:
+                    ind = 0
+                    for mail in mails:
+                        f.write(f"{mail:15.3f}")
 
-                # TMAIL
-                ind = 0
-                for inter in edge.reach.inter_profiles_kp():
-                    f.write(f"{inter:15.3f}")
+                        ind += 1
+                        if ind % 3 == 0:
+                            f.write("\n")
 
-                    ind += 1
-                    if ind % 3 == 0:
+                    if ind % 3 != 0:
                         f.write("\n")
 
-                # New line (if last iteration do not finish with new
-                # line)
-                if ind % 3 != 0:
-                    f.write("\n")
+    def _export_stricklers(self, study, repertory, files, qlog, name="0"):
+        self._export_frot(study, repertory, files, qlog, name="0", version="")
+        self._export_frot(study, repertory, files, qlog, name="0", version="2")
 
-                # XTMAIL
-                ind = 0
-                for profile in edge.reach.profiles:
-                    f.write(f" {profile.kp:15.3f} ")
+    def _export_frot(self, study, repertory, files, qlog, name="0", version=""):
+        if qlog is not None:
+            qlog.put("Export FROT file")
+
+        with open(
+                os.path.join(
+                    repertory, f"frot{version}.{name}"
+                ), "w+"
+        ) as f:
+            for edge in study.river.enable_edges():
+                lm = len(edge) + 1
+                f.write(f"{lm:>6}\n")
+
+                # TODO: Take in consideration begin and end Stricklers
+                f_i = list(
+                    map(
+                        lambda f: (f.begin_kp, f.end_kp, f.begin_strickler),
+                        reach.frictions
+                    )
+                )
+
+                def get_stricklers_from_kp(kp):
+                    return next(
+                        map(
+                            lambda s: (
+                                s[2].medium if version == "2"
+                                else s[2].minor
+                            ),
+                            filter(
+                                lambda f: f.contains_kp(kp), f_i
+                            )
+                        )
+                    )
+
+
+                ind = 1
+                for mail in edge.reach.inter_profiles_kp():
+                    coef = get_stricklers_from_kp(mail)
+
+                    f.write(f"{ind:>6} {coef:>12.5f}")
 
                     ind += 1
-                    if ind % 3 == 0:
-                        f.write("\n")
+                    f.write("\n")