sosbrumadinho / victims_location_prediction

Software library to predict victims location after dam rupture or similar disasters.
32 stars 8 forks source link

modelagem de fluxo de rejeito #4

Open dieegom opened 5 years ago

dieegom commented 5 years ago

Melhorar o algoritmo de predição da dispersão do rejeito com base no relevo do local, construções, etc...

ronaldojunio commented 5 years ago

Melhorar o algoritmo de predição da dispersão do rejeito com base no relevo do local, construções, etc...

Podem me adicionar aqui

fredcfreitas commented 5 years ago

tenho experiência com mecânica dos fluidos. quero ajudar também. alguém gostaria de discutir como isso poderia ser modelado? precisaríamos de alguma forma estimar a velocidade inicial a partir do colapso..

Estávamos pensando em usar o openFOAM, mas somos noobies.

ronaldojunio commented 5 years ago

tenho experiência com mecânica dos fluidos. quero ajudar também. alguém gostaria de discutir como isso poderia ser modelado? precisaríamos de alguma forma estimar a velocidade inicial a partir do colapso..

Estávamos pensando em usar o openFOAM, mas somos noobies.

legal. pelo o que pesquisei rapidinho, existe um caso que seria aplicável para nós: dam break. aqui tem um tutorial para modelagem 2d: https://cfd.direct/openfoam/user-guide/v6-dambreak/ e aqui uma extensão para 3d (necessária para incluir o relevo): https://www.calum-douglas.com/openfoam-example-3d-dambreak/ vou estudar isso.

acredito que o ideal seria rodar a simulação uma única vez, e armazenar os resultados de forma que possam ser consumidos pela nossa API.. certo?

Era exatamente esse que estamos vendo, o dambreak

volpatto commented 5 years ago

Uma possível modelagem matemática desse problema se dá basicamente por duas equações acopladas:

  1. Equação da conservação de massa, que aqui podemos considerar a mistura de lama como fluido incompressível, isso faz com que tenhamos div(v) = f(x), onde f(x) pode ser o termo de fonte volumétrica que incorpore o volume de lama que saiu do ponto inicial da barragem;
  2. Equação de Advecção-Difusão predominantemente advectiva para a concentração da lama na água. Essa é uma equação que apresenta dificuldades numéricas para os métodos clássicos, requisitando formulações estabilizadas. Com essa equação, podemos estimas o dano ambiental causado pelo espalhamento da lama e tudo que foi carregado por ela.

Esse tipo de problema pode ser solucionado com alguma facilidade com um dos 2 frameworks de elementos finitos em Python que eu recomendo:

  1. FEniCS Project
  2. Firedrake

Se tiverem interesse, posso implementar sem muitas dificuldades esse modelo. Se puder me ser fornecidos informações geométrica e estimativas da localização da fonte de lama com um valor aproximado de sua vazão na fonte, podemos fazer predições iniciais simplificadas.

Pelas características geométricas do problema, acredito que a simulação bidimensional seja suficiente. Estou à disposição e quero ajudar!

Abraços.

volpatto commented 5 years ago

tenho experiência com mecânica dos fluidos. quero ajudar também. alguém gostaria de discutir como isso poderia ser modelado? precisaríamos de alguma forma estimar a velocidade inicial a partir do colapso..

Estávamos pensando em usar o openFOAM, mas somos noobies.

legal. pelo o que pesquisei rapidinho, existe um caso que seria aplicável para nós: dam break. aqui tem um tutorial para modelagem 2d: https://cfd.direct/openfoam/user-guide/v6-dambreak/ e aqui uma extensão para 3d (necessária para incluir o relevo): https://www.calum-douglas.com/openfoam-example-3d-dambreak/ vou estudar isso.

acredito que o ideal seria rodar a simulação uma única vez, e armazenar os resultados de forma que possam ser consumidos pela nossa API.. certo?

Acredito que as informações do relevo podem ser incorporadas num cálculo de tortuosidade no modelo de dispersão-advecção da lama, isso elimina a necessidade de resolver o problema 3D, sendo o 2D suficiente, na minha opinião.

joscelino commented 5 years ago

