Flow123d  release_2.2.0-22-g936454a
Classes | 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 <la/distribution.hh>
#include "la/linsys_PETSC.hh"
#include <petscmat.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SchurComplement
 

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

Definition at line 75 of file linsys.hh.

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: 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();

Input record is passed to the complement system.

Enumeration Type Documentation

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: 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();

Input record is passed to the complement system.

Enumerator
created 
formed 
solved 

Definition at line 54 of file schur.hh.