1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #ifndef DUNE_TYPEDEF_HEAT_HPP
17 #define DUNE_TYPEDEF_HEAT_HPP
18
19 #include "deformation.hh"
20 #include "tumor_growth.h"
21
22 typedef Dune::GridSelector::GridType HostGridType;
23 typedef Dune::GeometryGrid< HostGridType, DeformationCoordFunction > GridType;
24
25
26
27
28
29
30 typedef Dune::Fem::AdaptiveLeafGridPart< GridType, Dune::InteriorBorder_Partition >
31 GridPartType;
32 typedef Dune::Fem::FunctionSpace< double, double, GridType::dimensionworld, 1 >
33 FunctionSpaceType;
34
35 typedef Dune::Fem::L2Norm< GridPartType > L2NormType;
36 typedef Dune::Fem::H1Norm< GridPartType > H1NormType;
37
38 typedef Problem::RHSFunction< FunctionSpaceType > RHSFunctionType;
39 typedef Problem::InitialData< FunctionSpaceType > InitialDataType;
40
41
42 typedef Dune::Fem::LagrangeDiscreteFunctionSpace< FunctionSpaceType,
43 GridPartType, POLORDER >
44 DiscreteFunctionSpaceType;
45
46
47 typedef Dune::Fem::AdaptiveDiscreteFunction< DiscreteFunctionSpaceType >
48 DiscreteFunctionType;
49
50
51 typedef Dune::Fem::CGInverseOperator< DiscreteFunctionType >
52 LinearInverseOperatorType;
53
54
55 typedef Dune::LagrangeInterpolation< DiscreteFunctionType > InterpolationType;
56
57
58 typedef Problem::HeatModel< FunctionSpaceType > HeatModelType;
59 typedef EllipticOperator< DiscreteFunctionType, HeatModelType > EllipticOperatorType;
60
61
62 typedef Problem::NonlinearHeatModel<FunctionSpaceType> NonlinearModel;
63 typedef NonlinearHeatOperator<DiscreteFunctionType,
64 NonlinearModel> NonlinearOperator;
65
66
67 typedef Dune::tuple< DiscreteFunctionType* > IOTupleType;
68
69 typedef Dune::Fem::DataOutput< GridType, IOTupleType > DataOutputType;
70
71
72
73 using Vec_Fun_Space = Dune::Fem::
74 FunctionSpace<double, double, GridType::dimensionworld, 3>;
75
76
77 using Vec_FE_Space = Dune::Fem::
78 LagrangeDiscreteFunctionSpace<Vec_Fun_Space, GridPartType, POLORDER>;
79 using Vec_FE_Fun = Dune::Fem::AdaptiveDiscreteFunction<Vec_FE_Space>;
80 using Vec_CG_Solver = Dune::Fem::CGInverseOperator<Vec_FE_Fun>;
81 using R3Interpolation = Dune::LagrangeInterpolation<Vec_FE_Fun>;
82 using R3Identity = Problem::Identity<Vec_Fun_Space>;
83
84
85
86
87
88
89
90
91
92
93
94 using Tumor_surface_model
95 = Tumor_growth::Surface_evolution_model<Vec_Fun_Space, FunctionSpaceType>;
96 using Tumor_surface_operator
97 = Tumor_growth::Surface_parabolic_operator<Vec_FE_Fun, DiscreteFunctionType,
98 Tumor_surface_model>;
99 using Tumor_Brusselator_model
100 = Tumor_growth::Brusselator_model<FunctionSpaceType>;
101 using Tumor_Brusselator_operator
102 = Tumor_growth::Scalar_parabolic_operator<DiscreteFunctionType, Tumor_Brusselator_model>;
103
104 using Initial_data_u = Tumor_growth::Initial_data_u<FunctionSpaceType>;
105 using Initial_data_w = Tumor_growth::Initial_data_u<FunctionSpaceType>;
106
107 #endif