2 #ifndef DUNE_FEM_PETSCSLAVEDOFPROVIDER_HH 3 #define DUNE_FEM_PETSCSLAVEDOFPROVIDER_HH 24 template<
typename DFSpace >
25 class PetscSlaveDofProvider :
public SlaveDofsProvider< DFSpace >
28 typedef DFSpace DiscreteFunctionSpaceType;
30 typedef PetscSlaveDofProvider< DiscreteFunctionSpaceType > ThisType;
31 typedef SlaveDofsProvider< DiscreteFunctionSpaceType > BaseType;
33 using BaseType :: space_;
34 using BaseType :: slaveDofs_;
37 typedef typename DiscreteFunctionSpaceType :: BlockMapperType BlockMapperType;
38 typedef SlaveDofs< DiscreteFunctionSpaceType, BlockMapperType > SlaveDofsType;
42 typedef PetscDofMappings< SlaveDofsType > PetscDofMappingType;
43 typedef SingletonList< SlaveDofsType*, PetscDofMappingType > PetscDofMappingProviderType;
45 explicit PetscSlaveDofProvider (
const DiscreteFunctionSpaceType &space )
47 dofMapping_( PetscDofMappingProviderType::getObject( slaveDofs_ ) )
52 ~PetscSlaveDofProvider()
55 PetscDofMappingProviderType::removeObject( dofMapping_ );
58 const PetscDofMappingType& dofMapping()
const {
return dofMapping_; }
59 PetscDofMappingType& dofMapping() {
return dofMapping_; }
63 PetscDofMappingType& dofMapping_;
71 #endif // #if HAVE_PETSC 73 #endif // DUNE_FEM_PETSCSLAVEDOFPROVIDER_HH
Definition: coordinate.hh:4