Giter Club home page Giter Club logo

internodes-cm's Introduction

Internodes-CM

Implementation of the INTERNODES method for two- and three-dimensional problems in contact mechanics.

Introduction

This code served as a prototype for the inclusion of the method in akantu in collaboration with @Technici4n.

Implementations

The INTERNODES method from [1] is implemented for static problems in contact mechanics [2]. The package akantu is used as a finite element engine to prime the algorithm, wherease the solution is obtained independently with numpy and scipy.

Quick start

Clone the repository

git clone https://github.com/FMatti/Internodes-CM.git
cd Internodes-CM

Optionally create and activate a virtual environment (Python 3.8 is recommended for pip installation of akantu)

python -m venv .venv
source .venv/bin/activate (on Linux, macOS)
.venv\Scripts\activate.bat (on Windows)

Install the required packages

pip install --upgrade pip
pip install -r requirements.txt

Generate the meshes (replace the placeholders with appropriate values, i.e. for [DIMENSION] you should use 2 or 3 and for the filenames a valid string)

GMSH -[DIMENSION] -o [MESHNAME].msh [GEONAME].geo

File structure

The main implementation is found in the file contact_mechanics_internodes.py. Some examples can be found in the jupyter notebooks.

Internodes-CM
│   README.md
|   contact_mechanics_internodes.py         (source file of all implementations)
|   example2d.ipynb                         (two-dimensional example)
|   example3d.ipynb                         (three-dimensional example)
|   helper.py                               (helper file containing utility functions) 
|   plots.ipynb                             (notebook used to generate plots)
|   requirements.txt                        (list of required packages)
|   test_contact_mechanics_internodes.py    (tests for source file)
|
└───material                                (akantu material file)
|   |   material.dat                       
|
└───mesh                                    (geometry files to generate meshes)
|   |   contact2d_circle.geo                 
|   |   contact2d_circle_circle.geo
|   |   contact2d_plane_circle.geo
|   |   contact3d_plane_sphere.geo
|   |   contact3d_sphere.geo
|   |   contact3d_sphere_sphere.geo 
|
└───presentation
|   |   ...
|
└───report
|   |   ...

References

[1] Simone Deparis, Davide Forti, and Alfio Quarteroni. A rescaled localized radial basis function interpolation on non-cartesian and nonconforming grids. SIAM Journal on Scientific Computing, 36(6):A2745–A2762, 2014. doi: 10.1137/130947179

[2] Yannis Voet, Guillaume Anciaux, Simone Deparis, and Paola Gervasio. The internodes method for applications in contact mechanics and dedicated preconditioning techniques. Computers & Mathematics with Applications, 127:48–64, 2022. doi: 10.1016/j.camwa.2022.09.019

internodes-cm's People

Contributors

fmatti avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

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.