Eu nao partiria do Fluxo dos Rejeitos. Trata-se de um ambiente caotico e portanto darei a abordagem devida. Corpos que foram distribuídos caoticamente (maioria) possuem maior chance de ser encontrados. Corpos que foram distribuídos pseudo-aleatoriamente, possuem pouca chance de serem encontrados. Corpos sobre estruturas possuem grande chance de serem encontrados agrupados devido a Teoria do Ponto Fixo. Ja aconteceu em Brumadinho nos casos do ônibus, caminhonete e micro-ônibus que foram encontrados e o Corpo de Bombeiros busca o mesmo na Pousada, conforme noticias. De forma pratica e rápida, matematicamente, eu pegaria o mapa da área afetada, aplicaria o Teorema de Pick para discretizar, calcularia a Dimensão Fractal de cada trecho, adicionando informações de localização de corpos ja encontrados e sinais de celular(se forem pós acidente), e focaria as buscas nas áreas de maior dimensão fractal. Simples de fazer e eficiente, não carecendo de informações que não estariam disponíveis ou cálculos mirabolantes. Outra forma, entendo que menos eficiente, seria aplicar a simulação de Monte Carlo. Espero ter contribuído. Email: joscelino@protonmail.com

tiagogsc commented 5 years ago

Dear all, due to the need of time and data to develop and calibrate a theoretical model based on differential equations, also due the huge number of contour variables involved in this real case, maybe an empirical approach based on statistics, probability or data science methods could lead this project to good outcomes in short time. I guess that does make sense to have this tool ready as soon as possible. A very good starting point is to get accesses to registers that locate people that has been found until now. To analyse locations distribution in time and space could help a lot to predict new places where people could be found.

tiagogsc commented 5 years ago

Here is a tool ready for use that could benefit this project http://www.terrama2.dpi.inpe.br.

tiagogsc commented 5 years ago

Here is a open software to simulate the mud flow: https://en.m.wikipedia.org/wiki/TITAN2D

volpatto commented 5 years ago

Here is a open software to simulate the mud flow: https://en.m.wikipedia.org/wiki/TITAN2D

TITAN2D seems to be a very interesting alternative. To be honest, it is the best one I saw so far. It uses high order finite volume schemes (Godunov-type scheme), so it's solving a system of PDE with hyperbolic dominant behavior, which would probably solve the problem properly with right parameters. However, this is the case you pointed out that we have to skip for a quick first solution of the problem due to calibration and all the Verification & Validation procedures. For those who want to know about the generic procedures of predictive simulations, one can read this paper, a very well known reference in the area.

volpatto commented 5 years ago

By the way, @tiagogsc, it's pretty interesting someone like you here providing help. (I know a little about your works with Aedes ecological modeling and dynamics of population, an area which I also have interest). With your expertise, what paths do you recommend to the project to follow? To use recorded geolocation data for probability computation? A deterministic approach seems to be very hard to achieve with the data so far. Maybe some Bayesian approach?

jpmdodev commented 5 years ago

Como uma abordagem inicial talvez seja possível a utilização de um modelo Digital de Terreno (MDT) e um algoritmo como 'Gradient Descent' para determinar a trajetória mais rápida de um ponto até os mínimos locais da superfície que seriam as regiões que o rejeito tende a ocupar. Não sei se é possível a modelagem de uma superfície aproximada a partir de um MDT mas fica a tentativa.

tiagogsc commented 5 years ago

Dear @volpatto, I believe that more important than take a path now, it is to see what data say to us. We need locations before the event and GPS data from locations where people are been found.

fredcfreitas commented 5 years ago

Pessoal, muito obrigado. As ideias propostas são muito boas e, assim que possível, seria importante termos um código para ser integrado ao sistema já desenvolvido.

ronaldojunio commented 5 years ago

Dear @volpatto and @tiagogsc, there are people from the telegram group, Brumadinho comunidade devs, that will be on site today. Also, there are others that are pressuring Vale and the government for the data needed. I think that you could post there the required data or I can let you know when they get it. The group admins are trying to make that group public today, so more people can go after these data.

dellamonica commented 5 years ago

Hello, I think the approaches using flow simulation seem quite interesting, but I am not sure the quality of the data is there for it to work and on that approach I cannot contribute as I know nothing about these methods.

