I have to solve a highly nonlinear parametric system of three PDEs.

I don’t know to which extent the results are trustable. Indeed, the graph shown

by ParametricNDSolve also presents the error message “FindRoot::dfmin: The minimal damping factor of 1/10000 has been reached”. Here is the code.

Any help to fix this code is greatly welcome. Thanks.

```
(* fixed parameters *)
fixed = {Rext -> 1.5, DeltaP -> 1, pin -> 1, ps -> -0.62, Os -> 0.37,
G2 -> 0.53, G3 -> 0.21, cs -> 0.5, phiiniz -> 0.4, c0 -> 0.07,
c1 -> 2.49, c2 -> 1107, c3 -> 1.69, theta -> 310};
(*some auxiliary functions *)
f(xi_, alpha_) := 1/(1 + alpha* xi)
gamma(H_) := -1 + (1 -
H (c0 Exp(c1 H + c2 theta^(-1) Exp(-c3 H))))^(-1)
CapGamma(x_) := x + G2 x^2 + G3 x^3
press(x_) := (pin - ps) - DeltaP *x
(*variable parameters *)
params = {alpha, G, A, T};
(* parametric system of pdes *)
eqns = {D(phi(x, t), x) ==
16 G *f(xi(x, t), alpha) (DeltaP *Log(Rext))^(-1) (
press(x) -
Os (CapGamma(c(x, t) (1 - phi(x, t))^(-1)) - CapGamma(cs)))*
phi(x, t) (1 + gamma(phi(x, t))), phi(0, t) == phiiniz,
D(c(x, t), x) ==
16 G * f(xi(x, t), phi(x, t)) (DeltaP *Log(Rext))^(-1) (
press(x) -
Os (CapGamma(c(x, t) (1 - phi(x, t))^(-1)) - CapGamma(cs)))*
c(x, t) (1 + gamma(phi(x, t))), c(0, t) == 1,
D(xi(x, t), t) ==
G *f(xi(x, t), phi(x, t)) (DeltaP *Log(Rext))^(-1) (
press(x) -
Os (CapGamma(c(x, t) (1 - phi(x, t))^(-1)) - CapGamma(cs)))*
c(x, t) - 0.5*A*DeltaP*xi(x, t), xi(x, 0) == 0} /. fixed;
(*solving *)
sol = ParametricNDSolve(eqns, {phi, c, xi}, {x, 0, 1}, {t, 0, T},
params, MaxSteps -> Infinity);
(*visualization *)
Manipulate(
Plot3D(Evaluate(xi(phi, G, A, T)(x, t) /. sol), {x, 0, 1}, {t, 0, T},
Axes -> True, AxesLabel -> {x, t, xi}, AxesStyle -> Directive(16),
Mesh -> False, PlotRange -> {Full, Full, All}), {phi, 1, 10}, {G, 1,
20}, {A, 1, 20}, {T, 1, 10})
(!(solution)(1))(1)
FindRoot::dfmin: The minimal damping factor of 1/10000 has been reached.
(1): https://i.stack.imgur.com/N0twi.png
```