EDEM

Материал из Department of Theoretical and Applied Mechanics
Версия от 16:49, 6 сентября 2011; Igor Asonov (обсуждение | вклад) (Новая страница: «EDEM - это СAE (computer-aided engineering) программный пакет с заложенной в него моделью дискретных элеме...»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

EDEM - это СAE (computer-aided engineering) программный пакет с заложенной в него моделью дискретных элементов DEM. Стандартная папка для установки: "Disk":\Program Files\DEM Solutions\EDEM "Version of EDEM"\ В дальнейшем пути файлов будут указываться внутри данной папки. Гид по использованию EDEM'a[1]. Подробнее [2]

Заложенные модели

  1. Hertz-Mindlin (no slip)
  2. Hertz-Mindlin with bonding
  3. Linear Cohesion
  4. Moving Plane

Программирование под EDEM

К EDEM'у можно подключать самостоятельно написанные библиотеки взаимодействий и создания частиц. Программирование данных библиотек осуществляется на языке C++. Всего есть три вида подключаемых библиотек, они же в терминах справки, "User Defined Library" (UDL):

  1. Contact Model (контактная модель взаимодействия, к примеру, взаимодействие Hertz-Mindlin'a);
  2. Particle Body Force (объемные силы и/или дальнодействующие взаимодействия, к примеру, сила тяжести и сила электромагнитного взаимодействия между частицами);
  3. Particle Factory (создание частиц, к примеру, в виде шаров на бильярдном столе).

Для создания UDL необходимо:

  1. начать новый (пустой) проект, создающий на выходе DLL библиотеку (а НЕ ехе-файл);
  2. добавить в проект header'ы соответствующие типу создаваемой библиотеки ([3], page 7);
  3. создать новый класс-наследник, методы которого будут перегружать методы интерфейса, представленного в header'ах

или

  1. начать новый (пустой) проект, создающий на выходе DLL библиотеку (а НЕ ехе-файл);
  2. загрузить в этот проект уже существующий пример UDL;
  3. видоизменить пример.

После компиляции и создания DLL-файла необходимо поместить его в соответствующую папку, указанную в настройках EDEM (Options->File locations...).

Тонкости программирования

  1. у создаваемой библиотеки должна быть та же разрядность, что и у установленной версии EDEM (32bit или 64bit);
  2. у частиц есть два радиуса: физический и контактный; расчет силы (для Contact Models) между частицами происходит тогда и только тогда, когда частицы контактируют (что определяется контактным радиусом);
  3. с помощью встроенных средств создания начальной конфигурации невозможно создать частицы на расстоянии ближе контактного;
  4. библиотека, созданная в debug режиме работает существенно медленнее, чем созданная в release режиме;
  5. примеры UDL для EDEM 2.3 можно сказать с официального сайта (примеры UDL для EDEM 2.2[4]

Ошибки в EDEM

Не воспринимайте код в примерах и вспомогательных библиотеках, как безошибочный. Ошибки могут быть везде, в частности в:

  1. Helpers.h
  2. CBondedParticle.cpp (criterion, torques)

Отладка библиотек

С помощью Visual Studio 2010 (скорее всего верно и для 2007):

  1. скомпилировать библиотеку в режиме debug;
  2. ничего не меняя в исходниках, подключиться к процессу edem.exe (с помощью Attach to process...);
  3. расставить breakpoint'ы и запустить расчет/создание конфигурации.

Литература

  1. EDEM Users Guide (docs\)
  2. EDEM Help (help\EDEM.htm)
  3. EDEM Programming Guide(docs\)
  4. Examples of source files for UDLs (src\Examples\)