This program work finewithe Mathematica 11.2, but not with Mathematica 11.3. Why ?
(*Equation reaction diffusion temporelle *)
ClearAll["Global`*"]
Needs["NDSolve`FEM`"]
parisradius = 0.3;
parisdiffusionvalue = 150;
carto = DiscretizeGraphics[
CountryData["France", {"Polygon", "Mercator"}] /.
Polygon[x : {{{_, _} ..} ..}] :> Polygon /@ x];
paris = First@
GeoGridPosition[
GeoPosition[
CityData[Entity["City", {"Paris", "IleDeFrance", "France"}]][
"Coordinates"]], "Mercator"];
bmesh = ToBoundaryMesh[carto, AccuracyGoal -> 1,
"IncludePoints" -> CirclePoints[paris, parisradius, 50]];
mesh = ToElementMesh[bmesh, MaxCellMeasure -> 0.05,
"MeshOrder" -> 0.1];
mesh["Wireframe"];
op = \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(u[t, x, y]\)\) - \!\(
\*SubsuperscriptBox[\(\[Del]\), \({x, y}\), \(2\)]\(u[t, x, y]\)\) +
1.2*u[t, x, y] - 20;
usol = NDSolveValue[{op == 1,
DirichletCondition[u[t, x, y] == 0, Norm[{x, y} - paris] > .6],
DirichletCondition[u[t, x, y] == parisdiffusionvalue,
Norm[{x, y} - paris] < .6], u[0, x, y] == 100},
u, {t, 0, 20}, {x, y} \[Element] mesh]
frames = Table[
Plot3D[usol[t, x, y], {x, y} \[Element] usol["ElementMesh"],
PlotRange -> {0, 160}], {t, 0, 20, 2}];
ListAnimate[frames, SaveDefinitions -> True]
frames = Table[
ContourPlot[usol[t, x, y], {x, y} \[Element] usol["ElementMesh"],
PlotRange -> {0, 160}], {t, 0, 20, 2}];
ListAnimate[frames, SaveDefinitions -> True]
II receive this information :
ToElementMesh::femimq: The element mesh has insufficient quality of -359.763. A quality estimate below 0. may be caused by a wrong ordering of element incidents or self-intersecting elements.
NDSolveValue::femnr: {x,y}\[Element]ImproveBoundaryPosition[<<1>>,NumericalRegion[None,{{-4.79537,9.56036},{45.5126,59.623}}]] is not a valid region specification.
Thanks for your help
A. Dauphine
