Update Readme and CMakeLists for new git repo path
This commit is contained in:
parent
746face829
commit
cad74747bf
2 changed files with 34 additions and 11 deletions
|
@ -25,7 +25,7 @@ set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_OBJECTS 0)
|
|||
# Add Vec3 as a dependency
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(Vec3
|
||||
GIT_REPOSITORY https://www.alexselimov.com/git/aselimov/Vec3.git
|
||||
GIT_REPOSITORY https://forge.alexselimov.com/aselimov/Vec3.git
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(Vec3)
|
||||
|
|
43
README.md
43
README.md
|
@ -1,12 +1,35 @@
|
|||
# C++ Project Template
|
||||
When setting out on a new project in C++ there are a few configuration steps
|
||||
which need to be completed prior to actually getting down to writing code.
|
||||
This repository is going to be a C++ project template that already has the
|
||||
following components:
|
||||
# ⚛️ CudaCAC
|
||||
|
||||
- Directory Structure
|
||||
- Make Build (CMake)
|
||||
- CUDA integration
|
||||
- Unit Test Framework (Google Test)
|
||||
- API Documentation (Doxygen)
|
||||
CudaCAC is a Cuda accelerated implementation of the Concurrent Atomistic-Continuum (CAC) method.
|
||||
|
||||
## Background
|
||||
|
||||
### Molecular Dynamics
|
||||
|
||||
Molecular dynamics (MD) is a computer simulation method for analyzing the physical movements of atoms and molecules. The atoms and molecules are allowed to interact for a fixed period of time, giving a view of the dynamic evolution of the system. In the most common version, the trajectories of atoms and molecules are determined by numerically solving Newton's equations of motion for a system of interacting particles, where forces between the particles and their potential energies are often calculated using interatomic potentials or molecular mechanics force fields.
|
||||
|
||||
### Concurrent Atomistic-Continuum (CAC) Method
|
||||
|
||||
The Concurrent Atomistic-Continuum (CAC) method is a multiscale modeling technique used for simulating materials at the nano and micro-scale. It partitions a simulation into a coarse-grained domain and an atomistic domain. This allows for the detailed, fully-resolved atomistic simulation of important regions, like those with lattice defects, while more efficiently modeling the rest of the material as a continuum. A key feature of the CAC method is its use of a unified set of governing equations and interatomic potentials across both the atomistic and continuum domains. This avoids the need for complex coupling procedures at the interface of the two regions.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
This project leverages a high-performance computing stack for its simulations:
|
||||
|
||||
* **C++:** The core application logic is written in modern C++, providing a balance of performance and high-level abstractions.
|
||||
* **CUDA:** NVIDIA's CUDA platform is used to accelerate the computationally intensive parts of the simulation on the GPU.
|
||||
* **CMake:** A cross-platform build system used to manage the compilation and linking of the project.
|
||||
* **Google Test:** A testing framework for writing C++ tests.
|
||||
* **Doxygen:** A documentation generator for C++ code.
|
||||
|
||||
## Roadmap
|
||||
|
||||
- [ ] Complete basic molecular dynamics atomistic solver using Cuda using Lennard-Jones pair potential with order O(n^2) calculations
|
||||
- [ ] Implement CAC rhombohedral finite element solver
|
||||
- [ ] Adding neighbor lists with cutoff distances to reduce runtime complexity
|
||||
- [ ] Adding multi-body potential support
|
||||
- [ ] Adding support for overlaying multiple potentials
|
||||
|
||||
## Contact
|
||||
|
||||
For any questions or inquiries, please contact Alex Selimov at [alex@alexselimov.com](mailto:alex@alexselimov.com) or visit his website at [alexselimov.com](https://alexselimov.com).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue