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

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

moved Balancedthickness2 to Balancedthickness

File size: 1.2 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==BedSlopeAnalysisEnum || analysis_type==SurfaceSlopeAnalysisEnum){
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==BalancedthicknessAnalysisEnum){
40 numdofs=1;
41 }
42 else if (analysis_type==BalancedvelocitiesAnalysisEnum){
43 numdofs=1;
44 }
45 else ISSMERROR("analysis type: %i (%s) not implemented yet",analysis_type,EnumAsString(analysis_type));
46
47 /*Assign output pointers:*/
48 *pnumdofs=numdofs;;
49
50 return 1;
51}
Note: See TracBrowser for help on using the repository browser.