Difference between revisions of "Medusa"
Mitjajancic (talk | contribs) (→Discussions / Applications) |
m (Added "Meshless FDM" to discussions) |
||
(84 intermediate revisions by 5 users not shown) | |||
Line 18: | Line 18: | ||
* [[Coding style | Coding style]] | * [[Coding style | Coding style]] | ||
* [[Wiki editing guide | Wiki editing and backup guide]] | * [[Wiki editing guide | Wiki editing and backup guide]] | ||
+ | |||
+ | == Building blocks == | ||
+ | Medusa is modular coordinate-free parallel implementation of a numerical framework designed, but not limited to, for solving PDEs. In this section we present main modules of the library that can be also used as a standalone tools. | ||
+ | * [[Positioning of computational nodes]] | ||
+ | * [[Relaxation of the nodal distribution]] | ||
+ | * [[Refinement of the nodal distribution]] | ||
+ | * [[k-d tree|''k''-d tree and other spatial search structures]] | ||
+ | * [[Solving system | Solving linear system - including over and underdetermined systems]] | ||
+ | * [[Weighted Least Squares (WLS)]] | ||
+ | * [[Computation of shape functions]] | ||
+ | * [[Radial basis function-generated finite differences (RBF-FD)]] | ||
+ | * [[Ghost nodes (theory)]] | ||
+ | * [[Integrators for time stepping]] | ||
== Examples == | == Examples == | ||
Line 28: | Line 41: | ||
* [[Coupled domains]] | * [[Coupled domains]] | ||
* [[Parametric domains | Parametric domains – Curved surface with variable density]] | * [[Parametric domains | Parametric domains – Curved surface with variable density]] | ||
− | * [[NURBS domains | Domains modeled with non-uniform rational basis | + | * [[NURBS domains | Domains modeled with non-uniform rational basis splines (NURBS)]] |
− | * [[Realistic 3D models]] | + | * [[Determining the interior of the domain by oversampling the boundary]] |
− | * [[ | + | * [[Computer-aided design - Importing IGES and STEP files]] |
+ | * [[Realistic 3D models|Working with 3D surface mesh models ]] | ||
+ | * [[customization | Operator customization]] | ||
* [[Ghost nodes]] | * [[Ghost nodes]] | ||
* [[Electromagnetic scattering]] | * [[Electromagnetic scattering]] | ||
Line 36: | Line 51: | ||
* [[Wave equation]] | * [[Wave equation]] | ||
* [[Cahn-Hilliard equation]] | * [[Cahn-Hilliard equation]] | ||
− | * [[ | + | * [[Fluid mechanics]] |
− | + | * [[Solid Mechanics | Solid mechanics]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Discussions / Applications == | == Discussions / Applications == | ||
This section is meant for general discussion about the physical background of the examples, the solution procedures, various applications, etc. Note, that code snippets presented in discussion might not reflect the actual state of Medusa. | This section is meant for general discussion about the physical background of the examples, the solution procedures, various applications, etc. Note, that code snippets presented in discussion might not reflect the actual state of Medusa. | ||
* [[Convection Diffusion equation | Convection Diffusion equation]] | * [[Convection Diffusion equation | Convection Diffusion equation]] | ||
− | * [[Adaptivity]] | + | * [[Adaptivity|H-adaptivity]] |
+ | * [[Hp-adaptivity]] | ||
* [[Solid Mechanics]] | * [[Solid Mechanics]] | ||
** [[Point contact]] | ** [[Point contact]] | ||
Line 66: | Line 67: | ||
* [[Fluid Mechanics]] | * [[Fluid Mechanics]] | ||
** [[Lid driven cavity]] | ** [[Lid driven cavity]] | ||
+ | ** [[Burgers' equation]] | ||
** [[de Vahl Davis natural convection test]] | ** [[de Vahl Davis natural convection test]] | ||
** [[Natural convection in 3D irregular domain]] | ** [[Natural convection in 3D irregular domain]] | ||
Line 79: | Line 81: | ||
** [[Heart rate variability detection]] | ** [[Heart rate variability detection]] | ||
** [[Bioheat equation]] | ** [[Bioheat equation]] | ||
+ | * [[Meshless FDM]] | ||
== Performance analyses == | == Performance analyses == | ||
Line 100: | Line 103: | ||
== References == | == References == | ||
− | For | + | For all related papers including conference contributions, monographs and book chapters check https://e6.ijs.si/ParallelAndDistributedSystems/publications/ |
+ | |||
+ | {{Box-round|title= Selected papers | | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/153678339.pdf M. Jančič, G. Kosec; Strong form mesh‑free hp‑adaptive solution of linear elasticity problem, Engineering with computers, vol. 39, 2023 [DOI: 10.1007/s00366-023-01843-6]] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/98533123.pdf M. Depolli, J. Slak, G. Kosec; Parallel domain discretization algorithm for RBF-FD and other meshless numerical methods for solving PDEs, Computers & Structures, 2022 [DOI: 10.1016/j.compstruc.2022.106773]] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/69777155.pdf J. Slak, G. Kosec; Medusa : A C++ library for solving PDEs using strong form mesh-free methods, ACM transactions on mathematical software, vol. 47, 2021 [DOI: 10.1145/3450966]] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/56730115.pdf U. Duh, G. Kosec, J. Slak; Fast variable density node generation on parametric surfaces with application to mesh-free methods, SIAM journal on scientific computing, vol. 43, 2021 [DOI: 10.1137/20M1325642]] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/52715011.pdf M. Jančič, J. Slak, G. Kosec; Monomial augmentation guidelines for RBF-FD from accuracy versus computational time perspective, Journal of scientific computing, vol. 87, 2021 [DOI: 10.1007/s10915-020-01401-y] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/32782887.pdf J. Slak, G. Kosec; On generation of node distributions for meshless PDE discretizations, SIAM journal on scientific computing, vol. 41, 2019 [DOI: 10.1137/18M1231456] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/32424999.pdf G. Kosec, J. Slak, M. Depolli, R. Trobec, K. Pereira, S. Tomar, T. Jacquemin, S. Bordas, M. Wahab; Weak and strong from meshless methods for linear elastic problem under fretting contact conditions, Tribology international, vol. 138, 2019] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/32230439.pdf J. Slak, G. Kosec; Adaptive radial basis function-generated finite differences method for contact problems, International journal for numerical methods in engineering, vol. 119, 2019 [DOI: 10.1002/nme.6067]] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/32388135.pdf M. Maksić, V. Djurica, A. Souvent, J. Slak, M. Depolli, G. Kosec; Cooling of overhead power lines due to the natural convection, International journal of electrical power & energy systems, 2019] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/31107623.pdf J. Slak, G. Kosec; Refined meshless local strong form solution of Cauchy-Navier equation on an irregular domain, Engineering analysis with boundary elements, vol. 100, 2019] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/29639719.pdf M. Depolli, G. Kosec; Assessment of differential evolution for multi-objective optimization in a natural convection problem solved by a local meshless method, Engineering optimization, 2017, vol. 49, no. 4, pp. 675-692] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/29512743.pdf G. Kosec; A local numerical solution of a fluid-flow problem on an irregular domain, Advances in engineering software, vol. 120, 2018 [DOI: 10.1016/j.advengsoft.2016.05.010]] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/27912487.pdf G. Kosec, R. Trobec; Simulation of semiconductor devices with a local numerical approach, Engineering analysis with boundary elements, 2015 [DOI: 10.1016/j.enganabound.2014.07.013]] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/3218939.pdf G. Kosec, B. Šarler; Simulation of macrosegregation with mesosegregates in binary metallic casts by a meshless method, Engineering analysis with boundary elements] | ||
+ | |||
+ | [http://comms.ijs.si/~gkosec/data/papers/27339815.pdf G. Kosec, M. Depolli, A. Rashkovska, R. Trobec; Super linear speedup in a local parallel meshless solution of thermo-fluid problem, Computers & Structures, vol. 133, 2014] | ||
+ | |||
+ | [http://comms.ijs.si/~gkosec/data/papers/26785063.pdf G. Kosec, P. Zinterhof; Local strong form meshless method on multiple Graphics Processing Units, Computer modeling in engineering & sciences, vol. 91, 2013] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/2599419.pdf G. Kosec, B. Šarler; Solution of a low Prandtl number natural convection benchmark by a local meshless method, International journal of numerical methods for heat & fluid flow] | ||
+ | |||
+ | [http://comms.ijs.si/~gkosec/data/papers/EABE2499.pdf R. Trobec, G. Kosec, M. Šterk, B. Šarler; Comparison of local weak and strong form meshless methods for 2-D diffusion equation, Engineering analysis with boundary elements, vol. 36, 2012] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/1905659.pdf G. Kosec, M. Založnik, B. Šarler, H. Combeau; A meshless approach towards solution of macrosegregation phenomena, Computers, materials & continua : CMC, vol. 22, 2011 ] | ||
+ | |||
+ | [https://e6.ijs.si/ParallelAndDistributedSystems/publications/992507.pdf G. Kosec, B. Šarler; Solution of thermo-fluid problems by collocation with local pressure correction, International journal of numerical methods for heat & fluid flow, vol.18, 2008] | ||
+ | |||
+ | R. Trobec, G. Kosec; Parallel scientific computing : theory, algorithms, and applications of mesh based and meshless methods, 2015 | ||
− | + | }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Related pages== | ==Related pages== | ||
* http://e6.ijs.si/ParallelAndDistributedSystems/products/medusa/ | * http://e6.ijs.si/ParallelAndDistributedSystems/products/medusa/ |
Latest revision as of 13:55, 12 March 2024
Welcome to the Medusa wiki. To visit the main website, go to http://e6.ijs.si/medusa/.
In Parallel and Distributed Systems Laboratory we are working on a C++ library that is first and foremost focused on tools for solving Partial Differential Equations by meshless methods. The basic idea is to create generic codes for tools that are needed for solving not only PDEs but many other problems, e.g. Moving Least Squares approximation, $k$-d tree, domain generation engines, etc. We call this open source meshless project Medusa: Coordinate Free Meshless Method implementation (MM).
Technical details about code and examples can be found on our documentation page and Gitlab repository.
This wiki site is meant for more relaxed discussions about general principles, possible and already implemented applications, preliminary analyses, etc. Note, that there are many grammatical mistakes, typos, stupid sentences, etc. This wiki is meant for quick information exchange and therefore we do not invest a lot of energy into styling :).
Documentation
- Code on Gitlab
- Installation and building
- Including this library in your project
- Running tests
- Technical documentation
- Coding style
- Wiki editing and backup guide
Building blocks
Medusa is modular coordinate-free parallel implementation of a numerical framework designed, but not limited to, for solving PDEs. In this section we present main modules of the library that can be also used as a standalone tools.
- Positioning of computational nodes
- Relaxation of the nodal distribution
- Refinement of the nodal distribution
- k-d tree and other spatial search structures
- Solving linear system - including over and underdetermined systems
- Weighted Least Squares (WLS)
- Computation of shape functions
- Radial basis function-generated finite differences (RBF-FD)
- Ghost nodes (theory)
- Integrators for time stepping
Examples
In this section we present exact examples. Each of the below solutions can be found also in in the repository under examples. More explanation about the physical background and solution procedure can be found in following sections.
- Philosophy of examples and how to run them
- Poisson's equation
- Heat equation
- Linear elasticity
- Complex-valued problems
- Coupled domains
- Parametric domains – Curved surface with variable density
- Domains modeled with non-uniform rational basis splines (NURBS)
- Determining the interior of the domain by oversampling the boundary
- Computer-aided design - Importing IGES and STEP files
- Working with 3D surface mesh models
- Operator customization
- Ghost nodes
- Electromagnetic scattering
- Schrödinger equation
- Wave equation
- Cahn-Hilliard equation
- Fluid mechanics
- Solid mechanics
Discussions / Applications
This section is meant for general discussion about the physical background of the examples, the solution procedures, various applications, etc. Note, that code snippets presented in discussion might not reflect the actual state of Medusa.
- Convection Diffusion equation
- H-adaptivity
- Hp-adaptivity
- Solid Mechanics
- Fluid Mechanics
- Computational electromagnetics
- Other applications
- Meshless FDM
Performance analyses
- Execution on Intel® Xeon Phi™ co-processor
- 1D MLSM and FDM comparison
- Execution overheads due to clumsy types::technical report
- Solving sparse systems
- Eigen paralelization
Last changes
- 17:11, 26 August 2024 :: Burgers'_equation
- 14:31, 12 July 2024 :: Customization
Miscellaneous
- FAQ - Frequently asked questions.
- List of wiki contributors
- List of library contributors: See the official website
References
For all related papers including conference contributions, monographs and book chapters check https://e6.ijs.si/ParallelAndDistributedSystems/publications/
Selected papers
R. Trobec, G. Kosec; Parallel scientific computing : theory, algorithms, and applications of mesh based and meshless methods, 2015