GCC Code Coverage Report


Directory: ./
File: Solver/linearProblemParametricHeat.hpp
Date: 2024-04-14 07:32:34
Exec Total Coverage
Lines: 0 5 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 // ______ ______ _ _ _____ ______
2 // | ____| ____| | (_)/ ____| | ____|
3 // | |__ | |__ | | _| (___ ___| |__
4 // | __| | __| | | | |\___ \ / __| __|
5 // | | | |____| |____| |____) | (__| |____
6 // |_| |______|______|_|_____/ \___|______|
7 // Finite Elements for Life Sciences and Engineering
8 //
9 // License: LGL2.1 License
10 // FELiScE default license: LICENSE in root folder
11 //
12 // Main authors: J. Foulon & M. Fragu
13 //
14
15 #ifndef _LINEARPROBLEMPARAMETRICHEAT_HPP
16 #define _LINEARPROBLEMPARAMETRICHEAT_HPP
17
18 // System includes
19
20 // External includes
21
22 // Project includes
23 #include "Solver/linearProblem.hpp"
24 #include "Core/felisceParam.hpp"
25 #include "FiniteElement/elementField.hpp"
26
27 namespace felisce {
28 /*!
29 \class LinearProblemParametricHeat
30 \authors J. Foulon & M. Fragu
31 \date 16/11/2011
32 \brief Manage specific functions for parametric heat problem with 2 matrix
33 and 2 vectors.
34 */
35 class LinearProblemParametricHeat:
36 public LinearProblem {
37 public:
38 LinearProblemParametricHeat();
39 ~LinearProblemParametricHeat() override;
40
41 void initialize(std::vector<GeometricMeshRegion::Pointer>& mesh, FelisceTransient::Pointer fstransient, MPI_Comm& comm, bool doUseSNES) override;
42
43 void initPerElementType(ElementType eltType, FlagMatrixRHS flagMatrixRHS = FlagMatrixRHS::matrix_and_rhs) override;
44 void initPerDomain(int label, FlagMatrixRHS flagMatrixRHS = FlagMatrixRHS::matrix_and_rhs) override {
45 (void) label;
46 (void) flagMatrixRHS;
47 }
48
49 void computeElementArray(const std::vector<Point*>& elemPoint, const std::vector<felInt>& elemIdPoint, felInt& iel, FlagMatrixRHS flagMatrixRHS = FlagMatrixRHS::matrix_and_rhs) override;
50
51 void initPerElementTypeBD(ElementType eltType, FlagMatrixRHS flagMatrixRHS = FlagMatrixRHS::matrix_and_rhs) override {
52 (void) eltType;
53 (void) flagMatrixRHS;
54 }
55
56 void initPerDomainBD(int label, FlagMatrixRHS flagMatrixRHS = FlagMatrixRHS::matrix_and_rhs) override {
57 (void) label;
58 (void) flagMatrixRHS;
59 }
60
61 void computeElementArrayBD(const std::vector<Point*>& elemPoint, const std::vector<felInt>& elemIdPoint, felInt& iel, FlagMatrixRHS flagMatrixRHS = FlagMatrixRHS::matrix_and_rhs) override {
62 (void) flagMatrixRHS;
63 (void) elemIdPoint;
64 (void) elemPoint;
65 (void) iel;
66
67 }
68
69
70 void defineBC() override {}
71 void finalizeEssBCConstantInT() {}
72 void finalizeEssBCTransient() {}
73 void copyMatrixRHS() override;
74 void addScaleMatrix(double coef) override;
75 protected:
76 felInt m_iTemperature;
77 CurrentFiniteElement* m_feTemp;
78 private:
79 ElementField m_elemField;
80 PetscMatrix m_matrix;
81 bool m_buildMatrix;
82 };
83 }
84
85 #endif
86