Перейти к публикации

Моделирование течения крови в заполненной спиралями аневризме


dolivanov

Рекомендованные сообщения

Здравствуйте.

 

Занимаюсь биомеханикой и решил провести численный эксперимент по расчету течения крови в аневризме, заполненной спиралями. 

 

Основная проблема, с которой столкнулся, это способ построения такой спирали, имеющей сечение круг или что-то подобное, и заполняющей аневризму по типу клубка ниток.

 

Картинки прилагаю. 

 

Делают по-разному и считают тоже разные модели.

 

Хотелось бы потратить как можно меньше времени на построение спирали.

 

 

post-32910-0-15617900-1479212742_thumb.png

post-32910-0-62742200-1479212827.gif

post-32910-0-21266500-1479212881.jpg

post-32910-0-59832400-1479212903_thumb.jpeg

Ссылка на сообщение
Поделиться на других сайтах


Если хотите простоты, то сделайте объем аневризмы полупроницаемым.

Свойства (коэффициенты линейные и квадратичные) придется каким либо образом рассчитать отдельно в зависимости от параметров нити.

Можно отдельно смоделировать течение через такой клубок.

Но зато в целом задачу можно будет решать без подобной сложности

Ссылка на сообщение
Поделиться на других сайтах

Можно отдельно смоделировать течение через такой клубок.

 

И тогда его все равно придется рисовать  :wallbash:

Я обещал поделиться идеей рисования, если Дмитрий-Александр создаст новую тему..

 

Думаю, ТС уже накачал литературы и понял, как народ серьезно относится к моделированию этих спиралей. Пока остается непонятным, насколько серьезно к результатам моделирования относится заказчик и насколько серьезно - исполнитель в лице ТС. А то ведь и совет vl может прокатить вполне. Как предварительный расчет, чтобы было хоть что-нибудь, пока нет детальной модели спирали, следует так и сделать.

 

Ближе к телу.

Мой способ = способ Blurp'a (рисование траектории сплайном) + рисование по точкам из детских книжек ("соедини все точки и получи кошечку").

Только точки в 3д и должны быть такими, чтобы траектория, проходя по одному разу через точку, не пересекала себя и, желательно, чтобы тело даже не касалось себя после вытяжки. Т.е. все точки должны отстоять в пространстве друг от друга хотя бы на величину диаметра спирали.

 

1. Рисуем сферу, мешим тетрой желательно одного размера (>= диаметр спирали)

2. Сохраняем сетку в какой-нибудь текстовый формат, выцепляем оттуда координаты узлов.

3. Импортируем в кад это облако точек, далее используем его в качестве референса.

4. Most exciting part. Выбираем первую точку и терпеливо малюем траекторию, соединяя любые соседние точки.

5. Понятное дело, вытягивание по траектории.

 

Я этот способ попробовал в SW. Соединять точки сплайном крайне неудобно, малейшая ошибка = начинай заново. Поэтому начал соединять линиями, но через 3,5 минуты сдался :flush:

Наверное, можно довести это до ума за пару часов... если ты настоящий индеец.

Выкладываю файл и картинки с моими потугами.

 

 

Вообще виделся алгоритм, когда фактически решается задача обхода точек в пространстве без повторения. Со случайным выбором ближайшей точки. Возможно, с добавлением условия по допустимому сферическому углу поиска ближайшей. Но слишком муторно это делать ради ответа на форуме  :wink:

 

А в литературе еще понавороченней.. Плюс они еще степень заполнения контролируют)

 

595c6001993fd48e065df7df6732793d.png

2b1fccc2aac303b3467c23934856901c.png

Изменено пользователем piden
Ссылка на сообщение
Поделиться на других сайтах

Наверное, можно довести это до ума за пару часов... если ты настоящий индеец.

 

Не выдержал. Поступил как белый человек.

 

 

 

2113b414cd5b73fe0d820365f76dd2dc.png

1cac006764fe710da168a8811ab26c68.png

 

TEST02 SW2014.rar

Изменено пользователем piden
Ссылка на сообщение
Поделиться на других сайтах

ну да,

а теперь пусть ТС строит сетку с погранслоем для такой геометрии

а потом вешается от полной несходимости задачи

Ссылка на сообщение
Поделиться на других сайтах

Проще высчитать как пористую среду. Только с параметрами может случиться затык.

