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

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

Added dakota parallel c code capability + Prognostic capability

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/macros.h"
6#include "../../EnumDefinitions/EnumDefinitions.h"
7#include "../shared.h"
8
9#undef __FUNCT__
10#define __FUNCT__ "DistributeNumDofs"
11
12int DistributeNumDofs(int *pnumdofs,int analysis_type,int sub_analysis_type){
13
14 int numdofs=2; //default numdofs
15 int i;
16
17 /*ok, according to analysis type: */
18 if (analysis_type==ControlAnalysisEnum()){
19 numdofs=2;
20 }
21 else if (analysis_type==DiagnosticAnalysisEnum()){
22 if (sub_analysis_type==HorizAnalysisEnum()){
23 numdofs=2;
24 }
25 else if (sub_analysis_type==VertAnalysisEnum()){
26 numdofs=1;
27 }
28 else if (sub_analysis_type==StokesAnalysisEnum()){
29 numdofs=4;
30 }
31 else if (sub_analysis_type==HutterAnalysisEnum()){
32 numdofs=2;
33 }
34 }
35 else if (analysis_type==SlopeComputeAnalysisEnum()){
36 numdofs=1;
37 }
38 else if (analysis_type==ThermalAnalysisEnum()){
39 numdofs=1;
40 }
41 else if (analysis_type==MeltingAnalysisEnum()){
42 numdofs=1;
43 }
44 else if (analysis_type==PrognosticAnalysisEnum()){
45 numdofs=1;
46 }
47 else throw ErrorException(__FUNCT__,exprintf("%s%i%s"," analysis type: ",analysis_type," not implemented yet!"));
48
49 /*Assign output pointers:*/
50 *pnumdofs=numdofs;;
51
52 return 1;
53}
Note: See TracBrowser for help on using the repository browser.