source:
issm/oecreview/Archive/16554-17801/ISSM-17354-17355.diff@
17802
Last change on this file since 17802 was 17802, checked in by , 11 years ago | |
---|---|
File size: 7.4 KB |
-
../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
409 409 /*Switch between the different transfer methods cases*/ 410 410 switch(transfermethod){ 411 411 case 0: 412 /*Just keepping the transfer to zero, should be OK with the initial value of transfer*/ 412 /*Just keepping the transfer to zero*/ 413 transfer=0.0; 413 414 break; 414 415 case 1: 415 416 … … 455 456 /*Switch between the different transfer methods cases*/ 456 457 switch(transfermethod){ 457 458 case 0: 458 /*Just keepping the transfer to zero, should be OK with the initial value of transfer*/ 459 /*Just keepping the transfer to zero*/ 460 transfer=0.0; 459 461 break; 460 462 case 1: 461 463 -
../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
512 512 /*Switch between the different transfer methods cases*/ 513 513 switch(transfermethod){ 514 514 case 0: 515 /*Just keepping the transfer to zero, should be OK with the initial value of transfer*/ 515 /*Just keepping the transfer to zero*/ 516 transfer=0.0; 516 517 break; 517 518 case 1: 518 519 … … 559 560 /*Switch between the different transfer methods cases*/ 560 561 switch(transfermethod){ 561 562 case 0: 562 /*Just keepping the transfer to zero, should be OK with the initial value of transfer*/ 563 /*Just keepping the transfer to zero*/ 564 transfer=0.0; 563 565 break; 564 566 case 1: 565 567 -
../trunk-jpl/src/c/classes/Elements/Tria.cpp
4391 4391 this->inputs->AddInput(new TriaInput(HydrologyWaterVyEnum,vy,P1Enum)); 4392 4392 } 4393 4393 /*}}}*/ 4394 /*FUNCTION Tria::CreatEPLDomainMassMatrix {{{*/4395 ElementMatrix* Tria::CreateEPLDomainMassMatrix(void){4396 4397 /* Intermediaries */4398 IssmDouble D,Jdet;4399 IssmDouble xyz_list[NUMVERTICES][3];4400 4401 /*Fetch number of nodes and dof for this finite element*/4402 int numnodes = this->NumberofNodes();4403 4404 /*Initialize Element matrix and vectors*/4405 ElementMatrix* Ke = new ElementMatrix(nodes,numnodes,this->parameters,NoneApproximationEnum);4406 IssmDouble* basis = xNew<IssmDouble>(numnodes);4407 4408 /*Retrieve all inputs and parameters*/4409 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);4410 4411 /* Start looping on the number of gaussian points: */4412 GaussTria* gauss=new GaussTria(2);4413 for(int ig=gauss->begin();ig<gauss->end();ig++){4414 4415 gauss->GaussPoint(ig);4416 4417 GetNodalFunctions(basis,gauss);4418 GetJacobianDeterminant(&Jdet, &xyz_list[0][0],gauss);4419 D=gauss->weight*Jdet;4420 4421 TripleMultiply(basis,1,numnodes,1,4422 &D,1,1,0,4423 basis,1,numnodes,0,4424 &Ke->values[0],1);4425 }4426 4427 /*Clean up and return*/4428 delete gauss;4429 xDelete<IssmDouble>(basis);4430 return Ke;4431 }4432 /*}}}*/4433 4394 /*FUNCTION Tria::GetSolutionFromInputsOneDof{{{*/ 4434 4395 void Tria::GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution, int enum_type){ 4435 4396 … … 4587 4548 /*FUNCTION Tria::ComputeEPLThickness{{{*/ 4588 4549 void Tria::ComputeEPLThickness(void){ 4589 4550 4590 int i;4591 4551 const int numdof = NDOF1 *NUMVERTICES; 4592 4552 bool isefficientlayer; 4593 4553 bool active_element; … … 4595 4555 IssmDouble rho_water,rho_ice; 4596 4556 IssmDouble gravity,latentheat,EPLgrad2; 4597 4557 IssmDouble EPL_N,epl_conductivity; 4598 IssmDouble activeEpl[numdof],thickness[numdof];4599 IssmDouble eplhead[numdof] ,old_eplhead[numdof];4558 IssmDouble thickness[numdof]; 4559 IssmDouble eplhead[numdof]; 4600 4560 IssmDouble epl_slopeX[numdof],epl_slopeY[numdof]; 4601 IssmDouble preceding_thickness[numdof],old_thickness[numdof];4561 IssmDouble old_thickness[numdof]; 4602 4562 IssmDouble ice_thickness[numdof],bed[numdof]; 4603 4563 4604 4564 Input* active_element_input=NULL; … … 4636 4596 } 4637 4597 } 4638 4598 else{ 4639 GetInputListOnVertices(&preceding_thickness[0],HydrologydcEplThicknessEnum);4640 4599 for(int i=0;i<numdof;i++){ 4641 4600 4642 4601 /*Compute first the effective pressure in the EPL*/ -
../trunk-jpl/src/c/classes/Elements/Tria.h
251 251 void UpdateConstraintsExtrudeFromBase(void); 252 252 void UpdateConstraintsExtrudeFromTop(void); 253 253 254 ElementMatrix* CreateEPLDomainMassMatrix(void);255 254 void CreateHydrologyWaterVelocityInput(void); 256 255 void GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode); 257 256 void HydrologyEPLGetActive(Vector<IssmDouble>* active_vec); -
../trunk-jpl/src/c/classes/Elements/Penta.cpp
4155 4155 /*}}}*/ 4156 4156 #endif 4157 4157 4158 /*FUNCTION Penta::CreateEPLDomainMassMatrix {{{*/4159 ElementMatrix* Penta::CreateEPLDomainMassMatrix(void){4160 4161 if (!IsOnBed()) return NULL;4162 4163 Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.4164 ElementMatrix* Ke=tria->CreateEPLDomainMassMatrix();4165 delete tria->material; delete tria;4166 4167 /*clean up and return*/4168 return Ke;4169 }4170 /*}}}*/4171 4158 /*FUNCTION Penta::GetHydrologyDCInefficientHmax{{{*/ 4172 4159 void Penta::GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode){ 4173 4160 -
../trunk-jpl/src/c/classes/Elements/Penta.h
218 218 bool IsIceInElement(void); 219 219 Gauss* NewGauss(void); 220 220 Gauss* NewGauss(int order); 221 222 223 221 Gauss* NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order){_error_("not implemented yet");}; 222 Gauss* NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order_horiz,int order_vert); 223 Gauss* NewGauss(int point1,IssmDouble fraction1,IssmDouble fraction2,bool mainlyfloating,int order){_error_("not implemented yet");}; 224 224 Gauss* NewGaussBase(int order); 225 225 Gauss* NewGaussLine(int vertex1,int vertex2,int order); 226 226 Gauss* NewGaussTop(int order); … … 240 240 Tria* SpawnTria(int location); 241 241 IssmDouble StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa); 242 242 243 ElementMatrix* CreateEPLDomainMassMatrix(void);244 243 void GetHydrologyDCInefficientHmax(IssmDouble* ph_max, Node* innode); 245 244 void HydrologyEPLGetActive(Vector<IssmDouble>* active_vec); 246 245 void HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask);
Note:
See TracBrowser
for help on using the repository browser.