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

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

removed exprintf of all ISSMERROR (not needed anymore)
Fixed Discontinuous Galerkin (missing thickness in inflow BC)"

File size: 1.6 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==BalancedvelocitiesAnalysisEnum){
62 numdofs=1;
63 }
64 else ISSMERROR("%s%i%s"," analysis type: ",analysis_type," not implemented yet!");
65
66 /*Assign output pointers:*/
67 *pnumdofs=numdofs;;
68
69 return 1;
70}
Note: See TracBrowser for help on using the repository browser.