dolivanov

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

46 сообщений в этой теме

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

 

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

 

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

 

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

 

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

 

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

 

 

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
2 пользователям понравилось это

Поделиться сообщением


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

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

 

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

 

 

 

2113b414cd5b73fe0d820365f76dd2dc.png

1cac006764fe710da168a8811ab26c68.png

 

TEST02 SW2014.rar

Изменено пользователем piden
2 пользователям понравилось это

Поделиться сообщением


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

Cool! :clap_1:

Значит все-таки CAD?

Поделиться сообщением


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

ну да,

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

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

Поделиться сообщением


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

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

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

Поделиться сообщением


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

:clap_1:  :clap_1:

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

 

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

 

aef550c0dfc8a92a7c2983d08d678ed1.png

 

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

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

 

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

 

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

Поделиться сообщением


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

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

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

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

0_d8ef7_d743b7f4_orig.gif

 

1 пользователю понравилось это

Поделиться сообщением


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

Ого, круто! Каким образом?

Поделиться сообщением


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

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

Поделиться сообщением


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

В 3д тоже можно? Или только на плоскости?

Поделиться сообщением


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

Вроде как

0_d8ef8_57c2eb06_orig.gif

Поделиться сообщением


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

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

 

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

Поделиться сообщением


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

С жестким коллайдом разбираюсь.

0_d8ef9_e9075db4_orig.gif

1 пользователю понравилось это

Поделиться сообщением


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

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

 

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

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

 

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

 

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

 

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

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

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

 

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

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

Изменено пользователем dolivanov

Поделиться сообщением


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

И будет предположение, что спираль, находясь в скрученном состоянии, не будет иметь остаточных напряжений после скручивания? :wink:

 

Вечером напишу еще комментарии.

 

Дмитрий (или Александр..), освещайте тут свой прогресс. Это очень интересная тема. Может даже самой интересной за последнее время оказаться)

Изменено пользователем piden

Поделиться сообщением


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

Если веревку "уронить" в объём?

Возможно такое?

2 пользователям понравилось это

Поделиться сообщением


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

И будет предположение, что спираль, находясь в скрученном состоянии, не будет иметь остаточных напряжений после скручивания? :wink:

 

Вечером напишу еще комментарии.

 

Дмитрий (или Александр..), освещайте тут свой прогресс. Это очень интересная тема. Может даже самой интересной за последнее время оказаться)

Это Дмитрий.)

 

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

 

Если интересно, то вот наша последняя статья по теме http://www.actabio.pwr.wroc.pl/Vol18No2/2.pdf

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Если веревку "уронить" в объём? Возможно такое?

Попробуй  :wink:

Если все контакты нормально посчитаются, может и сработать. Но в случае с солидом тут большое "если"..

 

Это Дмитрий.)   ....  Если интересно, то вот наша последняя статья по теме

Да, я подозревал) Александр не такой активный.

 

Спасибо за статью! Вечером скину литературу, которую нашел по этому вопросу.

 

Это очень амбициозная задача. Я еще не видел статью, где описывался FSI подход к данной проблеме. Вы же отдаете себе отчет, что придется находить свойства стенки, делать постоянный ремешинг на сложной геометрии.. Я не отговариваю, я восхищен желанием сделать что-то сложное)

 

В любом случае, полагаю, одной из первых ступеней (после пористого тела  :wink: ) будет обычная CFD задача с абсолютно жесткими спиралью и стенкой.

Вместо FSI я бы попробовал решение в ALE постановке в абакусе или дайне. Оно может быть проще, чем FSI. Главным образом из-за ремешинга)

Ну или в FSI попробовать только mesh deformation. Просто, поправьте, если я не прав, но Вы раньше не делали ремешинг на геометрии, которая меняет свое положение.

Поделиться сообщением


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

Если веревку "уронить" в объём?

....

Это что-то Очевидное-Невероятное!

Это для какой версии SW? На каком компе?

Поделиться сообщением


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

Попробуй  :wink:

Если все контакты нормально посчитаются, может и сработать. Но в случае с солидом тут большое "если"..

 

 

 

Да, я подозревал) Александр не такой активный.

 

Спасибо за статью! Вечером скину литературу, которую нашел по этому вопросу.

 

Это очень амбициозная задача. Я еще не видел статью, где описывался FSI подход к данной проблеме. Вы же отдаете себе отчет, что придется находить свойства стенки, делать постоянный ремешинг на сложной геометрии.. Я не отговариваю, я восхищен желанием сделать что-то сложное)

 

В любом случае, полагаю, одной из первых ступеней (после пористого тела  :wink: ) будет обычная CFD задача с абсолютно жесткими спиралью и стенкой.

Вместо FSI я бы попробовал решение в ALE постановке в абакусе или дайне. Оно может быть проще, чем FSI. Главным образом из-за ремешинга)

Ну или в FSI попробовать только mesh deformation. Просто, поправьте, если я не прав, но Вы раньше не делали ремешинг на геометрии, которая меняет свое положение.

Ремешинг тут не нужен, все прекрасно считается и без него. Перемещения и деформации небольшие.

 

Все давно считают в FSI в разных пакетах, мы раньше Comsol пользовались.

 

Сейчас в Ансисе все делаем. 

 

Свойства стенок есть в литературе, мы и свои натурные эксперименты раньше проводили на трупном материале. Конечно, все эти свойства далеки от реальности, тем не менее, с клиникой сходимость есть приличная.

Поделиться сообщением


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

