dolivanov

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

46 posts in this topic

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

 

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

 

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

 

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

 

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

 

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

 

 

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

Share this post


Link to post
Share on other sites


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

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

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

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

Share this post


Link to post
Share on other sites

ID: 3   Posted (edited)

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

 

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

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

 

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

 

Ближе к телу.

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

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

 

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

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

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

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

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

 

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

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

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

 

 

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

 

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

 

595c6001993fd48e065df7df6732793d.png

2b1fccc2aac303b3467c23934856901c.png

Edited by piden
2 people like this

Share this post


Link to post
Share on other sites

ID: 4   Posted (edited)

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

 

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

 

 

 

2113b414cd5b73fe0d820365f76dd2dc.png

1cac006764fe710da168a8811ab26c68.png

 

TEST02 SW2014.rar

Edited by piden
2 people like this

Share this post


Link to post
Share on other sites

Cool! :clap_1:

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

Share this post


Link to post
Share on other sites

ну да,

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
а теперь пусть ТС строит сетку с погранслоем для такой геометрии а потом вешается от полной несходимости задачи

:clap_1:  :clap_1:

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

 

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

 

aef550c0dfc8a92a7c2983d08d678ed1.png

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
self-intersection'ы минимизировать

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

0_d8ef7_d743b7f4_orig.gif

 

1 person likes this

Share this post


Link to post
Share on other sites
Есть одна темка

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
В 3д тоже можно?

Вроде как

0_d8ef8_57c2eb06_orig.gif

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

0_d8ef9_e9075db4_orig.gif

1 person likes this

Share this post


Link to post
Share on other sites

ID: 20   Posted (edited)

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

 

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

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

 

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

 

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

 

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

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

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

 

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

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

Edited by dolivanov

Share this post


Link to post
Share on other sites

ID: 21   Posted (edited)

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

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

 

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

 

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

Edited by piden

Share this post


Link to post
Share on other sites

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

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

2 people like this

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

 

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

 

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

1 person likes this

Share this post


Link to post
Share on other sites
Если веревку "уронить" в объём? Возможно такое?

Попробуй  :wink:

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

 

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

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

 

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

 

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

....

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

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

Share this post


Link to post
Share on other sites

Попробуй  :wink:

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

 

 

 

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

 

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

 

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

 

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

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

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

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

ID: 28   Posted (edited)

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

 

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

 

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

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

 

macros.rar

Edited by piden

Share this post


Link to post
Share on other sites

ребята,

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites
здесь уже добро пожаловать в LS-Dyna и ALE. 

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

Share this post


Link to post
Share on other sites

ID: 32   Posted (edited)

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

 

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

 

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

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

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

Edited by a_schelyaev

Share this post


Link to post
Share on other sites

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

 

 

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

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

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

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

 

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

 

 

ДетальY.rar

1 person likes this

Share this post


Link to post
Share on other sites

@@TVM, cool!

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

 

261c8921cb117696c6803064f6741c71.png

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


Link to post
Share on other sites

@@TVM, cool!

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

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

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

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

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

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

Сплайн.rar

Share this post


Link to post
Share on other sites

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

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

:g:


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

 

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

Share this post


Link to post
Share on other sites

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

 

 

:g:

 

 

 

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.