root/old_code/tumor_growth/tumor_typedef.h

/* [<][>][^][v][top][bottom][index][help] */
   1 /*********************************************************************
   2  *  dune_typedef_heat.hpp                                            *
   3  *                                                                   *
   4  *  This header just contains lots of typedef by the original author *
   5  *  of heat.cc, heat.hh, etc.                                        *
   6  *                                                                   *
   7  *  Revision history:                                                *
   8  *  none                                                             *
   9  *                                                                   *
  10  *                                                                   *
  11  *  Created by Christian Power on 19.06.14.                          *
  12  *  Copyright (c) 2014 Christian Power. All rights reserved.         *
  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 // CAPG: Perhaps this is usefull
  26 // create host grid part consisting of leaf level elements
  27 // typedef Dune::Fem::LeafGridPart< HGridType > HostGridPartType;
  28 // HostGridPartType hostGridPart( grid );
  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 // choose type of discrete function space
  42 typedef Dune::Fem::LagrangeDiscreteFunctionSpace< FunctionSpaceType, 
  43                                                   GridPartType, POLORDER > 
  44 DiscreteFunctionSpaceType;
  45 
  46 // choose type of discrete function
  47 typedef Dune::Fem::AdaptiveDiscreteFunction< DiscreteFunctionSpaceType > 
  48 DiscreteFunctionType;
  49 
  50 // choose inverse operator
  51 typedef Dune::Fem::CGInverseOperator< DiscreteFunctionType > 
  52 LinearInverseOperatorType;
  53 
  54 // select Lagrange interpolation
  55 typedef Dune::LagrangeInterpolation< DiscreteFunctionType > InterpolationType;
  56 
  57 // define Laplace operator
  58 typedef Problem::HeatModel< FunctionSpaceType > HeatModelType;
  59 typedef EllipticOperator< DiscreteFunctionType, HeatModelType > EllipticOperatorType;
  60 
  61 // define nonlinear operator
  62 typedef Problem::NonlinearHeatModel<FunctionSpaceType> NonlinearModel;
  63 typedef NonlinearHeatOperator<DiscreteFunctionType, 
  64                               NonlinearModel>              NonlinearOperator;
  65 
  66 // type of input/output
  67 typedef Dune::tuple< DiscreteFunctionType* > IOTupleType;
  68 // type of data writer
  69 typedef Dune::Fem::DataOutput< GridType, IOTupleType > DataOutputType;
  70 
  71 // ----------------------------------------------------------------------
  72 // Vector valued stuff
  73 using Vec_Fun_Space = Dune::Fem::
  74   FunctionSpace<double, double, GridType::dimensionworld, 3>;
  75 // using Vec_Init_Data = Problem::InitialData<Vec_Fun_Space>;  
  76 // Instead of defining a costume InitialData_Vec we take identity.  
  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 // MCF model
  86 // using Vec_Model = MCF_Model<Vec_Fun_Space>;
  87 // using Vec_Operator = Vec_EllipticOperator<Vec_FE_Fun, Vec_Model>
  88 
  89 // reg MCF model
  90 // using Vec_Model = Reg_MCF_Model<Vec_Fun_Space>;
  91 // using Vec_Operator = Reg_Vec_EllipticOperator<Vec_FE_Fun, Vec_Model>;
  92 
  93 // Tumor growth model
  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 // #ifndef DUNE_TYPEDEF_HEAT_HPP

/* [<][>][^][v][top][bottom][index][help] */