Skip to content
Snippets Groups Projects
Commit 6c250768 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

main() should return zero after a successful run
parent 2cd02abe
No related branches found
No related tags found
No related merge requests found
// $Id: Main.cpp,v 1.31 2003-11-21 07:56:28 geuzaine Exp $ // $Id: Main.cpp,v 1.32 2003-11-22 01:59:02 geuzaine Exp $
// //
// Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
// //
...@@ -128,9 +128,10 @@ int main(int argc, char *argv[]) ...@@ -128,9 +128,10 @@ int main(int argc, char *argv[])
if(List_Nbr(CTX.post.list)) if(List_Nbr(CTX.post.list))
BGMWithView((Post_View *) BGMWithView((Post_View *)
List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1)); List_Pointer(CTX.post.list, List_Nbr(CTX.post.list) - 1));
else else{
fprintf(stderr, ERROR_STR "Invalid background mesh (no view)\n"); fprintf(stderr, ERROR_STR "Invalid background mesh (no view)\n");
exit(1); exit(1);
}
} }
if(CTX.batch > 0) { if(CTX.batch > 0) {
mai3d(THEM, CTX.batch); mai3d(THEM, CTX.batch);
...@@ -244,7 +245,6 @@ void Msg(int level, char *fmt, ...) ...@@ -244,7 +245,6 @@ void Msg(int level, char *fmt, ...)
if(abort) if(abort)
exit(1); exit(1);
} }
// CPU time computation // CPU time computation
......
// $Id: GUI.cpp,v 1.252 2003-11-21 07:56:29 geuzaine Exp $ // $Id: GUI.cpp,v 1.253 2003-11-22 01:59:02 geuzaine Exp $
// //
// Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
// //
...@@ -737,9 +737,9 @@ GUI::GUI(int argc, char **argv) ...@@ -737,9 +737,9 @@ GUI::GUI(int argc, char **argv)
// Run the GUI until no window is left // Run the GUI until no window is left
void GUI::run() int GUI::run()
{ {
Fl::run(); return Fl::run();
} }
// Check (now) if any pending events and run them // Check (now) if any pending events and run them
......
...@@ -254,7 +254,7 @@ public: ...@@ -254,7 +254,7 @@ public:
void create_solver_window(int num); void create_solver_window(int num);
// general purpose interaction // general purpose interaction
void run(); int run();
void check(); void check();
void wait(); void wait();
void make_opengl_current(); void make_opengl_current();
......
// $Id: Main.cpp,v 1.50 2003-11-21 07:56:29 geuzaine Exp $ // $Id: Main.cpp,v 1.51 2003-11-22 01:59:02 geuzaine Exp $
// //
// Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
// //
...@@ -77,7 +77,7 @@ int main(int argc, char *argv[]) ...@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
if(argc == 2 && !strcmp(argv[1], "-doc")){ if(argc == 2 && !strcmp(argv[1], "-doc")){
Print_OptionsDoc(); Print_OptionsDoc();
exit(1); exit(0);
} }
// Configuration files and command line options // Configuration files and command line options
...@@ -152,7 +152,7 @@ int main(int argc, char *argv[]) ...@@ -152,7 +152,7 @@ int main(int argc, char *argv[])
Mesh_Quality(THEM); Mesh_Quality(THEM);
Print_Histogram(THEM->Histogram[0]); Print_Histogram(THEM->Histogram[0]);
} }
exit(1); exit(0);
} }
} }
...@@ -250,5 +250,5 @@ int main(int argc, char *argv[]) ...@@ -250,5 +250,5 @@ int main(int argc, char *argv[])
CTX.expose = 1; CTX.expose = 1;
// loop // loop
WID->run(); return WID->run();
} }
// $Id: ParUtil.cpp,v 1.7 2003-03-21 00:52:42 geuzaine Exp $ // $Id: ParUtil.cpp,v 1.8 2003-11-22 01:59:02 geuzaine Exp $
// //
// Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
// //
...@@ -105,7 +105,7 @@ void ParUtil::Exit() ...@@ -105,7 +105,7 @@ void ParUtil::Exit()
#ifdef PARALLEL #ifdef PARALLEL
MPI_Finalize(); MPI_Finalize();
#else #else
exit(1); exit(0);
#endif #endif
} }
......
/*
Matrix_Format (Integer):
- 1 Sparse
- 2 Full
- default : 1
Matrix_Printing (Integer): Disk write ('fort.*')
- 1 matrix (csr)
- 2 preconditioner (msr)
- 3 both
- default : 0
Matrix_Storage (Integer): Disk Write or Read in internal format
- 0 none
- 1 write matrix (sparse)
- 2 read matrix (sparse)
- default : 0
Scaling (Integer): Scale system
- 0 no
- 1 on basis of diagonal elements (no loss of possible symmetry)
- 2 on basis of inf. norm of first rows and then columns (asymmetric)
- 3 on basis of norm 1 of first rows and then columns (asymmetric)
- 4 on basis of norm 2 of first rows and then columns (asymmetric)
- default : 0
Renumbering_Technique (Integer):
- 0 No renumbering
- 1 Reverse Cuthill-Mc Kee
- default : 1
Preconditioner (Integer):
- 0 NONE No Factorization
- 1 ILUT Incomplete LU factorization with dual truncation strategy
- 2 ILUTP ILUT with column pivoting
- 3 ILUD ILU with single dropping + diagonal compensation (~MILUT)
- 4 ILUDP ILUD with column pivoting
- 5 ILUK level-k ILU
- 6 ILU0 simple ILU(0) preconditioning
- 7 MILU0 MILU(0) preconditioning
- 8 DIAGONAL
- default : 2
Preconditioner_Position (Integer):
- 0 No Preconditioner
- 1 Left Preconditioner
- 2 Right Preconditioner
- 3 Both Left and Right Preconditioner
- default : 2
Nb_Fill (Integer):
- ILUT/ILUTP : maximum number of elements per line
of L and U (except diagonal element)
- ILUK : each element whose fill-in level is greater than NB_FILL
is dropped.
- default : 20
Permutation_Tolerance (Real): Tolerance for column permutation in ILUTP/ILUDP.
At stage i, columns i and j are permuted if
abs(a(i,j))*PERMUTATION_TOLERANCE > abs(a(i,i)).
- 0 no permutations
- 0.001 -> 0.1 classical
- default : 0.05
Dropping_Tolerance (Real):
- ILUT/ILUTP/ILUK: a(i,j) is dropped if
abs(a(i,j)) < DROPPING_TOLERANCE * abs(diagonal element in U).
- ILUD/ILUDP : a(i,j) is dropped if
abs(a(i,j)) < DROPPING_TOLERANCE * [weighted norm of line i].
Weighted norm = 1-norm / number of nonzero elements on the line.
- default : 0
Diagonal_Compensation (Real): ILUD/ILUDP: the term 'DIAGONAL_COMPENSATION * (sum
of all dropped elements of the line)' is added to the diagonal element in U
- 0 ~ ILU with threshold
1 ~ MILU with threshold.
- default : 0
Re_Use_ILU (Integer): Reuse ILU decomposition (and renumbering if any)
- 0 no
- 1 yes
- default : 0
Algorithm (Integer):
- 1 CG Conjugate Gradient
- 2 CGNR CG (Normal Residual equation)
- 3 BCG Bi-Conjugate Gradient
- 4 DBCG BCG with partial pivoting
- 5 BCGSTAB BCG stabilized
- 6 TFQMR Transpose-Free Quasi-Minimum Residual
- 7 FOM Full Orthogonalization Method
- 8 GMRES Generalized Minimum RESidual
- 9 FGMRES Flexible version of GMRES
- 10 DQGMRES Direct versions of GMRES
- 11 LU LU Factorization
- 12 PGMRES Alternative version of GMRES
- default : 8
Krylov_Size (Integer): Krylov subspace size
- default : 40
IC_Acceleration (Real): IC accelerator
- default : 1
Re_Use_LU (Integer): Reuse LU decomposition
- 0 no
- 1 yes
- default : 0
Iterative_Improvement (Integer): Iterative improvement of the solution obtained by a LU
- default : 0
Nb_Iter_Max (Integer): Maximum number of iterations
- default : 1000
Stopping_Test (Real): Target relative residual
- default : 1e-10
*/
Matrix_Format 1
Matrix_Printing 0
Matrix_Storage 0
Scaling 0
Renumbering_Technique 1
Preconditioner 2
Preconditioner_Position 2
Nb_Fill 20
Permutation_Tolerance 0.05
Dropping_Tolerance 0
Diagonal_Compensation 0
Re_Use_ILU 0
Algorithm 8
Krylov_Size 40
IC_Acceleration 1
Re_Use_LU 0
Iterative_Improvement 0
Nb_Iter_Max 1000
Stopping_Test 1e-10
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment