Compare commits

..

5 Commits

Author SHA1 Message Date
Rifki Sadikin 76b0868517 Update PoissonSolver3DCylindricalGPU.cxx 6 years ago
Rifki Sadikin a0688993b6 Update PETUNJUKPENGGUNAAN.md 6 years ago
Rifki Sadikin 37fa9320bb Update README.md 6 years ago
Rifki Sadikin 86df11e0ce Update PETUNJUKPENGGUNAAN.md 6 years ago
Rifki Sadikin 52a6fa8451 Update PETUNJUKPENGGUNAAN.md 6 years ago
  1. 11
      PETUNJUKPENGGUNAAN.md
  2. 2
      README.md
  3. 7
      interface/PoissonSolver3DCylindricalGPU.cxx

@ -48,7 +48,7 @@ module load cuda
## Instalasi
Untuk menginstall pustaka PoissonSolver3DCylindricalGPU lakukan langkah-langkah berikut:
1. Jalankan git clone untuk menyalin kode sumber ke direktori local. Perintah ini akan menyalin kode sumber ke direktori **PoissonSolver3D**
1. Jalankan git clone untuk menyalin kode sumber ke direktori local. Perintah ini akan menyalin kode sumber ke direktori **PoissonSolver3DCylindricalGPU**
```
$ git clone http://gitlab.lipi.go.id/rifki.sadikin/PoissonSolver3DCylindricalGPU.git
```
@ -169,7 +169,9 @@ if(PSLIB_NOTFOUND GREATER -1)
message( FATAL_ERROR "Poisson Solver Cuda Library libPoissonSolver3DCylindricalGPU.o not found" )
endif(PSLIB_NOTFOUND GREATER -1)
```
Setelah itu, baru tambahkan perintah pada CMakeLists.txt (dilanjutkan) untuk mengikut sertakan kode sumber user yaitu:
```
# tambah disini kode sumber user
set(CPP_SOURCE PoissonSolver3DGPUTest.cpp)
@ -185,6 +187,7 @@ target_link_libraries(${TARGET_NAME} ${PSLIB} ${LIBCUDA_SO_PATH})
```
2. Pada kode sumber include header file sehingga definisi fungsi dan kelas dapat dipanggil di badan kode.
```c++
#include "PoissonSolver3DCylindricalGPU.h"
...
@ -196,6 +199,7 @@ poissonSolver->SetStrategy(PoissonSolver3DCylindricalGPU::kMultiGrid);
poissonSolver->SetCycleType(PoissonSolver3DCylindricalGPU::kFCycle);
poissonSolver->PoissonSolver3D(VPotential,RhoCharge,kRows,kColumns,kPhiSlices, kIterations,kSymmetry) ;
```
3. Buat folder terpisah untuk mebangun proyek yang menggunakan pustaka misal **buildexamplepoissonsolver** lalu jalankan **cmake** dengan flag spesial yaitu **-DCMAKE_PREFIX_PATH** yang ditetapkan dengan absolute path tempat direktori PoissonSolver3DCylindricalGPU dibangun.
```
@ -282,3 +286,8 @@ Iterasi Error Convergen Error Absolut
[3]: 1.156555e-06 1.377524e-04
[4]: 1.050234e-06 1.373983e-04
```

@ -1,6 +1,6 @@
# PoissonSolver3DCylindricalGPU
PoissonSolver3D adalah pustaka yang dikembangkan untuk menyelesaikan persamaan Poisson 3 dimensi dalam sistem koordinat silinder. Persamaan Poisson secara umum berbentuk $$\nabla^{2}(r,\phi,z) = \rho(r,\phi,z)$$ dengan diketahui nilai tepi pada potensial $$\mathbf{V}$$ dan distribusi buatan $$\rho$$.
PoissonSolver3D adalah pustaka yang dikembangkan untuk menyelesaikan persamaan Poisson 3 dimensi dalam sistem koordinat silinder. Persamaan Poisson secara umum berbentuk $$\nabla^{2}(r,\phi,z) = \rho(r,\phi,z)$$ dengan diketahui nilai tepi pada potensial $\mathbf{V}$ dan distribusi muatan $\rho$.
Untuk menyelesaikan persamaan tersebut digunakan metode multigrid yang diimplementasikan pada akselerator GPU.

@ -1,4 +1,3 @@
/**************************************************************************
* Copyright(c) 2018, *
* Kelompok penelitian komputasi berkinerja tinggi *
@ -30,9 +29,9 @@
#include <math.h>
#include "PoissonSolver3DCylindricalGPU.h"
const float PoissonSolver3DCylindricalGPU::fgkZ0 = 249.7; ///< nominal gating grid position
const float PoissonSolver3DCylindricalGPU::fgkIFCRadius = 83.5; ///< radius which renders the "18 rod manifold" best -> compare calc. of Jim Thomas
const float PoissonSolver3DCylindricalGPU::fgkOFCRadius = 254.5; ///< Mean Radius of the Outer Field Cage (252.55 min, 256.45 max) (cm)
const float PoissonSolver3DCylindricalGPU::fgkZ0 = 249.7; ///< panjang z
const float PoissonSolver3DCylindricalGPU::fgkIFCRadius = 83.5; ///< radius dalam
const float PoissonSolver3DCylindricalGPU::fgkOFCRadius = 254.5; ///< radius luar
float PoissonSolver3DCylindricalGPU::fgExactErr = 1e-4;
float PoissonSolver3DCylindricalGPU::fgConvergenceError = 1e-3;

Loading…
Cancel
Save