Changeset 4773
- Timestamp:
- 07/22/10 18:57:52 (15 years ago)
- Location:
- issm/trunk
- Files:
-
- 11 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/configs/linux64/linux64.sh.petsc2
r4656 r4773 1 1 #!/bin/sh 2 2 3 ./configure --prefix=$ISSM_DIR --with-matlab-dir=$MATLAB_DIR --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install --with-metis-dir=$ISSM_DIR/externalpackages/metis/install --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install --with-mpi-include=$ISSM_DIR/externalpackages/mpich2/install/include --with-mpi-lib="-L$ISSM_DIR/externalpackages/mpich2/install/lib/ -lmpich" --with-petsc-arch=$ISSM_ARCH --with-dakota-dir=$ISSM_DIR/externalpackages/dakota/install --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/fblaslapack/$ISSM_ARCH --with-plapack-lib="-L$ISSM_DIR/externalpackages/petsc/install/externalpackages/PLAPACKR32-hg/$ISSM_ARCH -lPLAPACK" --with-plapack-include="-I$ISSM_DIR/externalpackages/petsc/install/externalpackages/PLAPACKR32-hg/$ISSM_ARCH/INCLUDE" --with-blacs-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/blacs-dev/$ISSM_ARCH --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/SCALAPACK/$ISSM_ARCH --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/MUMPS_4.6.3/$ISSM_ARCH --with-fortran-lib="-L/usr/lib/gcc/x86_64-redhat-linux/4.1.1/ -lgfortran" --with-graphics-lib=/usr/lib64/libX11.so --with-cxxoptflags="-march=opteron -O2" --with-numthreads=32 --with-petsc-version=2 --with-chaco-dir=$ISSM_DIR/externalpackages/chaco/install3 ./configure --prefix=$ISSM_DIR --with-matlab-dir=$MATLAB_DIR --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install --with-metis-dir=$ISSM_DIR/externalpackages/metis/install --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install --with-mpi-include=$ISSM_DIR/externalpackages/mpich2/install/include --with-mpi-lib="-L$ISSM_DIR/externalpackages/mpich2/install/lib/ -lmpich" --with-petsc-arch=$ISSM_ARCH --with-dakota-dir=$ISSM_DIR/externalpackages/dakota/install --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/fblaslapack/$ISSM_ARCH --with-plapack-lib="-L$ISSM_DIR/externalpackages/petsc/install/externalpackages/PLAPACKR32-hg/$ISSM_ARCH -lPLAPACK" --with-plapack-include="-I$ISSM_DIR/externalpackages/petsc/install/externalpackages/PLAPACKR32-hg/$ISSM_ARCH/INCLUDE" --with-blacs-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/blacs-dev/$ISSM_ARCH --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/SCALAPACK/$ISSM_ARCH --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/MUMPS_4.6.3/$ISSM_ARCH --with-fortran-lib="-L/usr/lib/gcc/x86_64-redhat-linux/4.1.1/ -lgfortran" --with-graphics-lib=/usr/lib64/libX11.so --with-cxxoptflags="-march=opteron -O2" --with-numthreads=32 --with-petsc-version=2 --with-scotch-dir=$ISSM_DIR/externalpackages/scotch/install --with-chaco-dir=$ISSM_DIR/externalpackages/chaco/install -
issm/trunk/etc/cluster.rc
r4667 r4773 54 54 cluster_name=larsen 55 55 cluster_codepath=/u/astrid-r1b/larour/issm/trunk/bin 56 cluster_executionpath=/u/astrid-r1b/larour/ Testing/Execution56 cluster_executionpath=/u/astrid-r1b/larour/issm/execution 57 57 cluster_login=larour 58 58 cluster_port=0 -
issm/trunk/src/c/Makefile.am
r4765 r4773 94 94 ./objects/Node.h\ 95 95 ./objects/Node.cpp\ 96 ./objects/Segment.h\ 97 ./objects/Segment.cpp\ 96 98 ./objects/Vertex.h\ 97 99 ./objects/Vertex.cpp\ … … 499 501 ./modules/MeshPartitionx/MeshPartitionx.cpp\ 500 502 ./modules/MeshPartitionx/MeshPartitionx.h\ 503 ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp\ 504 ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h\ 505 ./modules/MeshProfileIntersectionx/MeshSegmentsIntersection.cpp\ 506 ./modules/MeshProfileIntersectionx/ElementSegmentsIntersection.cpp\ 507 ./modules/MeshProfileIntersectionx/ElementSegment.cpp\ 501 508 ./modules/ContourToMeshx/ContourToMeshx.cpp\ 502 509 ./modules/ContourToMeshx/ContourToMeshxt.cpp\ … … 653 660 ./objects/Node.h\ 654 661 ./objects/Node.cpp\ 662 ./objects/Segment.h\ 663 ./objects/Segment.cpp\ 655 664 ./objects/Vertex.h\ 656 665 ./objects/Vertex.cpp\ … … 1051 1060 ./modules/MeshPartitionx/MeshPartitionx.cpp\ 1052 1061 ./modules/MeshPartitionx/MeshPartitionx.h\ 1062 ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp\ 1063 ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h\ 1064 ./modules/MeshProfileIntersectionx/MeshSegmentsIntersection.cpp\ 1065 ./modules/MeshProfileIntersectionx/ElementSegmentsIntersection.cpp\ 1066 ./modules/MeshProfileIntersectionx/ElementSegment.cpp\ 1053 1067 ./modules/ContourToMeshx/ContourToMeshx.cpp\ 1054 1068 ./modules/ContourToMeshx/ContourToMeshxt.cpp\ … … 1146 1160 endif 1147 1161 1148 LDADD = ./libpISSM.a $(PETSCLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) libOverload.a $(MULTITHREADINGLIB)1162 LDADD = ./libpISSM.a $(PETSCLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) libOverload.a $(MULTITHREADINGLIB) 1149 1163 1150 1164 issm_exe_SOURCES = solutions/issm.cpp -
issm/trunk/src/c/modules/DakotaResponsesx/DakotaResponsesx.cpp
r4451 r4773 34 34 /*Compute response for this response_descriptor:*/ 35 35 36 if(strcmp(response_descriptor," min_vel")==0){36 if(strcmp(response_descriptor,"MinVel")==0){ 37 37 MinVelx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 38 38 } 39 else if(strcmp(response_descriptor," max_vel")==0){39 else if(strcmp(response_descriptor,"MaxVel")==0){ 40 40 MaxVelx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 41 41 } 42 else if(strcmp(response_descriptor," min_vx")==0){42 else if(strcmp(response_descriptor,"MinVx")==0){ 43 43 MinVxx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 44 44 } 45 else if(strcmp(response_descriptor," max_vx")==0){45 else if(strcmp(response_descriptor,"MaxVx")==0){ 46 46 MaxVxx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 47 47 } 48 else if(strcmp(response_descriptor," max_abs_vx")==0){48 else if(strcmp(response_descriptor,"MaxAbsVx")==0){ 49 49 MaxAbsVxx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 50 50 } 51 else if(strcmp(response_descriptor," min_vy")==0){51 else if(strcmp(response_descriptor,"MinVy")==0){ 52 52 MinVyx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 53 53 } 54 else if(strcmp(response_descriptor," max_vy")==0){54 else if(strcmp(response_descriptor,"MaxVy")==0){ 55 55 MaxVyx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 56 56 } 57 else if(strcmp(response_descriptor," max_abs_vy")==0){57 else if(strcmp(response_descriptor,"MaxAbsVy")==0){ 58 58 MaxAbsVyx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 59 59 } 60 else if(strcmp(response_descriptor," min_vz")==0){60 else if(strcmp(response_descriptor,"MinVz")==0){ 61 61 MinVzx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 62 62 } 63 else if(strcmp(response_descriptor," max_vz")==0){63 else if(strcmp(response_descriptor,"MaxVz")==0){ 64 64 MaxVzx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 65 65 } 66 else if(strcmp(response_descriptor," max_abs_vz")==0){66 else if(strcmp(response_descriptor,"MaxAbsVz")==0){ 67 67 MaxAbsVzx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 68 68 } 69 else if(strcmp(response_descriptor," misfit")==0){69 else if(strcmp(response_descriptor,"Misfit")==0){ 70 70 Misfitx( &femmodel_response, elements,nodes, vertices, loads, materials, parameters); 71 71 } 72 else if(str cmp(response_descriptor,"mass_flux")==0){72 else if(strlen(response_descriptor)>=8){ 73 73 74 double* segments=NULL; 75 int num_segments; 76 77 /*retrieve qmu_mass_flux_segments: */ 78 parameters->FindParam(&segments,&num_segments,&dummy,QmuMassFluxSegmentsEnum); 74 if(strncmp(response_descriptor,"MassFlux",8)==0){ 79 75 80 /*call mass flux module: */81 MassFluxx(&femmodel_response,elements,nodes,vertices,loads,materials,parameters,segments,num_segments);76 double* segments=NULL; 77 int num_segments; 82 78 83 /*Free ressources:*/ 84 xfree((void**)&segments); 79 /*retrieve qmu_mass_flux_segments: */ 80 parameters->FindParam(&segments,&num_segments,&dummy,QmuMassFluxSegmentsEnum); 81 82 /*call mass flux module: */ 83 MassFluxx(&femmodel_response,elements,nodes,vertices,loads,materials,parameters,segments,num_segments); 84 85 /*Free ressources:*/ 86 xfree((void**)&segments); 87 } 85 88 86 89 } -
issm/trunk/src/c/modules/modules.h
r4702 r4773 56 56 #include "./Mergesolutionfromftogx/Mergesolutionfromftogx.h" 57 57 #include "./MeshPartitionx/MeshPartitionx.h" 58 #include "./MeshProfileIntersectionx/MeshProfileIntersectionx.h" 58 59 #include "./MinVelx/MinVelx.h" 59 60 #include "./MinVxx/MinVxx.h" -
issm/trunk/src/c/objects/objects.h
r4244 r4773 14 14 #include "./Vertex.h" 15 15 #include "./Node.h" 16 #include "./Segment.h" 16 17 #include "./NodeSets.h" 17 18 #include "./IoModel.h" -
issm/trunk/src/m/classes/@model/model.m
r4739 r4773 300 300 md.variabledescriptors=NaN; 301 301 md.responsedescriptors=NaN; 302 md.qmu_mass_flux_profile=NaN; 302 md.qmu_mass_flux_num_profiles=NaN; 303 md.qmu_mass_flux_profile_directory=NaN; 304 md.qmu_mass_flux_profiles=NaN; 303 305 md.qmu_mass_flux_segments=NaN; 304 md.qmu_mass_flux_num_segments=NaN;305 306 306 307 %partitioner: -
issm/trunk/src/m/qmu/MassFluxProcessProfile.m
r4761 r4773 1 function segments=MassFluxProcessProfile(md );1 function segments=MassFluxProcessProfile(md,directory,profilename); 2 2 %MASSFLUXPROCESSPROFILE: process an argus domain outlien profile into a list of segments. 3 3 % … … 9 9 10 10 %first read the profile points. 11 profile=expread([ '../' md.qmu_mass_flux_profile],1); %go to ../ because the exp file is in the root directory.11 profile=expread([directory '/' profilename]); 12 12 13 13 %project this profile onto mesh. -
issm/trunk/src/m/qmu/process_qmu_response_data.m
r4430 r4773 7 7 8 8 9 %preliminary data 10 process_mass_flux_profiles=0; 9 11 12 13 %loop through response descriptors, and act accordingly 10 14 for i=1:numel(md.responsedescriptors), 11 if strncmpi(md.responsedescriptors{i},'mass_flux',9),12 indx=str2int(md.responsedescriptors{i}(10:end));13 if isempty(indx) || ~indx14 indx=1;15 end16 15 17 %we need a profile of points on which to compute the mass_flux, is it here? 18 if isnans(md.qmu_mass_flux_profile), 19 error('process_qmu_response_data error message: could not find a mass_flux exp profile!'); 20 end 21 if ~(ischar(md.qmu_mass_flux_profile) && (indx == 1)) && ... 22 ~(iscell(md.qmu_mass_flux_profile) && length(md.qmu_mass_flux_profile) >= indx && ischar(md.qmu_mass_flux_profile{indx})), 23 error('process_qmu_response_data error message: mass_flux exp profile should be a domain outline name'); 24 end 25 26 %ok, process the qmu_mass_flux_profile to build a list of segments: 27 if ischar(md.qmu_mass_flux_profile), 28 md.qmu_mass_flux_segments=MassFluxProcessProfile(md); 29 md.qmu_mass_flux_num_segments=size(md.qmu_mass_flux_segments,1); 30 else 31 if isempty(md.qmu_mass_flux_segments) || ~iscell(md.qmu_mass_flux_segments) 32 md.qmu_mass_flux_segments=cell(numel(md.qmu_mass_flux_profile),1); 33 end 34 if isempty(md.qmu_mass_flux_num_segments) || ... 35 (numel(md.qmu_mass_flux_num_segments) == 1 && isnan(md.qmu_mass_flux_num_segments)) 36 md.qmu_mass_flux_num_segments=zeros(numel(md.qmu_mass_flux_profile),1); 37 end 38 save=md.qmu_mass_flux_profile; 39 md.qmu_mass_flux_profile=md.qmu_mass_flux_profile{indx}; 40 md.qmu_mass_flux_segments{indx,1}=MassFluxProcessProfile(md); 41 md.qmu_mass_flux_num_segments(indx,1)=size(md.qmu_mass_flux_segments{indx},1); 42 md.qmu_mass_flux_profile=save; 43 clear save 44 end 16 %Do we have to process mass flux profiles? 17 if strncmpi(md.responsedescriptors{i},'MassFlux',8), 18 process_mass_flux_profiles=1; 45 19 end 46 20 end 47 21 48 % for now, concatenate all segments from cells to make a double array for parallel 49 if iscell(md.qmu_mass_flux_segments) 50 segments=zeros(0,5); 51 for i=1:length(md.qmu_mass_flux_num_segments) 52 if md.qmu_mass_flux_num_segments(i)53 segments=[segments; md.qmu_mass_flux_segments{i}];54 e nd22 23 %deal with mass flux profiles 24 if process_mass_flux_profiles, 25 26 %we need a profile of points on which to compute the mass_flux, is it here? 27 if isnans(md.qmu_mass_flux_profiles), 28 error('process_qmu_response_data error message: could not find a mass_flux exp profile!'); 55 29 end 56 md.qmu_mass_flux_segments=segments; 57 clear segments 30 31 if ~iscell(md.qmu_mass_flux_profiles), 32 error('process_qmu_response_data error message: qmu_mass_flux_profiles field should be a cell array of domain outline names'); 33 end 34 35 if isempty(md.qmu_mass_flux_profiles), 36 error('process_qmu_response_data error message: qmu_mass_flux_profiles cannot be empty!'); 37 end 38 39 %ok, process the domains named in qmu_mass_flux_profiles, to build a list of segments 40 md.qmu_mass_flux_segments=cell(numel(md.qmu_mass_flux_profiles),1); 41 42 for i=1:numel(md.qmu_mass_flux_profiles), 43 md.qmu_mass_flux_segments{i}=MassFluxProcessProfile(md,md.qmu_mass_flux_profile_directory,md.qmu_mass_flux_profiles{i}); 44 end 58 45 end 59 46 47 error; 48 -
issm/trunk/src/m/utils/Mesh/ProfileProjectOntoMesh.m
r4040 r4773 14 14 %[x0,y0] = intersections(profile.x,profile.y,x,y,1); 15 15 [x0,y0,indices,j] = intersections(profile.x,profile.y,x,y); 16 16 17 % sort intersections to create segments in order and continuous along profile 17 18 [indices,isort]=sort(indices); -
issm/trunk/src/mex/Makefile.am
r4750 r4773 44 44 Mergesolutionfromftog\ 45 45 MeshPartition\ 46 MeshProfileIntersection\ 46 47 Misfit \ 47 48 ModelProcessor \ … … 228 229 MeshPartition/MeshPartition.h 229 230 231 MeshProfileIntersection_SOURCES = MeshProfileIntersection/MeshProfileIntersection.cpp\ 232 MeshProfileIntersection/MeshProfileIntersection.h 233 230 234 ModelProcessor_SOURCES = ModelProcessor/ModelProcessor.cpp \ 231 235 ModelProcessor/ModelProcessor.h -
issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp
r4218 r4773 35 35 FetchData(&double_analyses,&numanalyses,ANALYSES); 36 36 analyses=(int*)xmalloc(numanalyses*sizeof(int)); 37 for(i=0;i<numanalyses;i++)analyses[i]= double_analyses[i];37 for(i=0;i<numanalyses;i++)analyses[i]=(int)double_analyses[i]; 38 38 39 39 /*call x code ModelProcessorx: */
Note:
See TracChangeset
for help on using the changeset viewer.