source:
issm/oecreview/Archive/20545-21336/ISSM-20882-20883.diff@
21337
Last change on this file since 21337 was 21337, checked in by , 8 years ago | |
---|---|
File size: 27.5 KB |
-
../trunk-jpl/src/m/extrusion/project2d.js
1 function project2d(md3d,value,layer) { 2 // PROJECT2D - returns the value of a field for a given layer of the mesh 3 // 4 // returns the value of a vector for a given layer from extruded mesh onto the 2d mesh 5 // used to do the extrusion. This function is used to compare values between different 6 // layers of a 3d mesh. 7 // 8 // Usage: 9 // projection_value=project2d(md3d,value,layer) 10 // 11 // Example: 12 // vel2=project2d(md3d,md3d.initialization.vel,2); 13 // returns the velocity of the second layer (1 is the base) 14 15 // some checks on list of arguments 16 if (arguments.length !== 3) { 17 console.error('project2d error message'); 18 } 19 20 if (md3d.mesh.domaintype() !== '3D') { 21 console.error("wrong model type ... should be ''3d''"); 22 } 23 24 if (layer<1 || layer>md3d.mesh.numberoflayers) { 25 console.error(['layer must be between 1 and ' + num2str(md3d.mesh.numberoflayers)]); 26 } 27 28 // Return the projection value 29 var temp = []; 30 if (value.length === md3d.mesh.numberofvertices) { 31 for (var i = (layer-1)*md3d.mesh.numberofvertices2d; i <= layer*md3d.mesh.numberofvertices2d; ++i) { 32 temp.push(value[i]); 33 } 34 } else if (value.length === md3d.mesh.numberofvertices+1) { 35 for (var i = (layer-1)*md3d.mesh.numberofvertices2d; i <= layer*md3d.mesh.numberofvertices2d; ++i) { 36 temp.push(value[i]); 37 } 38 temp.push(value[value.length-1]); 39 } else { 40 for (var i = (layer-1)*md3d.mesh.numberofelements; i <= layer*md3d.mesh.numberofelements2d; ++i) { 41 temp.push(value[i]); 42 } 43 } 44 45 return temp; 46 } -
../trunk-jpl/src/m/extrusion/DepthAverage.js
1 function DepthAverage(md,vector) { 2 // DEPTHAVERAGE - computes depth average of 3d vector using the trapezoidal rule, and returns the value on 2d mesh. 3 // 4 // Usage: 5 // vector_average=DepthAverage(md,vector); 6 // 7 // Example: 8 // vel_bar=DepthAverage(md,md.initialization.vel); 9 10 // check that the model given in input is 3d 11 if (md.mesh.elementtype() !== 'Penta') { 12 console.error('DepthAverage error message: the model given in input must be 3d'); 13 } 14 15 // nods data 16 if (vector.length === md.mesh.numberofvertices) { 17 var vector_average=zeros(md.mesh.numberofvertices2d,1); 18 19 for (var i = 1; i < md.mesh.numberoflayers-1; ++i) { 20 vector_average = vector_average.map(function(x) { 21 return x + (project2d(md, vector, i) + project2d(md,vector,i+1))/2; 22 }).map(function(y) { 23 return y * (project2d(md, md.mesh.z, i+1) - project2d(md, md.mesh.z, i)); 24 }); 25 } 26 27 vector_average = vector_average.map(function(z) { 28 return z / project2d(md, md.geometry.thickness, 1); 29 }); 30 31 return vector_average; 32 } 33 // element data 34 else if (vector.length === md.mesh.numberofelements) { 35 var vector_average=zeros(md.mesh.numberofelements2d,1); 36 for (var i = 1; i < md.mesh.numberoflayers-1; ++i) { 37 vector_average = vector_average.map(function(x) { 38 return x + project2d(md, vector, i); 39 }).map(function(y) { 40 return y * (project2d(md, md.mesh.z, i+1) - project2d(md, md.mesh.z, i)); 41 }); 42 } 43 44 vector_average = vector_average.map(function(z) { 45 return z / project2d(md, md.geometry.thickness, 1); 46 }); 47 48 return vector_average; 49 } else { 50 console.error('vector size not supported yet'); 51 } 52 } -
../trunk-jpl/src/m/mesh/meshconvert.js
1 this.meshconvert = function(md,varargin)) { 2 function zeros(...args) { 3 var array = []; 4 for (var i = 0; i < args[0]; ++i) { 5 array.push(args.length == 1 ? 0 : zeros(args.slice(1))); 6 } 7 return array; 8 } 9 var md = new model(); 10 //CONVERTMESH - convert mesh to bamg mesh 11 // 12 // Usage: 13 // md=meshconvert(md); 14 // md=meshconvert(md,index,x,y); 15 16 if (nargin~=1 & nargin~=4,) { 17 help meshconvert 18 console.error('meshconvert error message: bad usage'); 19 } 20 21 if (nargin==1,) { 22 index = md.mesh.elements; 23 x = md.mesh.x; 24 y = md.mesh.y; 25 } else { 26 index = varargin[0]; 27 x = varargin[1]; 28 y = varargin[2]; 29 } 30 31 //call Bamg 32 [bamgmesh_out bamggeom_out]=BamgConvertMesh(index,x,y); 33 34 // plug results onto model 35 md.private.bamg = struct(); 36 md.private.bamg.mesh = bamgmesh(bamgmesh_out); 37 md.private.bamg.geometry = bamggeom(bamggeom_out); 38 md.mesh.x = bamgmesh_out.Vertices(:,1); 39 md.mesh.y = bamgmesh_out.Vertices(:,2); 40 md.mesh.elements = bamgmesh_out.Triangles(:,1:3); 41 md.mesh.edges = bamgmesh_out.IssmEdges; 42 md.mesh.segments = bamgmesh_out.IssmSegments(:,1:3); 43 md.mesh.segmentmarkers = bamgmesh_out.IssmSegments(:,4); 44 45 //Fill in rest of fields: 46 md.mesh.numberofelements = size(md.mesh.elements,1); 47 md.mesh.numberofvertices = length(md.mesh.x); 48 md.mesh.numberofedges = size(md.mesh.edges,1); 49 md.mesh.vertexonboundary = zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2)) = 1; -
../trunk-jpl/src/m/classes/model.js
153 153 154 154 numlayers=extrusionlist.length; 155 155 } else if (argc==3) { //one polynomial law 156 if (arguments[ 2]<=0) {156 if (arguments[1]<=0) { 157 157 //help extrude; 158 158 throw 'extrusionexponent must be >=0'; 159 159 } … … 162 162 extrusionlist = []; 163 163 164 164 for (var i = 0; i < numlayers; i++) { 165 extrusionlist.push(Math.pow(i/(numlayers-1), arguments[ 2]));165 extrusionlist.push(Math.pow(i/(numlayers-1), arguments[1])); 166 166 }; 167 167 168 168 } else if (argc==4) { //two polynomial laws … … 264 264 //lowervertex=NaN*ones(number_nodes3d,1); 265 265 //uppervertex=NaN*ones(number_nodes3d,1); 266 266 267 lowervertex = fillArray( null, number_nodes3d);268 uppervertex = fillArray( null, number_nodes3d);267 lowervertex = fillArray(NaN, number_nodes3d); 268 uppervertex = fillArray(NaN, number_nodes3d); 269 269 270 270 //lowervertex(md.mesh.numberofvertices+1:end)=1:(numlayers-1)*md.mesh.numberofvertices; 271 271 //uppervertex(1:(numlayers-1)*md.mesh.numberofvertices)=md.mesh.numberofvertices+1:number_nodes3d; … … 282 282 md.mesh.uppervertex=uppervertex; 283 283 284 284 //same for lower and upper elements 285 lowerelements = fillArray( null, number_el3d);286 upperelements = fillArray( null, number_el3d);285 lowerelements = fillArray(NaN, number_el3d); 286 upperelements = fillArray(NaN, number_el3d); 287 287 //lowerelements(md.mesh.numberofelements+1:end)=1:(numlayers-2)*md.mesh.numberofelements; 288 288 //upperelements(1:(numlayers-2)*md.mesh.numberofelements)=md.mesh.numberofelements+1:(numlayers-1)*md.mesh.numberofelements; 289 289 … … 325 325 md.mesh.lat=project3d(md,'vector',md.mesh.lat,'type','node'); 326 326 md.mesh.long=project3d(md,'vector',md.mesh.long,'type','node'); 327 327 328 md.geometry=md.geometry.extrude(md);329 md.friction=md.friction.extrude(md);330 md.inversion=md.inversion.extrude(md);331 md.smb=md.smb.extrude(md);332 md.initialization=md.initialization.extrude(md);328 //md.geometry=md.geometry.extrude(md); 329 //md.friction=md.friction.extrude(md); 330 //md.inversion=md.inversion.extrude(md); 331 //md.smb=md.smb.extrude(md); 332 //md.initialization=md.initialization.extrude(md); 333 333 334 md.flowequation=md.flowequation.extrude(md);335 md.stressbalance=md.stressbalance.extrude(md);336 md.thermal=md.thermal.extrude(md);337 md.masstransport=md.masstransport.extrude(md);338 md.levelset=md.levelset.extrude(md);339 md.calving=md.calving.extrude(md);340 md.hydrology = md.hydrology.extrude(md);334 //md.flowequation=md.flowequation.extrude(md); 335 //md.stressbalance=md.stressbalance.extrude(md); 336 //md.thermal=md.thermal.extrude(md); 337 //md.masstransport=md.masstransport.extrude(md); 338 //md.levelset=md.levelset.extrude(md); 339 //md.calving=md.calving.extrude(md); 340 //md.hydrology = md.hydrology.extrude(md); 341 341 342 // connectivity343 // if ~isnan(md.mesh.elementconnectivity)342 ////connectivity 343 ////if ~isnan(md.mesh.elementconnectivity) 344 344 345 if (md.mesh.elementconnectivity.every(function(e, i, arr) { return e !== null && typeof e !== 'undefined'; })) {346 var temparr = [];347 for (var i = 0; i < numlayers; i++) {348 temparr.push(md.mesh.elementconnectivity);349 };345 //if (md.mesh.elementconnectivity.every(function(e, i, arr) { return e !== null && typeof e !== 'undefined'; })) { 346 //var temparr = []; 347 //for (var i = 0; i < numlayers; i++) { 348 //temparr.push(md.mesh.elementconnectivity); 349 //}; 350 350 351 // md.mesh.elementconnectivity=repmat(md.mesh.elementconnectivity,numlayers-1,1);351 ////md.mesh.elementconnectivity=repmat(md.mesh.elementconnectivity,numlayers-1,1); 352 352 353 md.mesh.elementconnectivity = temparr;353 //md.mesh.elementconnectivity = temparr; 354 354 355 // md.mesh.elementconnectivity(find(md.mesh.elementconnectivity==0))=NaN;355 ////md.mesh.elementconnectivity(find(md.mesh.elementconnectivity==0))=NaN; 356 356 357 for (var i = 0; i < md.mesh.elementconnectivity.length; i++) {358 if (md.mesh.elementconnectivity[i] == 0) {359 md.mesh.elementconnectivity[i] = NaN;360 }361 };357 //for (var i = 0; i < md.mesh.elementconnectivity.length; i++) { 358 //if (md.mesh.elementconnectivity[i] == 0) { 359 //md.mesh.elementconnectivity[i] = NaN; 360 //} 361 //}; 362 362 363 for (var i = 2; i < numlayers; i++) {364 for (var j = (i-1)*md.mesh.nuberofelements2d+1; i <= (i)*md.mesh.numberofelements2d; i++) {365 md.mesh.elementconnectivity[i] += md.mesh.numberofelements2d;366 };367 // md.mesh.elementconnectivity((i-1)*md.mesh.numberofelements2d+1:(i)*md.mesh.numberofelements2d,:)...368 // =md.mesh.elementconnectivity((i-1)*md.mesh.numberofelements2d+1:(i)*md.mesh.numberofelements2d,:)+md.mesh.numberofelements2d;369 };363 //for (var i = 2; i < numlayers; i++) { 364 //for (var j = (i-1)*md.mesh.nuberofelements2d+1; i <= (i)*md.mesh.numberofelements2d; i++) { 365 //md.mesh.elementconnectivity[i] += md.mesh.numberofelements2d; 366 //}; 367 ////md.mesh.elementconnectivity((i-1)*md.mesh.numberofelements2d+1:(i)*md.mesh.numberofelements2d,:)... 368 ////=md.mesh.elementconnectivity((i-1)*md.mesh.numberofelements2d+1:(i)*md.mesh.numberofelements2d,:)+md.mesh.numberofelements2d; 369 //}; 370 370 371 md.mesh.elementconnectivity.map(function(x) { return (isNaN(x)) ? 0 : x; });372 }371 //md.mesh.elementconnectivity.map(function(x) { return (isNaN(x)) ? 0 : x; }); 372 //} 373 373 374 md.materials=md.materials.extrude(md);375 md.damage=md.damage.extrude(md);376 md.mask=md.mask.extrude(md);377 md.qmu=md.qmu.extrude(md);378 md.basalforcings=md.basalforcings.extrude(md);374 //md.materials=md.materials.extrude(md); 375 //md.damage=md.damage.extrude(md); 376 //md.mask=md.mask.extrude(md); 377 //md.qmu=md.qmu.extrude(md); 378 //md.basalforcings=md.basalforcings.extrude(md); 379 379 380 //increase connectivity if less than 25: 381 if (md.mesh.average_vertex_connectivity<=25) 382 md.mesh.average_vertex_connectivity=100; 383 // }}} 380 ////increase connectivity if less than 25: 381 //if (md.mesh.average_vertex_connectivity<=25) 382 //md.mesh.average_vertex_connectivity=100; 383 } //}}} 384 this.collapse = function(md) { 385 /* 386 *COLLAPSE - collapses a 3d mesh into a 2d mesh 387 * 388 * This routine collapses a 3d model into a 2d model 389 * and collapses all the fileds of the 3d model by 390 * taking their depth-averaged values 391 * 392 * Usage: 393 * md=collapse(md) 394 * 395 * See also: EXTRUDE, MODELEXTRACT 396 */ 384 397 385 } //}}} 398 // Check that the model is really a 3d model 399 if (md.mesh.elementtype() !== 'Penta') { 400 console.error('collapse error message: only 3d mesh can be collapsed') 401 } 402 403 // Start with changing all the fields from the 3d mesh 404 405 // dealing with the friction law 406 // drag is limited to nodes that are on the bedrock. 407 if (md.friction.classname() === 'friction') { 408 md.friction.coefficient=project2d(md,md.friction.coefficient,1); 409 md.friction.p=project2d(md,md.friction.p,1); 410 md.friction.q=project2d(md,md.friction.q,1); 411 } else if (md.friction.classname() === 'frictionhydro') { 412 md.friction.q=project2d(md,md.friction.q,1); 413 md.friction.C=project2d(md,md.friction.C,1); 414 md.friction.As=project2d(md,md.friction.As,1); 415 md.friction.effective_pressure=project2d(md,md.friction.effective_pressure,1); 416 } else if (md.friction.classname() === 'frictionwaterlayer') { 417 md.friction.coefficient=project2d(md,md.friction.coefficient,1); 418 md.friction.p=project2d(md,md.friction.p,1); 419 md.friction.q=project2d(md,md.friction.q,1); 420 md.friction.water_layer=project2d(md,md.friction.water_layer,1); 421 } else if (md.friction.classname() === 'frictionweertman') { 422 md.friction.C=project2d(md,md.friction.C,1); 423 md.friction.m=project2d(md,md.friction.m,1); 424 } else if (md.friction.classname() === 'frictionweertmantemp') { 425 md.friction.C=project2d(md,md.friction.C,1); 426 md.friction.m=project2d(md,md.friction.m,1); 427 } else { 428 disp('friction type not supported'); 429 } 430 431 // observations 432 if (!isNaN(md.inversion.vx_obs)) 433 md.inversion.vx_obs=project2d(md,md.inversion.vx_obs,md.mesh.numberoflayers); 434 435 if (!isNaN(md.inversion.vy_obs)) 436 md.inversion.vy_obs=project2d(md,md.inversion.vy_obs,md.mesh.numberoflayers); 437 438 if (!isNaN(md.inversion.vel_obs)) 439 md.inversion.vel_obs=project2d(md,md.inversion.vel_obs,md.mesh.numberoflayers); 440 441 if (!isNaN(md.inversion.cost_functions_coefficients)) 442 md.inversion.cost_functions_coefficients=project2d(md,md.inversion.cost_functions_coefficients,md.mesh.numberoflayers); 443 444 if (numel(md.inversion.min_parameters)>1) 445 md.inversion.min_parameters=project2d(md,md.inversion.min_parameters,md.mesh.numberoflayers); 446 447 if (numel(md.inversion.max_parameters)>1) 448 md.inversion.max_parameters=project2d(md,md.inversion.max_parameters,md.mesh.numberoflayers); 449 450 if (md.smb.classname() === 'SMBforcing' && !isNaN(md.smb.mass_balance)) { 451 md.smb.mass_balance=project2d(md,md.smb.mass_balance,md.mesh.numberoflayers); 452 } else if (md.smb.classname() === 'SMBhenning' && !isNaN(md.smb.smbref)) { 453 md.smb.smbref=project2d(md,md.smb.smbref,md.mesh.numberoflayers); 454 } 455 456 // results 457 if (!isNaN(md.initialization.vx)) 458 md.initialization.vx=DepthAverage(md,md.initialization.vx); 459 if (!isNaN(md.initialization.vy)) 460 md.initialization.vy=DepthAverage(md,md.initialization.vy); 461 if (!isNaN(md.initialization.vz)) 462 md.initialization.vz=DepthAverage(md,md.initialization.vz); 463 if (!isNaN(md.initialization.vel)) 464 md.initialization.vel=DepthAverage(md,md.initialization.vel); 465 if (!isNaN(md.initialization.temperature)) 466 md.initialization.temperature=DepthAverage(md,md.initialization.temperature); 467 if (!isNaN(md.initialization.pressure)) 468 md.initialization.pressure=project2d(md,md.initialization.pressure,1); 469 if (!isNaN(md.initialization.sediment_head)) 470 md.initialization.sediment_head=project2d(md,md.initialization.sediment_head,1); 471 if (!isNaN(md.initialization.epl_head)) 472 md.initialization.epl_head=project2d(md,md.initialization.epl_head,1); 473 if (!isNaN(md.initialization.epl_thickness)) 474 md.initialization.epl_thickness=project2d(md,md.initialization.epl_thickness,1); 475 476 // gia 477 if (!isNaN(md.gia.mantle_viscosity)) 478 md.gia.mantle_viscosity=project2d(md,md.gia.mantle_viscosity,1); 479 if (!isNaN(md.gia.lithosphere_thickness)) 480 md.gia.lithosphere_thickness=project2d(md,md.gia.lithosphere_thickness,1); 481 482 // elementstype 483 if (!isNaN(md.flowequation.element_equation)) { 484 md.flowequation.element_equation=project2d(md,md.flowequation.element_equation,1); 485 md.flowequation.vertex_equation=project2d(md,md.flowequation.vertex_equation,1); 486 md.flowequation.borderSSA=project2d(md,md.flowequation.borderSSA,1); 487 md.flowequation.borderHO=project2d(md,md.flowequation.borderHO,1); 488 md.flowequation.borderFS=project2d(md,md.flowequation.borderFS,1); 489 } 490 491 // boundary conditions 492 md.stressbalance.spcvx=project2d(md,md.stressbalance.spcvx,md.mesh.numberoflayers); 493 md.stressbalance.spcvy=project2d(md,md.stressbalance.spcvy,md.mesh.numberoflayers); 494 md.stressbalance.spcvz=project2d(md,md.stressbalance.spcvz,md.mesh.numberoflayers); 495 md.stressbalance.referential=project2d(md,md.stressbalance.referential,md.mesh.numberoflayers); 496 md.stressbalance.loadingforce=project2d(md,md.stressbalance.loadingforce,md.mesh.numberoflayers); 497 md.masstransport.spcthickness=project2d(md,md.masstransport.spcthickness,md.mesh.numberoflayers); 498 if (!isNaN(md.damage.spcdamage)) 499 md.damage.spcdamage=project2d(md,md.damage.spcdamage,md.mesh.numberoflayers); 500 md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.mesh.numberoflayers); 501 502 // Hydrologydc variables 503 if (md.hydrology.classname() === 'hydrologydc') { 504 md.hydrology.spcsediment_head=project2d(md,md.hydrology.spcsediment_head,1); 505 md.hydrology.mask_eplactive_node=project2d(md,md.hydrology.mask_eplactive_node,1); 506 md.hydrology.sediment_transmitivity=project2d(md,md.hydrology.sediment_transmitivity,1); 507 md.hydrology.basal_moulin_input=project2d(md,md.hydrology.basal_moulin_input,1); 508 509 if(md.hydrology.isefficientlayer==1) 510 md.hydrology.spcepl_head=project2d(md,md.hydrology.spcepl_head,1); 511 } 512 513 // materials 514 md.materials.rheology_B=DepthAverage(md,md.materials.rheology_B); 515 md.materials.rheology_n=project2d(md,md.materials.rheology_n,1); 516 517 // damage: 518 if (md.damage.isdamage) 519 md.damage.D=DepthAverage(md,md.damage.D); 520 521 // special for thermal modeling: 522 if (!isNaN(md.basalforcings.groundedice_melting_rate)) 523 md.basalforcings.groundedice_melting_rate=project2d(md,md.basalforcings.groundedice_melting_rate,1); 524 525 if (!isNaN(md.basalforcings.floatingice_melting_rate)) 526 md.basalforcings.floatingice_melting_rate=project2d(md,md.basalforcings.floatingice_melting_rate,1); 527 528 md.basalforcings.geothermalflux=project2d(md,md.basalforcings.geothermalflux,1); // bedrock only gets geothermal flux 529 530 // update of connectivity matrix 531 md.mesh.average_vertex_connectivity=25; 532 533 // Collapse the mesh 534 var nodes2d=md.mesh.numberofvertices2d; 535 var elements2d=md.mesh.numberofelements2d; 536 537 // parameters 538 md.geometry.surface=project2d(md,md.geometry.surface,1); 539 md.geometry.thickness=project2d(md,md.geometry.thickness,1); 540 md.geometry.base=project2d(md,md.geometry.base,1); 541 if (!isNaN(md.geometry.bed)) 542 md.geometry.bed=project2d(md,md.geometry.bed,1); 543 544 if (!isNaN(md.mask.groundedice_levelset)) 545 md.mask.groundedice_levelset=project2d(md,md.mask.groundedice_levelset,1); 546 547 if (!isNaN(md.mask.ice_levelset)) 548 md.mask.ice_levelset=project2d(md,md.mask.ice_levelset,1); 549 550 // lat long 551 if (numel(md.mesh.lat) === md.mesh.numberofvertices) 552 md.mesh.lat=project2d(md,md.mesh.lat,1); 553 if (numel(md.mesh.long) === md.mesh.numberofvertices) 554 md.mesh.long=project2d(md,md.mesh.long,1); 555 556 // Initialize with the 2d mesh 557 var mesh = new mesh2d(); 558 mesh.x=md.mesh.x2d; 559 mesh.y=md.mesh.y2d; 560 mesh.numberofvertices=md.mesh.numberofvertices2d; 561 mesh.numberofelements=md.mesh.numberofelements2d; 562 mesh.elements=md.mesh.elements2d; 563 564 if (!isNaN(md.mesh.vertexonboundary)) 565 mesh.vertexonboundary=project2d(md,md.mesh.vertexonboundary,1); 566 if (!isNaN(md.mesh.elementconnectivity)) 567 mesh.elementconnectivity=project2d(md,md.mesh.elementconnectivity,1); 568 569 md.mesh=mesh; 570 md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices); 571 md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity); 572 md.mesh.segments=contourenvelope(md.mesh); 573 574 return md; 575 } 386 576 //properties 387 577 // {{{ 388 578 //Careful here: no other class should be used as default value this is a bug of matlab -
../trunk-jpl/jenkins/javascript/karma/lib/bin/contourenvelope.js
1 link /home/andy/Programming/Research/trunk-jpl/src/m/parameterization/contourenvelope.js 2 No newline at end of file -
../trunk-jpl/jenkins/javascript/karma/lib/bin/project2d.js
Property changes on: ../trunk-jpl/jenkins/javascript/karma/lib/bin/contourenvelope.js ___________________________________________________________________ Added: svn:special + *
1 link /home/andy/Programming/Research/trunk-jpl/src/m/extrusion/project2d.js 2 No newline at end of file -
../trunk-jpl/jenkins/javascript/karma/lib/bin/DepthAverage.js
Property changes on: ../trunk-jpl/jenkins/javascript/karma/lib/bin/project2d.js ___________________________________________________________________ Added: svn:special + *
1 link /home/andy/Programming/Research/trunk-jpl/src/m/extrusion/DepthAverage.js 2 No newline at end of file -
../trunk-jpl/jenkins/javascript/karma/lib/bin/issm-binaries.js
Property changes on: ../trunk-jpl/jenkins/javascript/karma/lib/bin/DepthAverage.js ___________________________________________________________________ Added: svn:special + *
11181 11181 11182 11182 //Marshall into a binary array (fid) all the fields of model. 11183 11183 var fid = marshall(md); // bin file 11184 11185 11184 //deal with toolkits options: 11186 11185 toolkitsstring= md.toolkits.ToolkitsFile(md.miscellaneous.name + '.toolkits'); // toolkits file 11187 11186 -
../trunk-jpl/jenkins/javascript/karma/scripts/test104.js
6 6 md.extrude(md,3,2.); 7 7 setflowequation(md,'FS','all'); 8 8 //md.cluster=generic('name',oshostname(),'np',3); 9 md=solve(md,StressbalanceSolutionEnum() );9 md=solve(md,StressbalanceSolutionEnum(),'checkconsistency','no'); 10 10 11 11 //Fields and tolerances to track changes 12 12 field_names =['Vx','Vy','Vz','Vel','Pressure']; -
../trunk-jpl/jenkins/javascript/karma/karma.conf.js
39 39 'lib/bin/damage.js', 40 40 'lib/bin/qmu.js', 41 41 'lib/bin/basalforcings.js', 42 'lib/bin/DepthAverage.js', 43 'lib/bin/project2d.js', 42 44 'lib/bin/project3d.js', 43 45 'lib/bin/model.js', 44 46 //'scripts/specs/issm.spec.js' 45 'scripts/specs/temp.spec.js' 47 //'scripts/specs/temp.spec.js' 48 'scripts/test102.js' 46 49 //'scripts/specs/3.spec.js' 47 50 ], 48 51
Note:
See TracBrowser
for help on using the repository browser.