Changeset 13549
- Timestamp:
- 10/04/12 22:13:12 (12 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 11 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r13534 r13549 512 512 OldGradientEnum, 513 513 OutputFilePointerEnum, 514 OutputFileNameEnum, 515 LockFileNameEnum, 514 516 PetscOptionsAnalysesEnum, 515 517 PetscOptionsStringsEnum, -
issm/trunk-jpl/src/c/Makefile.am
r13540 r13549 236 236 ./io/Disk/pfopen.cpp\ 237 237 ./io/Disk/pfclose.cpp\ 238 ./io/Disk/WriteLockFile.cpp\ 238 239 ./io/PrintfFunction.cpp\ 239 240 ./EnumDefinitions/EnumDefinitions.h\ … … 344 345 ./solutions/convergence.cpp\ 345 346 ./solutions/ProcessArguments.cpp\ 346 ./solutions/WriteLockFile.cpp\347 347 ./solutions/ResetBoundaryConditions.cpp\ 348 348 ./solutions/AnalysisConfiguration.cpp\ -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r13413 r13549 20 20 /*Object constructors and destructor*/ 21 21 /*FUNCTION FemModel::constructor {{{*/ 22 FemModel::FemModel(char* rootpath, char* inputfilename, char* outputfilename, c onst int in_solution_type,const int* analyses,const int nummodels){22 FemModel::FemModel(char* rootpath, char* inputfilename, char* outputfilename, char* petscfilename, char* lockfilename, const int in_solution_type,const int* analyses,const int nummodels){ 23 23 24 24 /*intermediary*/ … … 26 26 int analysis_type; 27 27 FILE *IOMODEL = NULL; 28 FILE *petscoptionsfid = NULL; 29 FILE *output_fid = NULL; 28 30 extern int my_rank; 29 31 … … 71 73 if(my_rank==0) pfclose(IOMODEL,inputfilename); 72 74 73 /*Add output file name to parameters: */ 74 this->parameters->AddObject(new StringParam(OutputfilenameEnum,outputfilename)); 75 /*Open output file once for all and add output file name and file descriptor to parameters*/ 76 output_fid=pfopen(outputfilename,"wb"); 77 this->parameters->AddObject(new StringParam(OutputFileNameEnum,outputfilename)); 78 this->parameters->SetParam(output_fid,OutputFilePointerEnum); 79 80 /*Save lock file name for later: */ 81 this->parameters->AddObject(new StringParam(LockFileNameEnum,lockfilename)); 82 83 /*Now, deal with petsc options, which need to be put into the parameters dataset: */ 84 petscoptionsfid=pfopen(petscfilename,"r"); 85 ParsePetscOptionsx(this->parameters,petscoptionsfid); 86 pfclose(petscoptionsfid,petscfilename); 75 87 } 76 88 /*}}}*/ … … 80 92 /*Intermediary*/ 81 93 int i; 94 FILE* output_fid; 95 char* outbinfilename=NULL; 96 char* lockfilename=NULL; 97 bool waitonlock=false; 98 99 /*Close output file: */ 100 this->parameters->FindParam(&output_fid,OutputFilePointerEnum); 101 this->parameters->FindParam(&outbinfilename,OutputFileNameEnum); 102 pfclose(output_fid,outbinfilename); 103 104 /*Write lock file if requested: */ 105 this->parameters->FindParam(&waitonlock,SettingsWaitonlockEnum); 106 this->parameters->FindParam(&lockfilename,LockFileNameEnum); 107 if (waitonlock>0){ 108 _pprintLine_("write lock file:"); 109 WriteLockFile(lockfilename); 110 } 82 111 83 112 /*Delete all the datasets: */ 84 113 xDelete<int>(analysis_type_list); 114 xDelete<char>(outbinfilename); 115 xDelete<char>(lockfilename); 85 116 delete elements; 86 117 delete nodes; -
issm/trunk-jpl/src/c/classes/FemModel.h
r13413 r13549 43 43 44 44 /*constructors, destructors: */ 45 FemModel(char* rootpath, char* inputfilename, char* outputfilename, c onst int solution_type,const int* analyses,const int nummodels);45 FemModel(char* rootpath, char* inputfilename, char* outputfilename, char* petscfilename, char* lockfilename, const int solution_type,const int* analyses,const int nummodels); 46 46 ~FemModel(); 47 47 -
issm/trunk-jpl/src/c/io/Disk/WriteLockFile.cpp
r13532 r13549 3 3 */ 4 4 #include <stdio.h> 5 #include "../ shared/shared.h"6 #include "../ include/include.h"5 #include "../../shared/shared.h" 6 #include "../../include/include.h" 7 7 8 8 void WriteLockFile(char* filename){ -
issm/trunk-jpl/src/c/io/Disk/diskio.h
r13216 r13549 10 10 FILE* pfopen(char* filename,const char* format); 11 11 void pfclose(FILE* fid,char* filename); 12 void WriteLockFile(char* filename); 12 13 13 14 #endif /* _IO_H_ */ -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r13534 r13549 489 489 case OldGradientEnum : return "OldGradient"; 490 490 case OutputFilePointerEnum : return "OutputFilePointer"; 491 case OutputFileNameEnum : return "OutputFileName"; 492 case LockFileNameEnum : return "LockFileName"; 491 493 case PetscOptionsAnalysesEnum : return "PetscOptionsAnalyses"; 492 494 case PetscOptionsStringsEnum : return "PetscOptionsStrings"; -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r13534 r13549 499 499 else if (strcmp(name,"OldGradient")==0) return OldGradientEnum; 500 500 else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum; 501 else if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum; 502 else if (strcmp(name,"LockFileName")==0) return LockFileNameEnum; 501 503 else if (strcmp(name,"PetscOptionsAnalyses")==0) return PetscOptionsAnalysesEnum; 502 504 else if (strcmp(name,"PetscOptionsStrings")==0) return PetscOptionsStringsEnum; … … 505 507 else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum; 506 508 else if (strcmp(name,"Regular")==0) return RegularEnum; 507 else if (strcmp(name,"Scaled")==0) return ScaledEnum;508 else if (strcmp(name,"Separate")==0) return SeparateEnum;509 509 else stage=5; 510 510 } 511 511 if(stage==5){ 512 if (strcmp(name,"Sset")==0) return SsetEnum; 512 if (strcmp(name,"Scaled")==0) return ScaledEnum; 513 else if (strcmp(name,"Separate")==0) return SeparateEnum; 514 else if (strcmp(name,"Sset")==0) return SsetEnum; 513 515 else if (strcmp(name,"Verbose")==0) return VerboseEnum; 514 516 else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum; -
issm/trunk-jpl/src/c/solutions/issm.cpp
r13545 r13549 10 10 11 11 int main(int argc,char **argv){ 12 13 /*I/O: */14 FILE *output_fid = NULL;15 FILE *petscoptionsfid = NULL;16 bool waitonlock = false;17 12 18 13 /*FemModel: */ … … 50 45 _pprintLine_("(website: " << PACKAGE_URL << " contact: " << PACKAGE_BUGREPORT << ")"); 51 46 _pprintLine_(""); 47 52 48 ProcessArguments(&solution_type,&binfilename,&outbinfilename,&petscfilename,&lockfilename,&rootpath,argc,argv); 53 49 … … 55 51 AnalysisConfiguration(&analyses,&numanalyses,solution_type); 56 52 57 /*Create femmodel , using input file: */53 /*Create femmodel from input files: */ 58 54 profiler->Tag(StartInit); 59 femmodel=new FemModel(rootpath,binfilename,outbinfilename,solution_type,analyses,numanalyses); 60 61 /*get type of solution we are going to run: */ 62 CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type); 63 64 /*Open output file once for all*/ 65 output_fid=pfopen(outbinfilename,"wb"); 66 femmodel->parameters->SetParam(output_fid,OutputFilePointerEnum); 67 68 /*add petsc options to parameters: */ 69 petscoptionsfid=pfopen(petscfilename,"r"); 70 ParsePetscOptionsx(femmodel->parameters,petscoptionsfid); 71 pfclose(petscoptionsfid,petscfilename); 72 55 femmodel=new FemModel(rootpath,binfilename,outbinfilename,petscfilename,lockfilename,solution_type,analyses,numanalyses); 73 56 profiler->Tag(FinishInit); 74 57 75 58 /*call cores: */ 76 59 _pprintLine_("call computational core:"); 60 CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type); 77 61 profiler->Tag(StartCore); solutioncore(femmodel); profiler->Tag(FinishCore); 78 62 profiler->Tag(StartAdCore); ad_core(femmodel); profiler->Tag(FinishAdCore); … … 82 66 OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); 83 67 84 /*Close output and petsc options file and write lock file if requested*/ 85 pfclose(output_fid,lockfilename); 86 femmodel->parameters->FindParam(&waitonlock,SettingsWaitonlockEnum); 87 if (waitonlock>0){ 88 _pprintLine_("write lock file:"); 89 WriteLockFile(lockfilename); 90 } 91 68 /*Profiling at the end: */ 69 profiler->Tag(Finish); 70 ProfilerEcho(profiler); 71 92 72 /*Free resources */ 93 73 xDelete<int>(analyses); … … 98 78 xDelete<char>(rootpath); 99 79 delete femmodel; 100 101 /*Profiling at the end: */102 profiler->Tag(Finish);103 ProfilerEcho(profiler);104 80 105 81 /*Finalize environment:*/ -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r13534 r13549 4729 4729 return StringToEnum('OutputFilePointer')[0] 4730 4730 4731 def OutputFileNameEnum(): 4732 """ 4733 OUTPUTFILENAMEENUM - Enum of OutputFileName 4734 4735 Usage: 4736 macro=OutputFileNameEnum() 4737 """ 4738 4739 return StringToEnum('OutputFileName')[0] 4740 4741 def LockFileNameEnum(): 4742 """ 4743 LOCKFILENAMEENUM - Enum of LockFileName 4744 4745 Usage: 4746 macro=LockFileNameEnum() 4747 """ 4748 4749 return StringToEnum('LockFileName')[0] 4750 4731 4751 def PetscOptionsAnalysesEnum(): 4732 4752 """ … … 4977 4997 """ 4978 4998 4979 return 49 64980 4999 return 498 5000 -
issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
r13534 r13549 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro=49 6;11 macro=498; -
issm/trunk-jpl/src/m/enum/OutputfilenameEnum.m
r8926 r13549 1 function macro=Output filenameEnum()2 %OUTPUTFILENAMEENUM - Enum of Output filename1 function macro=OutputFileNameEnum() 2 %OUTPUTFILENAMEENUM - Enum of OutputFileName 3 3 % 4 4 % WARNING: DO NOT MODIFY THIS FILE … … 7 7 % 8 8 % Usage: 9 % macro=Output filenameEnum()9 % macro=OutputFileNameEnum() 10 10 11 macro=StringToEnum('Output filename');11 macro=StringToEnum('OutputFileName');
Note:
See TracChangeset
for help on using the changeset viewer.