Skip to content

Issues arising from adopting the adapter configuration schema for the Micro Manager #78

Closed

Description

@IshaanDesai

The Micro Manager is configured via a JSON file. To further integrate it into the preCICE ecosystem, I attempted to conform the JSON configuration to the adapter configuration schema. Several challenges arose:

  • The Micro Manager directly accesses the mesh received from the other participants and reads and writes data on it. Since it does not have its own mesh, the notion of an interface is not well-defined. However, having one interface would work.
  • A majority of the Micro Manager settings related to micro problems, adaptive solution strategies, load balancing, etc., would need to go under solver_settings, although the Micro Manager is not a solver but an orchestration tool. A better name would be tool_settings. Additionally, nested objects would need to be allowed under solver_settings to directly bring all Micro Manager settings under it. Not having nested objects would make the Micro Manager configuration difficult to digest.

The main question that comes to mind is whether it would make sense to have a tool configuration schema rather than conforming tool configurations to the adapter schema. I would like to discuss this before making breaking changes to the Micro Manager configuration.

Activity

  1. added
    questionFurther information is requested
    schemaRelated to the adapter config schema
    on Sep 25, 2026
  2. MakisH commented on Sep 25, 2026

    @MakisH
    Member

    For context:

    The basic example given from the documentation:

    {
      "micro_file_names": ["python/micro.py"],
      "coupling_params": {
        "precice_config_file_name": "precice-config.xml",
        "macro_mesh_name": "Macro-Mesh",
        "read_data_names": ["Macro-Scalar", "Macro-Vector"],
        "write_data_names": ["Micro-Scalar", "Micro-Vector"]
      },
      "simulation_params": {
        "micro_dt": 1.0,
        "macro_domain_bounds": [0.0, 1.0, 0.0, 1.0, 0.0, 1.0]
      }
    }

    The Micro Manager directly accesses the mesh received from the other participants and reads and writes data on it. Since it does not have its own mesh, the notion of an interface is not well-defined. However, having one interface would work.

    Why would macro_mesh_name not be the one to use? I don't see the requirement to provide the mesh. This is still the mesh from precice-config.xml that the Micro Manager needs to know about.

    * A majority of the Micro Manager settings related to micro problems, adaptive solution strategies, load balancing, etc., would need to go under `solver_settings`, although the Micro Manager is not a solver but an orchestration tool. A better name would be `tool_settings`.
    

    This has been discussed in #45, implemented in #48, and I understand you could simply write micro_manager:.

    Additionally, nested objects would need to be allowed under solver_settings to directly bring all Micro Manager settings under it. Not having nested objects would make the Micro Manager configuration difficult to digest.

    Not sure if this is allowed at the moment, but I don't see in principle any reason not to allow that. @Logende?

  3. IshaanDesai commented on Sep 26, 2026

    @IshaanDesai
    MemberAuthor

    Why would macro_mesh_name not be the one to use? I don't see the requirement to provide the mesh. This is still the mesh from precice-config.xml that the Micro Manager needs to know about.

    Good point. In that case, having an interface is straightforward.

    I understand you could simply write micro_manager:

    This would be an appropriate header. To the best of my understanding, nested objects are not allowed at the moment. If they are made permissible, then conforming the Micro Manager configuration to the schema would be straightforward.

  4. IshaanDesai commented on Oct 1, 2026

    @IshaanDesai
    MemberAuthor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requestedschemaRelated to the adapter config schema

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions