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

Last change on this file since 3588 was 3588, checked in by Mathieu Morlighem, 15 years ago

Readded initial Balancedthickness and moved DG to Balancedthickness2

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