Piden, а как вы облако точек в SW импортировали?

Видимо, это совсем глупый вопрос.))

Я совсем уже умаялся, так и не нашел способа. Кривая по точкам - пожалуйста, а просто точки из файла, не нашел способа.

Поделиться сообщением


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

Видимо, это совсем глупый вопрос.))

 

Нет, совсем не глупый.

 

Нашел макрос.

Потом на его основе сделал макрос, который в 3д эскизе линии строит по заданным точкам. А то вручную делать - застрелиться хочется, когда SpaceNavigator'a нет.

 

macros.rar

Изменено пользователем piden

Поделиться сообщением


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

ребята,

в таком виде (моделировать всю спиральку, моделировать упругие стенки, упругую спиральку и прочее) это уже не задача ansys cfx

здесь уже добро пожаловать в LS-Dyna и ALE. 

и там никаких проблем  с сеткой иметь не будете, и все достаточно безхитростно, просто и понятно

это правильный путь при таком усложнении постановки задачи

Поделиться сообщением


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

vl, причем тут Ls-DYna? Надо решить задачу о течении крови, просто область течения довольно сложная получается.

 

piden, спасибо. Получилось, теперь думаю, что с этим дальше делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
здесь уже добро пожаловать в LS-Dyna и ALE. 

vl, скажи, бывает такое, что ты читаешь предыдущие сообщения из топика?

Поделиться сообщением


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

Это очень амбициозная задача. Я еще не видел статью, где описывался FSI подход к данной проблеме. Вы же отдаете себе отчет, что придется находить свойства стенки, делать постоянный ремешинг на сложной геометрии.. Я не отговариваю, я восхищен желанием сделать что-то сложное)

 

По идее стенки находятся в уравновешенном состоянии и введение проволоки приведет к перераспределению давления, по которому можно отдельно получить новую форму аневризмы.

 

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

Причем можно посчитать в динамике по ходу подачи проволоки в аневризму.

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

Изменено пользователем a_schelyaev

Поделиться сообщением


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

vl, причем тут Ls-DYna? Надо решить задачу о течении крови, просто область течения довольно сложная получается.

 

 

притом, что выше написано про желаение моделировать упругие стенки, плюс сложная область течения

задача 2х стороннего FSI,  да еще в сложной и меняющейся области  - это LS-Dyna

Надеюсь, вы не считаете, что LS-Dyna только для краша?

Просто если сейчас сделаете такую модель, вложитесь, то потом проще будет ее развивать на другие подзадачи

 

vl, скажи, бывает такое, что ты читаешь предыдущие сообщения из топика?
 

вот конкретно в данном случае так и случилось )).

Прочитал, вижу, что народ пошел уже в дебри, в которых уже другие подходы нужны

 

ага, увидел. Ну уж больно много написано, глаз замылился ))

а с другой стороны, пусть ТС увидит, что не только piden на это намекает

Поделиться сообщением


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

Здесь мои познания < 0.

SW при нормальном g (можно и перемещение).

Выдал сплайн (объём заполнения - как зададите).

"Цепная линия" как упала- не путать с клубком-(здесь если задать деформации "нити" - получится.шар).

 

 

 

ДетальY.rar

1 пользователю понравилось это

Поделиться сообщением


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

@@TVM, cool!

Из сообщения мало что понял, но интересно получилось!

 

261c8921cb117696c6803064f6741c71.png

Поделиться сообщением


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

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

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

 

LS-Dyna нам не нужна, с задачами справляется обычный решатель Ансиса.

Я и в литературе нигде не встречал применение LS-Dyna к таким задачам.

Поделиться сообщением


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

@@TVM, cool!

Из сообщения мало что понял, но интересно получилось!

Модель цепи в SW строится довольно легко через вставку пересохранённой сборки и её последующей разбивки на детали (4-8-16-36...пока SW не заподозрит неладное).

Как заставить двигаться сборку есть варианты кроме силы тяжести.

Если после расчета высветить сплайн, то его можно в дальнейшем использовать.

Понимаю не идеально.

По поводу клубка - относится к реальной ситуации (если нить будет с эффектом памяти) так же все будет вращаться, что не очень хорошо.

Сплайн.rar

Поделиться сообщением


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

@@TVM, спасибо! Теперь все понятно, кроме

По поводу клубка - относится к реальной ситуации (если нить будет с эффектом памяти) так же все будет вращаться, что не очень хорошо.

:g:


ансис сначала делает узлы по поверхности, а потом уже внутренние. Поэтому сначала спираль проходит по поверхности аневризмы и только ее несколько ветвей уходят внутрь.

 

Вы пытаетесь соединить узлы в порядке, в котором они приведены в файле сетки?

Поделиться сообщением


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

@@TVM, спасибо! Теперь все понятно, кроме

 

 

:g:

 

 

 

Вы пытаетесь соединить узлы в порядке, в котором они приведены в файле сетки?

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

Поделиться сообщением


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

@@TVM, спасибо! Теперь все понятно, кроме

Это у нас местные "тараканы" с клубком. :smile:  

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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

  • реклама

  • Реклама

  • Ближайшие события

    Предстоящих событий не найдено
  • Дни рождения сегодня

    1. ag711
      ag711
      (61 год)
    2. Ankllaw
      Ankllaw
      (31 год)
    3. apulkn
      apulkn
      (29 лет)
    4. Brableverry
      Brableverry
      (50 лет)
    5. dimvini
      dimvini
      (37 лет)
    Просмотреть все