milupHPC documentation
  • src
  • materials
material.cu
Go to the documentation of this file.
1#include "../../include/materials/material.cuh"
2#include "../../include/cuda_utils/cuda_launcher.cuh"
3
4CUDA_CALLABLE_MEMBER Material::Material() {
5
6}
7
8CUDA_CALLABLE_MEMBER Material::~Material() {
9
10}
11
12CUDA_CALLABLE_MEMBER void Material::info() {
13 printf("Material: ID = %i\n", ID);
14 printf("Material: sml = %f\n", sml);
15 printf("Material: interactions = %i\n", interactions);
16 printf("Material: alpha = %f\n", artificialViscosity.alpha);
17 printf("Material: eos: type = %i\n", eos.type);
18 printf("Material: eos: polytropic_K = %f\n", eos.polytropic_K);
19 printf("Material: eos: polytropic_gamma = %f\n", eos.polytropic_gamma);
20}
21
22namespace MaterialNS {
23 namespace Kernel {
24 __global__ void info(Material *material) {
25 material->info();
26 }
27
28 void Launch::info(Material *material) {
29 ExecutionPolicy executionPolicy(1, 1);
30 cuda::launch(false, executionPolicy, ::MaterialNS::Kernel::info, material);
31 }
32 }
33}
34
35
36CUDA_CALLABLE_MEMBER ArtificialViscosity::ArtificialViscosity() : alpha(0.0), beta(0.0) {
37
38}
39CUDA_CALLABLE_MEMBER ArtificialViscosity::ArtificialViscosity(real alpha, real beta) : alpha(alpha), beta(beta) {
40
41}
42
43CUDA_CALLABLE_MEMBER EqOfSt::EqOfSt() : type(0), polytropic_K(0.), polytropic_gamma(0.) {
44
45}
46
47CUDA_CALLABLE_MEMBER EqOfSt::EqOfSt(int type, real polytropic_K, real polytropic_gamma) : type(type),
48 polytropic_K(polytropic_K), polytropic_gamma(polytropic_gamma) {
49
50}
51
ExecutionPolicy
Execution policy/instruction for CUDA kernel execution.
Definition: cuda_launcher.cuh:33
Material
Material parameters.
Definition: material.cuh:88
Material::ID
integer ID
Definition: material.cuh:110
Material::Material
CUDA_CALLABLE_MEMBER Material()
Definition: material.cu:4
Material::interactions
integer interactions
Definition: material.cuh:111
Material::eos
EqOfSt eos
Definition: material.cuh:115
Material::sml
real sml
Definition: material.cuh:112
Material::artificialViscosity
ArtificialViscosity artificialViscosity
Definition: material.cuh:114
Material::info
CUDA_CALLABLE_MEMBER void info()
Definition: material.cu:12
Material::~Material
CUDA_CALLABLE_MEMBER ~Material()
Definition: material.cu:8
CUDA_CALLABLE_MEMBER
#define CUDA_CALLABLE_MEMBER
Definition: cuda_utilities.cuh:30
Kernel
Definition: device_rhs.cuh:7
MaterialNS::Kernel::Launch::info
void info(Material *material)
Wrapper for MaterialNS::Kernel::info().
Definition: material.cu:28
MaterialNS::Kernel::info
__global__ void info(Material *material)
Debug kernel giving information about material(s).
Definition: material.cu:24
MaterialNS
Material related functions and kernels.
Definition: material.cuh:196
cuda::launch
real launch(bool timeKernel, const ExecutionPolicy &policy, void(*f)(Arguments...), Arguments... args)
CUDA execution wrapper function.
Definition: cuda_launcher.cuh:114
real
double real
Definition: parameter.h:15
ArtificialViscosity::alpha
real alpha
Artificial viscosity .
Definition: material.cuh:48
ArtificialViscosity::ArtificialViscosity
CUDA_CALLABLE_MEMBER ArtificialViscosity()
Definition: material.cu:36
EqOfSt::polytropic_K
real polytropic_K
Definition: material.cuh:77
EqOfSt::polytropic_gamma
real polytropic_gamma
Definition: material.cuh:78
EqOfSt::EqOfSt
CUDA_CALLABLE_MEMBER EqOfSt()
Definition: material.cu:43
EqOfSt::type
int type
Definition: material.cuh:76

milupHPC - src/materials/material.cu Source File
Generated on Wed Aug 31 2022 12:16:52 by Doxygen 1.9.3