Вообще для интересующихся могу скинуть картинки металлических похожих "сот" (есть спецпроизводство и спецзаводик при Политехе) - сравнить на глаз где дыр больше/меньше.

Ссылка на сообщение
Поделиться на других сайтах
а теперь пусть ТС строит сетку с погранслоем для такой геометрии а потом вешается от полной несходимости задачи

:clap_1:  :clap_1:

Подкапотное пространство давно считал? Видать, уже и не упомнишь, когда... А было хоть?

 

Что, построить показать сетку?  :biggrin: Эти задачи так и решаются в нынешнем мире. Только еще спиральку сначала в эксплисит-коде в полость запихивают по несколько раз. Статистику набирают)

 

aef550c0dfc8a92a7c2983d08d678ed1.png

 

Проще высчитать как пористую среду.
Если хотите простоты, то сделайте объем аневризмы полупроницаемым. Свойства (коэффициенты линейные и квадратичные) придется каким либо образом рассчитать отдельно в зависимости от параметров нити.

У вас, господа, наверняка есть отличный план, как найти эти коэффициенты. Я даже знаю, какими словами он начинается. "Берем справочник гидравлических сопротивлений..."  :rolleyes:

 

Открою секрет: проще вообще ничего не делать)

Ссылка на сообщение
Поделиться на других сайтах

@piden, Ишо бы как-нить без взрыва мозга self-intersection'ы минимизировать. Или оно тут не играет?

Ссылка на сообщение
Поделиться на других сайтах
self-intersection'ы минимизировать

Я старался их избегать по возможности, так что их меньше, чем могло бы быть)

 

Но течение мы рассчитываем не внутри, а вокруг спирали, так что все норм. Даже если б самопересечений не было, в местах касания или очень маленького расстояния между витками нормальный мешер (или юзер) все равно сделает объединение при построении сетки. Жертвуем точностью геометрии ради приемлемого качества и количества элементов сетки)

Ссылка на сообщение
Поделиться на других сайтах

Я старался их избегать по возможности, так что их меньше, чем могло бы быть)

Это видно. Просто думал, может их вообще быть не должно. А раз не очень важно, то что-то довольно близкое к требуемому вполне реально построить по твоему методу. В связи с этим безусловно согласен со спойлером в 8-м посте.

Есть одна темка. Изучаю возможность с внутренностями сферы заколайдиться. :wallbash:

0_d8ef7_d743b7f4_orig.gif

 

Ссылка на сообщение
Поделиться на других сайтах

Да вот и думаю - каким. Инструментарий вроде есть и он внутри все той же любимой софтины. :g:

Ссылка на сообщение
Поделиться на других сайтах

А контакт только с собой? Или и с другими примитивами? С поверхностью возможен?)

 

И можно ли кончик не мышкой перемещать, а задать траекторию по точкам?

Ссылка на сообщение
Поделиться на других сайтах

Спасибо всем, не думал, что так заинтересует задача.

 

Заказчика никакого нет, так для себя решил для интереса, потом может и статья получится какая из всего этого.

Вариант piden мне больше всего понравился, думал сделать примерно так же, но не хотел по точкам тыкать.) Попробую сегодня, может что-то получится.

 

Кстати да, с сеткой придется потом еще повозиться и считать все это сутками с учетом двусторонней связи с упругой частью.

 

Что касается пористой среды - тут неясно, где брать ее параметры. Ведь сравнивать с чем-то нужно будет результаты расчетов.

 

Идея у меня такая - посчитать все это с учетом упругости стенок, потому что большинство стенки в таких задачах со стентами, спиралями и аневризмами не учитывает.

Обычно эту спираль еще и стентом подпирают, с ними тоже проблем полно.

Создал вот такую модель, пока рассчитать не получилось.

 

Со стентом тоже морока была  - сначала сделал его прямым, потом с помощью инструмента "гибкие" в SW согнул. Так как в нем куча вырезов, то все это перестраивалось по несколько минут, хотя компьютер у меня приличный. В итоге пока форма стента мне не нравится, он неплотно прилегает к стенкам и угол входа в дочерний сосуд тоже неверным получился.

post-32910-0-84091700-1479369737_thumb.png

Изменено пользователем dolivanov
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
    • brigval
    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
×
×
  • Создать...