OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
CurlCoefficients3D.h
Go to the documentation of this file.
1#pragma once
3#include "Grid/Grid.h"
4
5
6template <class T>
8{
9private:
15 using CurlCoefficients<T>::GetMaterialInYAtIndex;
16 using CurlCoefficients<T>::GetMaterialInZAtIndex;
17 using CurlCoefficients<T>::HasZeroValueAtIndex;
20
21 const Grid<T> &_grid;
22
23 T timeDiscretization = 0;
24
25 T* _coefficientComponentXCurlY = nullptr;
26 T* _coefficientComponentXCurlZ = nullptr;
27 T* _coefficientComponentYCurlX = nullptr;
28 T* _coefficientComponentYCurlZ = nullptr;
29 T* _coefficientComponentZCurlX = nullptr;
30 T* _coefficientComponentZCurlY = nullptr;
31
32 virtual void CheckConsistency() override;
33 virtual void CalculateTimeStep() override;
34 virtual void InitiateCoefficientContainer() override;
35 virtual void CreateCoefficients() override;
36
37public:
38 explicit CurlCoefficients3D(const Grid<T> &grid) : _grid(grid) {};
41
42 void TestValues(T value);
43
45
46 inline T* GetCoefficientComponentXCurlYAtIndex(index_t index) const { return &_coefficientComponentXCurlY[index]; };
47 inline T* GetCoefficientComponentXCurlZAtIndex(index_t index) const { return &_coefficientComponentXCurlZ[index]; };
48 inline T* GetCoefficientComponentYCurlXAtIndex(index_t index) const { return &_coefficientComponentYCurlX[index]; };
49 inline T* GetCoefficientComponentYCurlZAtIndex(index_t index) const { return &_coefficientComponentYCurlZ[index]; };
50 inline T* GetCoefficientComponentZCurlXAtIndex(index_t index) const { return &_coefficientComponentZCurlX[index]; };
51 inline T* GetCoefficientComponentZCurlYAtIndex(index_t index) const { return &_coefficientComponentZCurlY[index]; };
52
53 inline T GetTimeDiscretization() const { return timeDiscretization; };
54};
55
bsoncxx::types::value value
Definition DocumentManager.h:16
int64_t index_t
Definition SystemDependentDefines.h:13
Definition CurlCoefficients3D.h:8
void TestValues(T value)
Definition CurlCoefficients3D.hpp:6
virtual void CreateCoefficients() override
Definition CurlCoefficients3D.hpp:72
CurlCoefficients3D(const Grid< T > &grid)
Definition CurlCoefficients3D.h:38
virtual void CalculateTimeStep() override
Definition CurlCoefficients3D.hpp:142
T * GetCoefficientComponentXCurlYAtIndex(index_t index) const
Definition CurlCoefficients3D.h:46
CurlCoefficients3D(CurlCoefficients3D &other)=delete
T GetTimeDiscretization() const
Definition CurlCoefficients3D.h:53
T * GetCoefficientComponentZCurlXAtIndex(index_t index) const
Definition CurlCoefficients3D.h:50
T * GetCoefficientComponentZCurlYAtIndex(index_t index) const
Definition CurlCoefficients3D.h:51
T * GetCoefficientComponentXCurlZAtIndex(index_t index) const
Definition CurlCoefficients3D.h:47
virtual void InitiateCoefficientContainer() override
Definition CurlCoefficients3D.hpp:228
CurlCoefficients3D & operator=(CurlCoefficients3D &other)=delete
virtual void CheckConsistency() override
Definition CurlCoefficients3D.hpp:50
T * GetCoefficientComponentYCurlZAtIndex(index_t index) const
Definition CurlCoefficients3D.h:49
T * GetCoefficientComponentYCurlXAtIndex(index_t index) const
Definition CurlCoefficients3D.h:48
~CurlCoefficients3D()
Definition CurlCoefficients3D.hpp:21
Definition CurlCoefficients.h:9
MaterialProperties * _materialProperties
Definition CurlCoefficients.h:13
float _stabilityFactor
Definition CurlCoefficients.h:14
SurfaceDiscretization * _surfaceDiscretization
Definition CurlCoefficients.h:11
EdgeDiscretization * _edgeDiscretization
Definition CurlCoefficients.h:12
double SqrRoot(double value)
Definition CurlCoefficients.h:23
double(MaterialProperties::* GetMaterialInXAtIndex)(index_t index) const
Definition CurlCoefficients.h:16
double Potenz(double base, double exp)
Definition CurlCoefficients.h:22
Definition Grid.h:15