source: issm/trunk/src/c/shared/Dofs/DistributeNumDofs.cpp@ 4055

Last change on this file since 4055 was 4055, checked in by Eric.Larour, 15 years ago

Keep simplifying solutions.
New convergence module at the input level, instead at the solution level, when solution vectors are not
available anymore.

File size: 1.3 KB
Line 
1/*!\file: DistributeNumDofs.cpp
2 * \brief: figure out the maximum number of dofs per grid.
3 */
4
5#include "../../include/include.h"
6#include "../../EnumDefinitions/EnumDefinitions.h"
7#include "../shared.h"
8
9int DistributeNumDofs(int *pnumdofs,int analysis_type){
10
11 int numdofs=2; //default numdofs
12 int i;
13
14 /*ok, according to analysis type: */
15 if (analysis_type==DiagnosticHorizAnalysisEnum){
16 numdofs=2;
17 }
18 else if (analysis_type==DiagnosticVertAnalysisEnum){
19 numdofs=1;
20 }
21 else if (analysis_type==DiagnosticStokesAnalysisEnum){
22 numdofs=4;
23 }
24 else if (analysis_type==DiagnosticHutterAnalysisEnum){
25 numdofs=2;
26 }
27 else if (analysis_type==SlopeAnalysisEnum){
28 numdofs=1;
29 }
30 else if (analysis_type==ThermalAnalysisEnum){
31 numdofs=1;
32 }
33 else if (analysis_type==MeltingAnalysisEnum){
34 numdofs=1;
35 }
36 else if (analysis_type==PrognosticAnalysisEnum){
37 numdofs=1;
38 }
39 else if (analysis_type==Prognostic2AnalysisEnum){
40 numdofs=1;
41 }
42 else if (analysis_type==BalancedthicknessAnalysisEnum){
43 numdofs=1;
44 }
45 else if (analysis_type==Balancedthickness2AnalysisEnum){
46 numdofs=1;
47 }
48 else if (analysis_type==BalancedvelocitiesAnalysisEnum){
49 numdofs=1;
50 }
51 else ISSMERROR("%s%i%s"," analysis type: ",analysis_type," not implemented yet!");
52
53 /*Assign output pointers:*/
54 *pnumdofs=numdofs;;
55
56 return 1;
57}
Note: See TracBrowser for help on using the repository browser.