IAP GITLAB

SetupEnvironment.hpp interfaces issue

The way SetupEnvironment.hpp is being written and used right now is somehow limiting. In more detail, the current interfaces used look like this:

using EnvironmentInterface =
  IMediumPropertyModel<IMagneticFieldModel<IMediumModel>>; 

This is limiting in many cases and it will be an issue in the near future as it hurts C8's generality. For example, if you want to introduce a refractive index interface you have to first go through SetupEnvironment.hpp and do something like this:

using EnvironmentInterface =
      IRefractiveIndexModel<IMediumPropertyModel<IMagneticFieldModel<IMediumModel>>>;

in order for the environment to be able to compile. Unfortunately, when doing this other parts of C8 that do not use a refractive index interface break down. SetupEnvironment.hpp is also implicitly used in the stack you really have to change SetupEnvironment.hpp file every time you want to use a different interface setup, otherwise the stack simply won't work.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information