precice / systemtests

Testing preCICE / solver combinations using Docker
GNU General Public License v3.0
3 stars 4 forks source link

Expanding scope of tests in FEniCS - FEniCS HT tutorial #120

Open IshaanDesai opened 5 years ago

IshaanDesai commented 5 years ago

The tutorial HT/partitioned-heat/fenics-fenics was recently expanded to support two interface types. The following two configurations can now be solved:

  1. Simple linear interface configuration: simple_int_example

  2. Complex circular interface configuration: complex_int_example

Simultaneously fenics-adapter was expanded to support nearest-projection mapping along with nearest-neighbor mapping. This opens the possibility to have multiple tests for the HT/patitioned-heat/fenics-fenics tutorials:

  1. NN mapping with simple interface (non-matching interface)
  2. NP mapping with simple interface (non-matching interface)
  3. NN mapping with simple interface (matching interface)
  4. NP mapping with simple interface (matching interface)
  5. NN mapping with complex interface
  6. NP mapping with complex interface

In both the interface configurations, matching and non-matching meshes can be tested. These tests have the scope to test the two preCICE mapping schemes in a rigorous way. The open question is to which level of detailing should the system tests be designed.

BenjaminRodenberg commented 5 years ago

Another question: Is it worth it? Some details about the cost vs. benefit of these tests:

IshaanDesai commented 5 years ago

As part of the implementation of NP mapping in fenics-adapter a convergence study was conducted for non-matching meshes for the simple linear interface and the complex circular interface. The results were as follows: simple_interface_convergence complex_interface_convergence This shows the benefit side of having tests which will consistently monitor the advantage of NP vs. NN.

BenjaminRodenberg commented 5 years ago

By using a script to start all the possible tests, implementation effort and code addition should be minimal.

The following cross product would be useful:

[matching, non-matching] x [complex, simple] x [NN, NP, RBF?] = 8 (12?) test cases.