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
RevLine 
[465]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: */
[3567]15 if (analysis_type==ControlAnalysisEnum){
16 if (sub_analysis_type==HorizAnalysisEnum){
[1120]17 numdofs=2;
18 }
[3567]19 else if (sub_analysis_type==VertAnalysisEnum){
[1120]20 numdofs=1;
21 }
[3567]22 else if (sub_analysis_type==StokesAnalysisEnum){
[1120]23 numdofs=4;
24 }
[3567]25 else if (sub_analysis_type==HutterAnalysisEnum){
[1120]26 numdofs=2;
27 }
[465]28 }
[3567]29 else if (analysis_type==DiagnosticAnalysisEnum){
30 if (sub_analysis_type==HorizAnalysisEnum){
[465]31 numdofs=2;
32 }
[3567]33 else if (sub_analysis_type==VertAnalysisEnum){
[465]34 numdofs=1;
35 }
[3567]36 else if (sub_analysis_type==StokesAnalysisEnum){
[465]37 numdofs=4;
38 }
[3567]39 else if (sub_analysis_type==HutterAnalysisEnum){
[465]40 numdofs=2;
41 }
42 }
[3567]43 else if (analysis_type==SlopecomputeAnalysisEnum){
[465]44 numdofs=1;
45 }
[3567]46 else if (analysis_type==ThermalAnalysisEnum){
[465]47 numdofs=1;
48 }
[3567]49 else if (analysis_type==MeltingAnalysisEnum){
[496]50 numdofs=1;
51 }
[3567]52 else if (analysis_type==PrognosticAnalysisEnum){
[586]53 numdofs=1;
54 }
[3567]55 else if (analysis_type==Prognostic2AnalysisEnum){
[3354]56 numdofs=1;
57 }
[3567]58 else if (analysis_type==BalancedthicknessAnalysisEnum){
[2714]59 numdofs=1;
60 }
[3588]61 else if (analysis_type==Balancedthickness2AnalysisEnum){
62 numdofs=1;
63 }
[3567]64 else if (analysis_type==BalancedvelocitiesAnalysisEnum){
[2722]65 numdofs=1;
66 }
[3570]67 else ISSMERROR("%s%i%s"," analysis type: ",analysis_type," not implemented yet!");
[465]68
69 /*Assign output pointers:*/
70 *pnumdofs=numdofs;;
71
72 return 1;
73}
Note: See TracBrowser for help on using the repository browser.