Skip to content
Snippets Groups Projects
Commit e369d32a authored by Stefan Girke's avatar Stefan Girke
Browse files

fix nightlybuild and make poisson/stokes compile

parent e36e1696
No related branches found
No related tags found
No related merge requests found
......@@ -590,7 +590,7 @@ namespace Fem
IOTupleType dataTuple()
{
return std::make_tuple( &solution(), &exact_ );
return std::make_tuple( &solution() );
}
//! finalize computation by calculating errors and EOCs
......
......@@ -14,6 +14,7 @@
#include <dune/fem-dg/algorithm/base.hh>
#include <dune/fem-dg/algorithm/handler/solvermonitor.hh>
#include <dune/fem-dg/algorithm/handler/datawriter.hh>
namespace Dune
......@@ -25,7 +26,7 @@ namespace Fem
template< class GridImp,
class ProblemTraits,
int polOrd,
class SolverMonitorHandlerImp >
class HandlerTraits >
struct SteadyStateTraits
{
enum { polynomialOrder = polOrd };
......@@ -65,17 +66,17 @@ namespace Fem
// type of IOTuple
typedef typename DiscreteTraits::IOTupleType IOTupleType;
typedef SolverMonitorHandlerImp SolverMonitorHandlerType;
typedef typename HandlerTraits::SolverMonitorHandlerType SolverMonitorHandlerType;
typedef typename HandlerTraits::DataWriterHandlerType DataWriterHandlerType;
};
template< class Grid, class ProblemTraits, int polOrder, class HandlerTraits = typename ProblemTraits::template DiscreteTraits< Grid, polOrder >::HandlerTraits >
class SteadyStateAlgorithm
: public AlgorithmBase< SteadyStateTraits< Grid, ProblemTraits, polOrder,
typename HandlerTraits::SolverMonitorHandlerType > >
: public AlgorithmBase< SteadyStateTraits< Grid, ProblemTraits, polOrder, HandlerTraits > >
{
typedef SteadyStateTraits< Grid, ProblemTraits, polOrder,
typename HandlerTraits::SolverMonitorHandlerType > Traits;
typedef SteadyStateTraits< Grid, ProblemTraits, polOrder, HandlerTraits > Traits;
typedef AlgorithmBase< Traits > BaseType;
public:
......@@ -110,6 +111,7 @@ namespace Fem
typedef typename Traits::AssemblerType AssemblerType;
typedef typename Traits::SolverMonitorHandlerType SolverMonitorHandlerType;
typedef typename Traits::DataWriterHandlerType DataWriterHandlerType;
typedef uint64_t UInt64Type ;
......
......@@ -104,6 +104,7 @@ public:
typedef typename Traits :: EntityType EntityType;
typedef typename Traits :: IntersectionType IntersectionType;
static const bool hasDiffusion = true;
public:
static const int ConstantVelocity = false;
/**
......
......@@ -107,7 +107,6 @@ struct PoissonProblemCreator
static const Dune::DGDiffusionFluxIdentifier PrimalDiffusionFluxId = Dune::method_general;
typedef Dune::Fem::FunctionSpace< typename GridType::ctype, double, AnalyticalTraitsType::ModelType::dimDomain, 3> FVFunctionSpaceType;
typedef Dune::Fem::FiniteVolumeSpace<FVFunctionSpaceType,GridPartType, 0, Dune::Fem::SimpleStorage> IndicatorSpaceType;
typedef Dune::Fem::AdaptiveDiscreteFunction<IndicatorSpaceType> IndicatorType;
......@@ -122,7 +121,7 @@ struct PoissonProblemCreator
public:
typedef Dune::Fem::GridFunctionAdapter< ExactSolutionType, GridPartType > GridExactSolutionType;
typedef std::tuple< DiscreteFunctionType*, GridExactSolutionType* > IOTupleType;
typedef std::tuple< DiscreteFunctionType* > IOTupleType;
static const bool symmetricSolver = true ;
typedef Solvers<DiscreteFunctionSpaceType, solverType, symmetricSolver> SolversType;
......@@ -140,6 +139,7 @@ struct PoissonProblemCreator
typedef Dune::Fem::RestrictProlongDefault< DiscreteFunctionType > RestrictionProlongationType;
public:
typedef Dune::Fem::DefaultSteadyStateSolverMonitorHandler SolverMonitorHandlerType;
typedef Dune::Fem::DefaultDataWriterHandler< GridType, IOTupleType > DataWriterHandlerType;
};
};
......
......@@ -110,6 +110,8 @@ public:
typedef typename Traits :: EntityType EntityType;
typedef typename Traits :: IntersectionType IntersectionType;
static const int hasDiffusion = true;
public:
static const int ConstantVelocity = false;
/**
......
......@@ -116,7 +116,7 @@ struct PoissonProblemCreator
public:
typedef Dune::Fem::GridFunctionAdapter< ExactSolutionType, GridPartType > GridExactSolutionType;
typedef std::tuple< DiscreteFunctionType*, GridExactSolutionType* > IOTupleType;
typedef std::tuple< DiscreteFunctionType* > IOTupleType;
static const bool symmetricSolver = true ;
typedef Solvers<DiscreteFunctionSpaceType, solverType, symmetricSolver> SolversType;
......@@ -130,6 +130,7 @@ struct PoissonProblemCreator
struct HandlerTraits
{
typedef Dune::Fem::DefaultSteadyStateSolverMonitorHandler SolverMonitorHandlerType;
typedef Dune::Fem::DefaultDataWriterHandler< GridType, IOTupleType > DataWriterHandlerType;
};
};
......@@ -222,15 +223,17 @@ public:
typedef Dune::Fem::FiniteVolumeSpace<FVFunctionSpaceType,GridPartType, 0, Dune::Fem::SimpleStorage> IndicatorSpaceType;
typedef Dune::Fem::AdaptiveDiscreteFunction<IndicatorSpaceType> IndicatorType;
static const Dune::DGDiffusionFluxIdentifier PrimalDiffusionFluxId = Dune::method_general;
typedef Dune::OperatorTraits< GridPartType, polynomialOrder, AnalyticalTraitsType,
DiscreteFunctionType, FluxType, IndicatorType,
DiscreteFunctionType, FluxType, PrimalDiffusionFluxId, IndicatorType,
AdaptationHandlerType, ExtraParameterTuple > OperatorTraitsType;
public:
typedef Dune::Fem::GridFunctionAdapter< ExactSolutionType, GridPartType > GridExactSolutionType;
typedef std::tuple< typename std::tuple_element<0,typename PoissonDiscreteTraits::IOTupleType>::type, typename std::tuple_element<1,typename PoissonDiscreteTraits::IOTupleType>::type,
GridExactSolutionType*, DiscreteFunctionType* > IOTupleType;
typedef std::tuple< typename std::tuple_element<0,typename PoissonDiscreteTraits::IOTupleType>::type, DiscreteFunctionType* >
IOTupleType;
static const bool symmetricSolver = true ;
typedef typename Dune::StokesAssembler< typename PoissonDiscreteTraits::DiscreteFunctionType,
......@@ -245,6 +248,7 @@ public:
struct HandlerTraits
{
typedef Dune::Fem::DefaultSteadyStateSolverMonitorHandler SolverMonitorHandlerType;
typedef Dune::Fem::DefaultDataWriterHandler< GridType, IOTupleType > DataWriterHandlerType;
};
};
......
......@@ -396,7 +396,7 @@ namespace Fem
IOTupleType dataTuple ()
{
return std::tuple_cat( ellAlg_.dataTuple(), std::make_tuple( &exact_, &solution() ) );
return std::tuple_cat( ellAlg_.dataTuple(), std::make_tuple( &solution() ) );
//return make_tuple( &solution_, &solution_,&stokesSigmaEstimator_.data(), &ugrid_, &pgrid_ );
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment