0

Я хочу разработать свое понимание метода конечных элементов (структурной механики) и программирования на языке Python. По этой причине я хочу создать какое-то простое приложение. По моему мнению, приложение будет своего рода препроцессором и решателем. Хотя процесс слияния будет выполняться в Gmsh и после обработки в Paraview или Mayavi.Как правильно написать код конечного элемента

Основная проблема - я не начинаю ... Я могу создать простые скрипты python, которые вычисляют фермы или проблемы с лучом, однако матрицы записываются вручную и решаются с помощью SciPy. Моя цель - автоматизировать это и связать с упомянутым программным обеспечением.

Я признаю теорию ООП, сделал пару проектов студентов на C++, но это все, и я хочу двигаться вперед. Спасибо за любой совет!

+0

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

ответ

0

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

Попробуйте использовать существующую библиотеку. Я использовал как Deal.II, так и libmesh - оба являются C++ и open-source. (Отказ от ответственности: у меня тоже очень незначительный вклад в обоих). Но есть много вариантов.

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

+2

Поскольку цель OP состоит в том, чтобы получить понимание, я бы не сказал, что написать реализацию самостоятельно является контрпродуктивным. Это поможет получить понимание проблемной области. –

+0

Joel Spolsky: изобретать колеса: http://www.joelonsoftware.com/articles/fog0000000007.html. Это не плохо, если вы хотите научиться тому, как это сделать для себя. – duffymo