KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
1.03k stars 245 forks source link

[Iga] Testing behaviour problem #12326

Open roigcarlo opened 6 months ago

roigcarlo commented 6 months ago

Description

Currently almost half of the CPP tests from the IGA depend on a Constitutive law from the Structural app:

[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP3
[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP4
[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP5
[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP3Disp
[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP4Disp
[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP5Disp
[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP4Scordelis
[  SKIPPED ] KratosIgaFastSuite.IgaShell3pElementP5Scordeli

In order to be able to activate those tests again we have three options:

  1. Since tests are not unitest but behaviour check, move the tests to python.
  2. Add a compile time dependency in the testing binary to the structural
  3. Add a compile time dependency in the KratosIgaCore to the Structural app

1 Would be my preferred solution. 2 is currently impossible because both IGA and Structural define the same variables which cause double de-allocations when exiting. 3 Is possible but implies removing the above-mentioned variables and make IGA completely dependent on Structural.

Aside from the design perspective, I have no voice on this topic so please tell me what to do.

Ping @RiccardoRossi, @rickyaristio (i ping you because you are the online people with commits here still active)

rickyaristio commented 6 months ago

We do not intent to make IGA dependent to SMA. I will probably neglect option 3.

So, it seems that the first option is the best at this moment.