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

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

Cleanup of Tria, Sing and Beam elements + New flags to stop cores from creating too many results

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==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==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.