gabriele-ferrero / Titans_TT_codecomparison

A code comparison study between 3 different Tritium transport codes for the TITANS project
MIT License
0 stars 1 forks source link

Can't run TDS_EUROFER_festim notebook #11

Closed RemDelaporteMathurin closed 1 month ago

RemDelaporteMathurin commented 1 month ago

I'm trying to run TDS_EUROFER_festim.ipynb and the solver doesn't converge at the end of the simulation:

Calling FFC just-in-time (JIT) compiler, this may take some time.
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
97.0 %        4.8e+04 s    Ellapsed time so far: 106.7 s
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[6], [line 2](vscode-notebook-cell:?execution_count=6&line=2)
      [1](vscode-notebook-cell:?execution_count=6&line=1) my_model.initialise()
----> [2](vscode-notebook-cell:?execution_count=6&line=2) my_model.run()

File ~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:289, in Simulation.run(self, completion_tone)
    [286](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:286) self.timer = Timer()  # start timer
    [288](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:288) if self.settings.transient:
--> [289](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:289)     self.run_transient()
    [290](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:290) else:
    [291](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:291)     self.run_steady()

File ~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:310, in Simulation.run_transient(self)
    [306](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:306) print("Time stepping...")
    [307](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:307) while self.t < self.settings.final_time and not np.isclose(
    [308](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:308)     self.t, self.settings.final_time
    [309](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:309) ):
--> [310](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:310)     self.iterate()

File ~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:338, in Simulation.iterate(self)
    [336](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:336) self.T.update(self.t)
    [337](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:337) # update H problem
--> [338](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:338) self.h_transport_problem.update(self.t, self.dt)
    [340](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:340) # Display time
    [341](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/generic_simulation.py:341) self.display_time()

File ~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/h_transport_problem.py:252, in HTransportProblem.update(self, t, dt)
    [250](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/h_transport_problem.py:250)     nb_it, converged = self.solve_once()
    [251](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/h_transport_problem.py:251)     if dt.adaptive_stepsize is not None or dt.milestones is not None:
--> [252](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/h_transport_problem.py:252)         dt.adapt(t, nb_it, converged)
    [254](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/h_transport_problem.py:254) # Update previous solutions
    [255](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/h_transport_problem.py:255) self.update_previous_solutions()

File ~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/stepsize.py:83, in Stepsize.adapt(self, t, nb_it, converged)
     [81](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/stepsize.py:81)     self.value.assign(float(self.value) / change_ratio)
     [82](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/stepsize.py:82)     if float(self.value) < dt_min:
---> [83](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/stepsize.py:83)         raise ValueError("stepsize reached minimal value")
     [84](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/stepsize.py:84) if nb_it < 5:
     [85](https://vscode-remote+wsl-002bubuntu.vscode-resource.vscode-cdn.net/home/remidm/Titans_TT_codecomparison/Festim%20models/Jupyter_notebooks/~/miniconda3/envs/titans-tt-env/lib/python3.11/site-packages/festim/stepsize.py:85)     self.value.assign(float(self.value) * change_ratio)

ValueError: stepsize reached minimal value

Ran in this environment:

name: titans-tt-env
channels:
  - conda-forge
  - defaults
dependencies:
  - fenics
  - matplotlib
  - ipykernel
  - pandas
  - scipy
  - numpy<1.25
  - pip
  - pip:
      - festim==1.1.1
RemDelaporteMathurin commented 1 month ago

The python script Festim models/TDS_EUROFER_festim.py runs fine though.

gabriele-ferrero commented 1 month ago

It is a matter of tolerance, I am testing the tolerance from the script in the jupyter. the push is ready, just manually testing right now