File tree 15 files changed +615
-88
lines changed
modules/composyx/src/alien/kernels/composyx
15 files changed +615
-88
lines changed Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change @@ -123,6 +123,12 @@ ComposyxInternalSolver::init()
123
123
m_output_level = m_options->outputLevel ();
124
124
bool verbose = (m_parallel_mng->commRank ()== 0 ) && m_output_level>0 ;
125
125
m_internal.reset (new InternalType ()) ;
126
+ if (m_options->solver ()==" gmres" )
127
+ {
128
+ m_internal->setParam (" gmres-restart" ,m_options->gmresRestart ()) ;
129
+ m_internal->setParam (" gmres-zeta" , m_options->gmresZeta ()) ;
130
+ m_internal->setParam (" gmres-ortho" , m_options->gmresOrtho ().localstr ()) ;
131
+ }
126
132
m_internal->init (m_options->maxIterationNum (),
127
133
m_options->stopCriteriaValue (),
128
134
m_options->solver ().localstr (),
Original file line number Diff line number Diff line change 16
16
<simple name =" output-level" type =" integer" default =" 0" >
17
17
<description >Verbosity indicator (min=0, max=3)</description >
18
18
</simple >
19
+ <simple name =" gmres-restart" type =" integer" default =" 10" >
20
+ <description >GMRES restart param</description >
21
+ </simple >
22
+ <simple name =" gmres-zeta" type =" real" default =" -1." >
23
+ <description >GMRES compression param</description >
24
+ </simple >
25
+ <simple name =" gmres-ortho" type =" string" default =" CGS" >
26
+ <description >GMRES ortho param</description >
27
+ </simple >
19
28
<simple name =" solver" type =" string" default =" bcg" >
20
29
<description >gmres|cg|bcgs</description >
21
30
</simple >
Original file line number Diff line number Diff line change 22
22
<nsd>2 2 1</nsd>
23
23
<lx nx="10">1.</lx>
24
24
<ly ny="10">1.</ly>
25
- <lz nz="10 ">1.</lz>
25
+ <lz nz="1 ">1.</lz>
26
26
</cartesian>
27
27
</meshgenerator>
28
28
</mesh>
Original file line number Diff line number Diff line change 22
22
<nsd>2 2 1</nsd>
23
23
<lx nx="10">1.</lx>
24
24
<ly ny="10">1.</ly>
25
- <lz nz="10 ">1.</lz>
25
+ <lz nz="1 ">1.</lz>
26
26
</cartesian>
27
27
</meshgenerator>
28
28
</mesh>
Original file line number Diff line number Diff line change 22
22
<nsd>1 1 1</nsd>
23
23
<lx nx="10">1.</lx>
24
24
<ly ny="10">1.</ly>
25
- <lz nz="10 ">1.</lz>
25
+ <lz nz="1 ">1.</lz>
26
26
</cartesian>
27
27
</meshgenerator>
28
28
</mesh>
Original file line number Diff line number Diff line change
1
+ <?xml version='1.0' encoding='ISO-8859-1'?>
2
+ <case codeversion="1.0" codename="AlienBench" xml:lang="en">
3
+ <arcane>
4
+ <title>Test unitaires des solveurs lineaires</title>
5
+ <timeloop>BenchLoop</timeloop>
6
+ </arcane>
7
+
8
+ <arcane-post-processing>
9
+ <output-period>1</output-period>
10
+ <output>
11
+ <variable>U</variable>
12
+ <variable>X</variable>
13
+ <variable>K</variable>
14
+ <variable>S</variable>
15
+ </output>
16
+ </arcane-post-processing>
17
+
18
+ <mesh>
19
+ <meshgenerator>
20
+ <cartesian>
21
+ <origine>0. 0. 0.</origine>
22
+ <nsd>2 2 1</nsd>
23
+ <lx nx="10">1.</lx>
24
+ <ly ny="10">1.</ly>
25
+ <lz nz="1">1.</lz>
26
+ </cartesian>
27
+ </meshgenerator>
28
+ </mesh>
29
+
30
+
31
+ <alien-bench>
32
+ <!-- big diagonal-coefficient keep diagonal dominant matrix -->
33
+ <redistribution>false</redistribution>
34
+ <homogeneous>true</homogeneous>
35
+ <diagonal-coefficient>10.</diagonal-coefficient>
36
+ <lambdax>0.125</lambdax>
37
+ <lambday>0.25</lambday>
38
+ <alpha>10.</alpha>
39
+ <sigma>1000000.</sigma>
40
+ <epsilon>0.01</epsilon>
41
+
42
+ <linear-solver name="ComposyxSolver">
43
+ <solver>bcgs</solver>
44
+ <preconditioner>none</preconditioner>
45
+ <max-iteration-num>1000</max-iteration-num>
46
+ <stop-criteria-value>1e-8</stop-criteria-value>
47
+ <output-level>1</output-level>
48
+ </linear-solver>
49
+
50
+
51
+ </alien-bench>
52
+ </case>
Original file line number Diff line number Diff line change
1
+ <?xml version='1.0' encoding='ISO-8859-1'?>
2
+ <case codeversion="1.0" codename="AlienBench" xml:lang="en">
3
+ <arcane>
4
+ <title>Test unitaires des solveurs lineaires</title>
5
+ <timeloop>BenchLoop</timeloop>
6
+ </arcane>
7
+
8
+ <arcane-post-processing>
9
+ <output-period>1</output-period>
10
+ <output>
11
+ <variable>U</variable>
12
+ <variable>X</variable>
13
+ <variable>K</variable>
14
+ <variable>S</variable>
15
+ </output>
16
+ </arcane-post-processing>
17
+
18
+ <mesh>
19
+ <meshgenerator>
20
+ <cartesian>
21
+ <origine>0. 0. 0.</origine>
22
+ <nsd>2 1 1</nsd>
23
+ <lx nx="10">1.</lx>
24
+ <ly ny="10">1.</ly>
25
+ <lz nz="10">1.</lz>
26
+ </cartesian>
27
+ </meshgenerator>
28
+ </mesh>
29
+
30
+
31
+ <alien-bench>
32
+ <!-- big diagonal-coefficient keep diagonal dominant matrix -->
33
+ <redistribution>false</redistribution>
34
+ <homogeneous>true</homogeneous>
35
+ <diagonal-coefficient>10.</diagonal-coefficient>
36
+ <lambdax>0.125</lambdax>
37
+ <lambday>0.25</lambday>
38
+ <alpha>10.</alpha>
39
+ <sigma>1000000.</sigma>
40
+ <epsilon>0.01</epsilon>
41
+
42
+ <linear-solver name="ComposyxSolver">
43
+ <solver>bcgs</solver>
44
+ <preconditioner>none</preconditioner>
45
+ <max-iteration-num>1000</max-iteration-num>
46
+ <stop-criteria-value>1e-8</stop-criteria-value>
47
+ <output-level>1</output-level>
48
+ </linear-solver>
49
+
50
+
51
+ </alien-bench>
52
+ </case>
Original file line number Diff line number Diff line change 22
22
<nsd>2 2 1</nsd>
23
23
<lx nx="10">1.</lx>
24
24
<ly ny="10">1.</ly>
25
- <lz nz="10 ">1.</lz>
25
+ <lz nz="1 ">1.</lz>
26
26
</cartesian>
27
27
</meshgenerator>
28
28
</mesh>
31
31
<alien-bench>
32
32
<!-- big diagonal-coefficient keep diagonal dominant matrix -->
33
33
<redistribution>false</redistribution>
34
- <diagonal-coefficient>0.</diagonal-coefficient>
34
+ <homogeneous>true</homogeneous>
35
+ <diagonal-coefficient>10.</diagonal-coefficient>
35
36
<lambdax>0.125</lambdax>
36
37
<lambday>0.25</lambday>
37
38
<alpha>10.</alpha>
40
41
41
42
<linear-solver name="ComposyxSolver">
42
43
<solver>gmres</solver>
44
+ <preconditioner>none</preconditioner>
43
45
<max-iteration-num>1000</max-iteration-num>
44
46
<stop-criteria-value>1e-8</stop-criteria-value>
47
+ <gmres-restart>2</gmres-restart>
48
+ <gmres-ortho>CGS</gmres-ortho>
45
49
<output-level>1</output-level>
46
50
</linear-solver>
47
51
Original file line number Diff line number Diff line change 31
31
<alien-bench>
32
32
<!-- big diagonal-coefficient keep diagonal dominant matrix -->
33
33
<redistribution>false</redistribution>
34
- <diagonal-coefficient>0.</diagonal-coefficient>
34
+ <homogeneous>true</homogeneous>
35
+ <diagonal-coefficient>10.</diagonal-coefficient>
35
36
<lambdax>0.125</lambdax>
36
37
<lambday>0.25</lambday>
37
38
<alpha>10.</alpha>
40
41
41
42
<linear-solver name="ComposyxSolver">
42
43
<solver>gmres</solver>
44
+ <preconditioner>none</preconditioner>
43
45
<max-iteration-num>1000</max-iteration-num>
44
46
<stop-criteria-value>1e-8</stop-criteria-value>
47
+ <gmres-restart>2</gmres-restart>
48
+ <gmres-ortho>CGS</gmres-ortho>
45
49
<output-level>1</output-level>
46
50
</linear-solver>
47
51
Original file line number Diff line number Diff line change
1
+ <?xml version='1.0' encoding='ISO-8859-1'?>
2
+ <case codeversion="1.0" codename="AlienBench" xml:lang="en">
3
+ <arcane>
4
+ <title>Test unitaires des solveurs lineaires</title>
5
+ <timeloop>BenchLoop</timeloop>
6
+ </arcane>
7
+
8
+ <arcane-post-processing>
9
+ <output-period>1</output-period>
10
+ <output>
11
+ <variable>U</variable>
12
+ <variable>X</variable>
13
+ <variable>K</variable>
14
+ <variable>S</variable>
15
+ </output>
16
+ </arcane-post-processing>
17
+
18
+ <mesh>
19
+ <meshgenerator>
20
+ <cartesian>
21
+ <origine>0. 0. 0.</origine>
22
+ <nsd>2 1 1</nsd>
23
+ <lx nx="10">1.</lx>
24
+ <ly ny="10">1.</ly>
25
+ <lz nz="10">1.</lz>
26
+ </cartesian>
27
+ </meshgenerator>
28
+ </mesh>
29
+
30
+
31
+ <alien-bench>
32
+ <!-- big diagonal-coefficient keep diagonal dominant matrix -->
33
+ <redistribution>false</redistribution>
34
+ <homogeneous>true</homogeneous>
35
+ <diagonal-coefficient>10.</diagonal-coefficient>
36
+ <lambdax>0.125</lambdax>
37
+ <lambday>0.25</lambday>
38
+ <alpha>10.</alpha>
39
+ <sigma>1000000.</sigma>
40
+ <epsilon>0.01</epsilon>
41
+
42
+ <linear-solver name="ComposyxSolver">
43
+ <solver>gmres</solver>
44
+ <preconditioner>none</preconditioner>
45
+ <max-iteration-num>1000</max-iteration-num>
46
+ <stop-criteria-value>1e-8</stop-criteria-value>
47
+ <gmres-restart>10</gmres-restart>
48
+ <gmres-ortho>CGS</gmres-ortho>
49
+ <output-level>1</output-level>
50
+ </linear-solver>
51
+
52
+
53
+ </alien-bench>
54
+ </case>
Original file line number Diff line number Diff line change
1
+ <?xml version='1.0' encoding='ISO-8859-1'?>
2
+ <case codeversion="1.0" codename="AlienBench" xml:lang="en">
3
+ <arcane>
4
+ <title>Test unitaires des solveurs lineaires</title>
5
+ <timeloop>BenchLoop</timeloop>
6
+ </arcane>
7
+
8
+ <arcane-post-processing>
9
+ <output-period>1</output-period>
10
+ <output>
11
+ <variable>U</variable>
12
+ <variable>X</variable>
13
+ <variable>K</variable>
14
+ <variable>S</variable>
15
+ </output>
16
+ </arcane-post-processing>
17
+
18
+ <mesh>
19
+ <meshgenerator>
20
+ <cartesian>
21
+ <origine>0. 0. 0.</origine>
22
+ <nsd>2 2 1</nsd>
23
+ <lx nx="10">1.</lx>
24
+ <ly ny="10">1.</ly>
25
+ <lz nz="1">1.</lz>
26
+ </cartesian>
27
+ </meshgenerator>
28
+ </mesh>
29
+
30
+
31
+ <alien-bench>
32
+ <!-- big diagonal-coefficient keep diagonal dominant matrix -->
33
+ <redistribution>false</redistribution>
34
+ <homogeneous>true</homogeneous>
35
+ <diagonal-coefficient>10.</diagonal-coefficient>
36
+ <lambdax>0.125</lambdax>
37
+ <lambday>0.25</lambday>
38
+ <alpha>10.</alpha>
39
+ <sigma>1000000.</sigma>
40
+ <epsilon>0.01</epsilon>
41
+
42
+ <linear-solver name="ComposyxSolver">
43
+ <solver>gmres</solver>
44
+ <preconditioner>as</preconditioner>
45
+ <max-iteration-num>1000</max-iteration-num>
46
+ <stop-criteria-value>1e-8</stop-criteria-value>
47
+ <gmres-restart>2</gmres-restart>
48
+ <gmres-zeta>-1</gmres-zeta>
49
+ <gmres-ortho>CGS</gmres-ortho>
50
+ <output-level>1</output-level>
51
+ </linear-solver>
52
+
53
+
54
+ </alien-bench>
55
+ </case>
Original file line number Diff line number Diff line change 22
22
<nsd>1 1 1</nsd>
23
23
<lx nx="10">1.</lx>
24
24
<ly ny="10">1.</ly>
25
- <lz nz="10 ">1.</lz>
25
+ <lz nz="1 ">1.</lz>
26
26
</cartesian>
27
27
</meshgenerator>
28
28
</mesh>
31
31
<alien-bench>
32
32
<!-- big diagonal-coefficient keep diagonal dominant matrix -->
33
33
<redistribution>false</redistribution>
34
- <diagonal-coefficient>0.</diagonal-coefficient>
34
+ <homogeneous>true</homogeneous>
35
+ <diagonal-coefficient>10.</diagonal-coefficient>
35
36
<lambdax>0.125</lambdax>
36
37
<lambday>0.25</lambday>
37
38
<alpha>10.</alpha>
You can’t perform that action at this time.
0 commit comments