/****************************************************************************** * * AMDiS - Adaptive multidimensional simulations * * Copyright (C) 2013 Dresden University of Technology. All Rights Reserved. * Web: https://fusionforge.zih.tu-dresden.de/projects/amdis * * Authors: * Simon Vey, Thomas Witkowski, Andreas Naumann, Simon Praetorius, et al. * * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * * This file is part of AMDiS * * See also license.opensource.txt in the distribution. * ******************************************************************************/ #ifndef AMDIS_PETSCTYPES_H #define AMDIS_PETSCTYPES_H #include #include #include #include #include #include namespace AMDiS { /// pair of nested matrices and blockmatrix struct PetscMatrix { PetscMatrix() : matrix(PETSC_NULL), isNested(false) {} std::vector nestMat; Mat matrix; void destroy(); bool isNested; }; /// pair of nested vectors and blockvector struct PetscVector { PetscVector() : vector(PETSC_NULL), isNested(false) {} std::vector nestVec; Vec vector; void destroy(); bool isNested; }; /// structure for parameter mapping struct PetscParameters { std::map matSolverPackage; std::map solverMap; std::map preconMap; std::map emptyParam; PetscParameters(); }; } #endif // AMDIS_PETSCTYPES_H