|
High Performance Plasticity
0.5.0
|
Header file for crystal classes CUDA implementations. More...
#include <hpp/config.h>#include <type_traits>#include <hpp/rotation.h>#include <hpp/cudaUtils.h>#include <hpp/tensorCUDA.h>#include <hpp/spectralUtilsCUDA.h>#include <hpp/gshCUDA.h>
Go to the source code of this file.
Namespaces | |
| hpp | |
Functions | |
| template<typename T > | |
| bool | hpp::operator== (const SpectralCrystalCUDA< T > &l, const SpectralCrystalCUDA< T > &r) |
| template<typename T , unsigned int N> | |
| __device__ T | hpp::slipDeformationResistanceStepSpectralSolver (const CrystalPropertiesCUDA< T, N > *props, const T s_alpha, const T gammaSum, const T dt) |
| template<typename T , unsigned int P> | |
| __device__ void | hpp::getSpectralCrystalDatabaseCoordinate (SpectralCrystalCUDA< T > &crystal, SpectralDatabaseUnifiedCUDA< T, 4, P > *db, Tensor2CUDA< T, 3, 3 > &RStretchingTensor, T theta, unsigned int *dbCoord) |
| template<typename T , unsigned int N> | |
| __global__ void | hpp::SPECTRAL_POLYCRYSTAL_STEP (unsigned int nCrystals, SpectralCrystalCUDA< T > *crystals, CrystalPropertiesCUDA< T, N > *props, Tensor2CUDA< T, 3, 3 > RStretchingTensor, Tensor2AsymmCUDA< T, 3 > WNext, T theta, T eDot, T dt, SpectralDatabaseCUDA< T, 4 > *db, Tensor2CUDA< T, 3, 3 > *TCauchyPerBlockSums) |
| template<typename T , unsigned int N, unsigned int P> | |
| __global__ void | hpp::SPECTRAL_POLYCRYSTAL_STEP_UNIFIED (unsigned int nCrystals, SpectralCrystalCUDA< T > *crystals, CrystalPropertiesCUDA< T, N > *props, Tensor2CUDA< T, 3, 3 > RStretchingTensor, Tensor2AsymmCUDA< T, 3 > WNext, T theta, T eDot, T dt, SpectralDatabaseUnifiedCUDA< T, 4, P > *db, Tensor2CUDA< T, 3, 3 > *TCauchyPerBlockSums) |
| template<typename T > | |
| __global__ void | hpp::GET_GSH_COEFFS (const SpectralCrystalCUDA< T > *crystals, unsigned int ncrystals, GSHCoeffsCUDA< T > *coeffsPerBlockSums) |
| template<typename T > | |
| __global__ void | hpp::GET_AVERAGE_TCAUCHY (unsigned int nCrystals, const SpectralCrystalCUDA< T > *crystals, Tensor2CUDA< T, 3, 3 > *TCauchyGlobal) |
| template<typename T > | |
| __device__ Tensor2CUDA< T, 3, 3 > | hpp::EulerZXZRotationMatrixCUDA (EulerAngles< T > angles) |
Header file for crystal classes CUDA implementations.
A class for simulating a polycrystal using a Fourier compressed database.
A class for storing crystal information in a way that makes coalesced global memory reads/writes faster.
| T | scalar type |
| N | number of slip systems |
Instances of this class only ever live on the host. As it stands this implementation isn't even remotely thread safe, and it is not safe to make and operate on multiple copies of these objects.
| T | scalar type |
| N | number of slip systems |
The class presents an interface that allows it to be modified only through the Generalized Spherical Harmonic representation.
The implementation takes an approach where the polycrystal is composed of a number of single crystals that are evenly distributed in orientation space within the fundamental zone. Each crystal represents a volume in the fundamental zone. Associated with each crystal is a density, with the summed density for all of the crystals coming to 1.
Instances of this class only ever live on the host.
| T | scalar type |
| N | number of slip systems in the polycrystal |