XC Open source finite element analysis program
systems_of_equations.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 //systems_of_equations.h
28 
29 //Systems of equations
30 #include <solution/system_of_eqn/SystemOfEqn.h>
31 
32 #include <solution/system_of_eqn/linearSOE/LinearSOE.h>
33 #include <solution/system_of_eqn/linearSOE/LinearSOESolver.h>
34 #include "solution/system_of_eqn/linearSOE/DomainSolver.h"
35 #include <solution/system_of_eqn/linearSOE/bandGEN/BandGenLinSOE.h>
36 #include <solution/system_of_eqn/linearSOE/bandGEN/BandGenLinSolver.h>
37 #include "solution/system_of_eqn/linearSOE/bandGEN/BandGenLinLapackSolver.h"
38 #include <solution/system_of_eqn/linearSOE/bandGEN/DistributedBandGenLinSOE.h>
39 #include <solution/system_of_eqn/linearSOE/bandSPD/BandSPDLinSOE.h>
40 #include <solution/system_of_eqn/linearSOE/bandSPD/BandSPDLinSolver.h>
41 #include "solution/system_of_eqn/linearSOE/bandSPD/BandSPDLinLapackSolver.h"
42 //#include <solution/system_of_eqn/linearSOE/bandSPD/BandSPDLinThreadSolver.h>
43 #include <solution/system_of_eqn/linearSOE/bandSPD/DistributedBandSPDLinSOE.h>
44 #include <solution/system_of_eqn/linearSOE/diagonal/DiagonalSOE.h>
45 #include <solution/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.h>
46 #include <solution/system_of_eqn/linearSOE/diagonal/DiagonalSolver.h>
47 #include <solution/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.h>
48 #include <solution/system_of_eqn/linearSOE/diagonal/DiagonalDirectSolver.h>
49 #include <solution/system_of_eqn/linearSOE/fullGEN/FullGenLinSOE.h>
50 #include <solution/system_of_eqn/linearSOE/fullGEN/FullGenLinSolver.h>
51 #include "solution/system_of_eqn/linearSOE/fullGEN/FullGenLinLapackSolver.h"
52 //#include <solution/system_of_eqn/linearSOE/itpack/ItpackLinSOE.h>
53 //#include <solution/system_of_eqn/linearSOE/itpack/ItpackLinSolver.h>
54 #include <solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinSOE.h>
55 #include <solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinSolver.h>
56 #include <solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinDirectBlockSolver.h>
57 #include <solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinSubstrSolver.h>
58 //#include <solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinDirectThreadSolver.h>
59 //#include <solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinDirectSkypackSolver.h>
60 #include "solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinDirectSolver.h"
61 #include "solution/system_of_eqn/linearSOE/profileSPD/ProfileSPDLinSubstrSolver.h"
62 #include <solution/system_of_eqn/linearSOE/profileSPD/DistributedProfileSPDLinSOE.h>
63 #include <solution/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenRowLinSOE.h>
64 #include <solution/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.h>
65 #include <solution/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenRowLinSolver.h>
66 #include <solution/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSolver.h>
67 #include <solution/system_of_eqn/linearSOE/sparseGEN/SparseGenRowLinSolver.h>
68 #include <solution/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h>
69 #include <solution/system_of_eqn/linearSOE/sparseGEN/SparseGenRowLinSOE.h>
70 #include <solution/system_of_eqn/linearSOE/cg/ConjugateGradientSolver.h>
71 
72 #include <solution/system_of_eqn/eigenSOE/EigenSOE.h>
73 #include <solution/system_of_eqn/eigenSOE/ArpackSOE.h>
74 #include <solution/system_of_eqn/eigenSOE/BandArpackSOE.h>
75 #include <solution/system_of_eqn/eigenSOE/BandArpackppSOE.h>
76 #include <solution/system_of_eqn/eigenSOE/SymArpackSOE.h>
77 #include <solution/system_of_eqn/eigenSOE/SymBandEigenSOE.h>
78 #include <solution/system_of_eqn/eigenSOE/FullGenEigenSOE.h>
79 
80 #include <solution/system_of_eqn/eigenSOE/EigenSolver.h>
81 #include <solution/system_of_eqn/eigenSOE/BandArpackppSolver.h>
82 #include <solution/system_of_eqn/eigenSOE/SymArpackSolver.h>
83 #include <solution/system_of_eqn/eigenSOE/BandArpackSolver.h>
84 #include <solution/system_of_eqn/eigenSOE/FullGenEigenSolver.h>
85 #include <solution/system_of_eqn/eigenSOE/SymBandEigenSolver.h>
86 
87 
88 
89 
90 
91 #ifdef _THREADS
92 #include <solution/system_of_eqn/linearSOE/sparseGEN/ThreadedSuperLU.h>
93 #else
94 #include <solution/system_of_eqn/linearSOE/sparseGEN/SuperLU.h>
95 #endif
96 #ifdef _PETSC
97 #include "solution/system_of_eqn/linearSOE/petsc/PetscSOE.h"
98 #include "solution/system_of_eqn/linearSOE/petsc/PetscSolver.h"
99 #include "solution/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h"
100 #include "solution/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.h"
101 #endif
102 
103 #ifdef _MUMPS
104 #include <MumpsSOE.h>
105 #ifdef _PARALLEL_PROCESSING
106 #include <MumpsParallelSOE.h>
107 #endif
108 #endif
109 #include <solution/system_of_eqn/linearSOE/sparseSYM/SymSparseLinSOE.h>
110 #include <solution/system_of_eqn/linearSOE/sparseSYM/SymSparseLinSolver.h>
111 
112 //#include <solution/system_of_eqn/linearSOE/umfGEN/UmfpackGenLinSOE.h>
113 #ifdef _PARALLEL_PROCESSING
114 #include "solution/system_of_eqn/linearSOE/bandSPD/DistributedBandSPDLinSOE.h"
115 #include "solution/system_of_eqn/linearSOE/profileSPD/DistributedProfileSPDLinSOE.h"
116 #include "solution/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.h"
117 #include "solution/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenRowLinSOE.h"
118 #include "solution/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenRowLinSolver.h"
119 #include "solution/system_of_eqn/linearSOE/bandGEN/DistributedBandGenLinSOE.h"
120 #include "solution/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.h"
121 #endif
122