Flow123d  3.9.0-d39b72347
Classes | Namespaces | Typedefs | Enumerations
schur.hh File Reference

Assembly explicit Schur complement for the given linear system. Provides method for resolution of the full original vector of unknowns. More...

#include <petscmat.h>
#include "la/linsys_PETSC.hh"
#include "petscistypes.h"
#include "petscvec.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SchurComplement
 

Namespaces

 Input
 Abstract linear system class.
 

Typedefs

typedef enum SchurState SchurState
 Schur complement class for a PETSC based linear system. More...
 
typedef SchurComplement SchurComplement
 

Enumerations

enum  SchurState { created, formed, solved }
 Schur complement class for a PETSC based linear system. More...
 

Detailed Description

Assembly explicit Schur complement for the given linear system. Provides method for resolution of the full original vector of unknowns.

 * Copyright (C) 2015 Technical University of Liberec. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Definition in file schur.hh.

Typedef Documentation

◆ SchurComplement

Definition at line 91 of file linsys.hh.

◆ SchurState

typedef enum SchurState SchurState

Schur complement class for a PETSC based linear system.

Linear system consists of Matrix, inversion matrix, RHS, solution and pointer to Complement. It provides methods for:

  • set complement system
  • create distribution of complement system
  • create inversion matrix of system
  • form Schur complement and rhs
  • solve and resolve system

Usage example: @CODE SchurComplement * schur = new SchurComplement(is, &distr);

... // allocation and assembly of matrix

LinSys_PETSC * ls = new LinSys_PETSC( schur->make_complement_distribution() ); schur->set_complement( ls ); schur->solve(); @ENDCODE

Input record is passed to the complement system.

Enumeration Type Documentation

◆ SchurState

enum SchurState

Schur complement class for a PETSC based linear system.

Linear system consists of Matrix, inversion matrix, RHS, solution and pointer to Complement. It provides methods for:

  • set complement system
  • create distribution of complement system
  • create inversion matrix of system
  • form Schur complement and rhs
  • solve and resolve system

Usage example: @CODE SchurComplement * schur = new SchurComplement(is, &distr);

... // allocation and assembly of matrix

LinSys_PETSC * ls = new LinSys_PETSC( schur->make_complement_distribution() ); schur->set_complement( ls ); schur->solve(); @ENDCODE

Input record is passed to the complement system.

Enumerator
created 
formed 
solved 

Definition at line 58 of file schur.hh.