Если я понимаю вашу цель, вы хотите иметь две разные "среды" и затем передавать объекты между этими двумя средами?
Это проблематично в Modelica. Modelica предназначена для систем со статической топологией. Под этим я подразумеваю, что все соединения присутствуют в начале симуляции, и никакие соединения не добавляются и не удаляются во время симуляции. Конечно, было бы неплохо иметь больше динамических функций, но если вы добавите слишком много функций / возможностей, все может быстро обескуражить.
Что касается вашей проблемы, вы могли бы иметь класс FreeSpaceInteraction для описания взаимодействия между мячом и объектом FreeSpace и класс NearEarthInteraction для описания взаимодействия между мячом и объектом NearEarth. Затем вы можете получить логический сигнал для обоих, указывающий, который должен быть активным в любой момент времени (в зависимости от расстояния).
Я мог бы разработать пример, если хотите. Очень похожий пример представлен во «Введение в физическое моделирование с помощью Modelica» (если у вас есть копия), который включает в себя планеты и гравитационное притяжение. Существует одна проблема, которая возникает в том, что вы сталкиваетесь с некоторыми комбинаторными проблемами, когда у вас много тел, действующих друг на друга.
Обновление:
Джоэл, Google Книги здесь твой друг. Я выполнил поиск "Modelica gravity Tiller" и нашел эту ссылку . Я надеюсь, что это работает для вас. Если нет, дайте мне знать, и я могу попытаться вставить копию модели здесь.
Рад слышать, что у меня была моя книга ... вот где я получил докторскую степень. Я хотел бы думать, что это было, потому что я был квасцами, но я сомневаюсь в этом.
Ключом к этому является то, что у вас в «FixedSpace» есть «Шар». Это не тот способ, которым я смоделировал это (потому что отношения has-a были бы временными). В орбитальной модели я создаю «солнечную систему», которая имеет кучу «планет», а затем я создаю целую сеть из множества объектов «гравитационного притяжения», соединяющих все со всем. В вашем случае вы можете создать похожий объект типа «силы» и связать его с мячом и каждой средой, а затем попросить его выяснить, как он может вести себя, основываясь на своей позиции. Это, по крайней мере, концептуально, один из способов сделать это.