Rev | Line | |
---|
[465] | 1 | /*!\file: DistributeNumDofs.cpp
|
---|
| 2 | * \brief: figure out the maximum number of dofs per grid.
|
---|
| 3 | */
|
---|
| 4 |
|
---|
[3775] | 5 | #include "../../include/include.h"
|
---|
[465] | 6 | #include "../../EnumDefinitions/EnumDefinitions.h"
|
---|
| 7 | #include "../shared.h"
|
---|
| 8 |
|
---|
[4021] | 9 | int DistributeNumDofs(int *pnumdofs,int analysis_type){
|
---|
[465] | 10 |
|
---|
| 11 | int numdofs=2; //default numdofs
|
---|
| 12 | int i;
|
---|
| 13 |
|
---|
| 14 | /*ok, according to analysis type: */
|
---|
[4021] | 15 | if (analysis_type==DiagnosticHorizAnalysisEnum){
|
---|
| 16 | numdofs=2;
|
---|
[465] | 17 | }
|
---|
[4021] | 18 | else if (analysis_type==DiagnosticVertAnalysisEnum){
|
---|
| 19 | numdofs=1;
|
---|
[465] | 20 | }
|
---|
[4021] | 21 | else if (analysis_type==DiagnosticStokesAnalysisEnum){
|
---|
| 22 | numdofs=4;
|
---|
| 23 | }
|
---|
| 24 | else if (analysis_type==DiagnosticHutterAnalysisEnum){
|
---|
| 25 | numdofs=2;
|
---|
| 26 | }
|
---|
[4285] | 27 | else if (analysis_type==BedSlopeAnalysisEnum || analysis_type==SurfaceSlopeAnalysisEnum){
|
---|
[465] | 28 | numdofs=1;
|
---|
| 29 | }
|
---|
[3567] | 30 | else if (analysis_type==ThermalAnalysisEnum){
|
---|
[465] | 31 | numdofs=1;
|
---|
| 32 | }
|
---|
[3567] | 33 | else if (analysis_type==MeltingAnalysisEnum){
|
---|
[496] | 34 | numdofs=1;
|
---|
| 35 | }
|
---|
[3567] | 36 | else if (analysis_type==PrognosticAnalysisEnum){
|
---|
[586] | 37 | numdofs=1;
|
---|
| 38 | }
|
---|
[3567] | 39 | else if (analysis_type==Prognostic2AnalysisEnum){
|
---|
[3354] | 40 | numdofs=1;
|
---|
| 41 | }
|
---|
[3567] | 42 | else if (analysis_type==BalancedthicknessAnalysisEnum){
|
---|
[2714] | 43 | numdofs=1;
|
---|
| 44 | }
|
---|
[3588] | 45 | else if (analysis_type==Balancedthickness2AnalysisEnum){
|
---|
| 46 | numdofs=1;
|
---|
| 47 | }
|
---|
[3567] | 48 | else if (analysis_type==BalancedvelocitiesAnalysisEnum){
|
---|
[2722] | 49 | numdofs=1;
|
---|
| 50 | }
|
---|
[4295] | 51 | else ISSMERROR("analysis type: %i (%s) not implemented yet",analysis_type,EnumAsString(analysis_type));
|
---|
[465] | 52 |
|
---|
| 53 | /*Assign output pointers:*/
|
---|
| 54 | *pnumdofs=numdofs;;
|
---|
| 55 |
|
---|
| 56 | return 1;
|
---|
| 57 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.