Difference between revisions of "Medusa"
m (Added "Meshless FDM" to discussions) |
|||
(355 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | + | <!--__NOTITLE__--> | |
− | < | + | '''Welcome to the Medusa wiki. To visit the main website, go to [http://e6.ijs.si/medusa/ 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, | + | In [http://e6.ijs.si/ParallelAndDistributedSystems/ 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 [http://e6.ijs.si/medusa/ Medusa: Coordinate Free Meshless Method implementation (MM)]. | |
− | |||
− | |||
− | + | Technical details about code and examples can be found on our [http://e6.ijs.si/medusa/docs/ documentation page] and [https://gitlab.com/e62Lab/medusa Gitlab repository]. [[File:C.png|100px||link=https://gitlab.com/e62Lab/medusa|alt=Alt text|code]] [[File:doxygen.png|100px|link=http://e6.ijs.si/medusa/docs/|alt=Alt text|Documentation page]] | |
− | + | 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 == |
− | * [[ | + | * [https://gitlab.com/e62Lab/medusa Code on Gitlab] |
− | * | + | * [[How to build | Installation and building]] |
− | * | + | * [[Including this library in your project | Including this library in your project]] |
− | * | + | * [[Testing | Running tests]] |
+ | * [http://e6.ijs.si/medusa/docs/ Technical documentation] | ||
+ | * [[Coding style | Coding style]] | ||
+ | * [[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 == | ||
+ | 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 | Parametric domains – Curved surface with variable density]] | ||
+ | * [[NURBS domains | 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]] | ||
+ | * [[Realistic 3D models|Working with 3D surface mesh models ]] | ||
+ | * [[customization | Operator customization]] | ||
+ | * [[Ghost nodes]] | ||
+ | * [[Electromagnetic scattering]] | ||
+ | * [[Schrödinger equation]] | ||
+ | * [[Wave equation]] | ||
+ | * [[Cahn-Hilliard equation]] | ||
+ | * [[Fluid mechanics]] | ||
+ | * [[Solid 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 | Convection Diffusion equation]] | ||
+ | * [[Adaptivity|H-adaptivity]] | ||
+ | * [[Hp-adaptivity]] | ||
* [[Solid Mechanics]] | * [[Solid Mechanics]] | ||
+ | ** [[Point contact]] | ||
+ | ** [[Hertzian contact]] | ||
+ | ** [[Cantilever beam]] | ||
+ | ** [[Fretting fatigue case]] | ||
+ | ** [[Plasticity]] | ||
+ | * [[Fluid Mechanics]] | ||
+ | ** [[Lid driven cavity]] | ||
+ | ** [[Burgers' equation]] | ||
+ | ** [[de Vahl Davis natural convection test]] | ||
+ | ** [[Natural convection in 3D irregular domain]] | ||
+ | ** [[Natural convection from heated cylinder]] | ||
+ | ** [[Natural convection between concentric cylinders]] | ||
+ | ** [[Non-Newtonian fluid]] | ||
+ | * [[Computational electromagnetics]] | ||
+ | ** [[Triple dielectric step in 1D]] | ||
+ | ** [[Scattering from an infinite cylinder]] | ||
+ | ** [[Point source near an anisotropic lens]] | ||
+ | * Other applications | ||
+ | ** [[Attenuation due to liquid water content in the atmosphere|Attenuation of a satellite communication]] | ||
+ | ** [[Heart rate variability detection]] | ||
+ | ** [[Bioheat equation]] | ||
+ | * [[Meshless FDM]] | ||
+ | |||
+ | == Performance analyses == | ||
+ | * [[Execution on Intel® Xeon Phi™ co-processor]] | ||
+ | * [[1D MLSM and FDM comparison]] | ||
+ | * [[:File:tech_report.pdf|Execution overheads due to clumsy types::technical report]] [[File:pdf-file.gif]] | ||
+ | * [[Solving sparse systems]] | ||
+ | * [[Eigen paralelization]] | ||
+ | |||
+ | == Last changes == | ||
+ | <news unique=1 limit = 5> | ||
+ | *{{{timeanddate}}} :: {{{title}}} | ||
+ | |||
+ | </news> | ||
− | == | + | == Miscellaneous == |
− | * | + | * FAQ - [[Frequently asked questions]]. |
− | * | + | * [[List of wiki contributors]] |
+ | * List of library contributors: [http://e6.ijs.si/medusa/about#about-contributors See the official website] | ||
== References == | == References == | ||
− | + | ||
− | + | 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== | ||
+ | * 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