Following @tiagogsc, my suggestion is a relatively simple model which can be tested provided we have a reasonable number of location pairs (last known position/cell phone location, location found). Call this set of pairs our data. Start with a 2D directed graph where nodes are distributed on the affected region and arcs follow the direction of the flow from that point. Train probability weights on the arcs using a machine learning algorithm on our data. The result is the weighted directed graph which can be used to compute the probabilities of several possible final locations given an initial location. Computing these probabilities over all missing person locations could yield hot spots that are presumably better candidates for searching.

There is a balance between having a large graph (potentially more precise results) and training difficulty due to sparse data, so perhaps a very lean graph with nodes hand picked to better represent the geometry is the way to go.

diegosarodrigues commented 5 years ago

Dear all, I am available to help with the modeling issues. I do agree with @tiagogsc and @volpatto: we need to see what data say to us. Maybe a statistical (bayesian) approach could be faster and useful given the time restrictions that we have.

In a fast search over the internet, I found a link in which it is said that "authorities" can request data about cellphone signals: https://noticias.uol.com.br/tecnologia/noticias/bbc/2019/01/27/brumadinho-justica-libera-acesso-a-dados-sobre-sinal-de-celulares-para-auxiliar-na-localizacao-de-desaparecidos.htm

Should we try it? In the above news: (27/01/2019 12h51) "Through the data it is possible to know which communication tower received the last signal emitted by a cell phone that is now inactive, reducing the search area which would facilitate the location of the devices." "The fire brigade's press office stated that, until now, the resource is not being used yet."

I can try to contact someone to see the requirements to request the data, and to check what they mean by "authorities"...

vaniaon commented 5 years ago

Guys, I talked with a person responsible for the rescue who told me that the militaries from Israel already have this technologies. Anyway, I think we can try continue in this project, so in the future this will be already ready. My suggestion is that you all can contribute with the approach that you are familiar and then we can make some tests to validate and compare them.

vaniaon commented 5 years ago

Regarding the data, it seems that they will have a meeting with Abin to make them available. Anyway, we can use artificial data to test the approaches.

dieegom commented 5 years ago

It's great to know that they already have this tecnology! Anyway, I agree that is important to continue our development specially because this tool can be used not only for militaries but also for all the people.

araujo88 commented 5 years ago

Olá Amigos. Tenho conhecimento em CFD, dinâmica de fluidos, escoamento de meios estratificados, etc. Fiz meu mestrado na área. Seguinte, o mais indicado nesse caso seria uma adaptação das equações de águas rasas (shallow water equations - https://en.wikipedia.org/wiki/Shallow_water_equations), que é uma aproximação 2D das equações de Navier-Stokes para escoamentos à superfície livre, para fluido não-newtoniano, provavelmente usando o modelo de Herschel-Bulkley (https://en.wikipedia.org/wiki/Herschel%E2%80%93Bulkley_fluid). As equações seriam então resolvidas dadas as condições iniciais da barragem e para a geometria obtida através do topográfico. Existem alguns softwares que já possuem estes modelos implementados, como por exemplo o OpenFOAM que é open-source.

araujo88 commented 5 years ago

O problema é que o modelo de Herschel-Bulkley possui três parâmetros. Eles poderiam ser obtidos através de algum algoritmo de redes neurais que fosse treinado de acordo com os dados que se tem da configuração final dos rejeitos, já em estado de repouso.

araujo88 commented 5 years ago

Aqui tem uma simulação que fiz no OpenFOAM usando o modelo de Herschel-Bulkley: https://www.youtube.com/watch?v=MMW7diY9sJg

Cristianobru commented 5 years ago

I’m a iron ore process engineer. I’ve already worked in VALE and work all the time with tailings, slimes and similarities.. even so, if I don know something I Know who will certain know. if I could help with any information about phisical and chemical parameters that you guys need, please don’t hesitate to contact me: cristianobru@yahoo.com.br / 31996059370 (zap)

duducosmos commented 5 years ago

Pessoal, tem um projeto chamado ANUGA Hydro, que já implementa as equações de água rasa, basicamente, precisamos do Modelo Digital do Terreno, disponibilizado pelo IBGE, para criar o modelo específico de propagação de águas da região. Não é preciso fazer do zero essa modelagem. O Anuga foi escrito em Python e é livre: https://github.com/GeoscienceAustralia/anuga_core . Minha esposa usou durante o doutoramento, para modelar o Amazonas, acho que podemos usar nesse projeto aqui.