Giter VIP home page Giter VIP logo

opensapm's Introduction

OpenSAPM

Open seismic-acoustic propagation model.

Usage

python __main__.py path_to_file_with_problem_descriptions

Please use python 3+

pip install -r requirements.txt

/tests/inputs.txt contains information about problem

Project Goals

The code is written for solving 1D and 2D acoustic and seismic equations.

opensapm's People

Contributors

averyanovartem avatar birdbirdbird avatar forester21 avatar gaynullindima avatar ilyamogilin avatar keshamambo avatar khakhulin avatar nikolaykozyrskiy avatar pathfinder14 avatar rinataynulin avatar teaset avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opensapm's Issues

Отрисовка в произвольный момент времени.

В модуле постпроцессора стоит добавить функциям дополнительный параметр - время начала показа гифки. То есть появится возможность пользователю задавать отрезок времени на котором он совершает отрисовку. Вычисленя так же будут производиться с t=0.

Разделение параметров ламе

В данный момент нет разницы между параметром K(коэффициентом упругости) в задаче акустики и параметром лямда Ламе. Необходимо выделить каждый из них в отдельный параметр. На логику это не должно повлиять.

Отсутствие распространия в 2д случае.

Основная проблема - отсутсвие или почти отсутвие волн при решении 2D задачи.
Какие могут быть проблемы:

  • Рассмотреть метод расщепления. Проверить правильность.
  • Изучить физическое задание источников.
  • Исследовать маленькие промежутки времени.

2D seismic Проблемы с отрисовкой

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

Негомогенная среда

Свойства среды определяются либо по плотности и параметрам Ламе, либо по скорости продольных и поперечных волн (v_p и v_s) и плотности. Сейчас имеется модуль, который умеет считывать среду с картинки и сопоставлять цвету определные свойства. К сожалению, данный модуль не используется. Хотя он очень нужен для реальных физически осмысленных задач.
Для решения данной проблемы предлагается изменить использования сразу нескольких модулей:

  1. Сделать из матриц (matrix.py) лямбда функции, которые могли бы быть использованы в остальных модулях. На вход подается координата, на выходе имеется матрица с соответсвующими этому узлу сетки параметрами среды.
  2. Передавать эти функции прямо в методы решения. То есть в разностных схемах надо будет обращаться не к массиву/константе, а сразу к функции.
  3. В данный момент картинка парсится в массив соизмеримый ее размерам в пикселях. Это не удобно, надо накладывать размеры сетки на картинку.

Задание негомогенной среды аналитически.

Хочется, чтобы среду можно было задавать различными функциями. Чтобы лучше понять задачу, необходимо посмотреть тесты в документации (2д сейсмика).
Тут можно пофантазировать и сделать аналитическоей задание доступной пользователю. Добавив допалнительные параметры для коммандной строки.

Недостаточное количество источников.

В данный момент доступен только 1 тип источника(точечный). Причем захордкожены координаты.
Необходимо сделать параметры координат точечного источника. И добавить новые физически осмысленные источники. Проще всего это сделать прочита в документации раздел с тестами, где уже приведены некоторые варианты.

Поддержка различных разностных схем.

У нас сейчас есть много разностных схем. Но по факту решение производится только kir, McCormack и bicompact схемами. Добавьте поддержку остальных модулей, изменив их в случае необходимости.

Проверка числа куранта.

Сейчас пользователь сам должен заботится о time_step и подбирать для соответсвия числу Куранта.
Добавить выбор time step в зависимости от cfl. И подбор пользователю spatial step.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.