Changeset 15082 for issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp
- Timestamp:
- 05/22/13 11:24:30 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp
r15012 r15082 477 477 void PentaP1Input::VerticallyIntegrate(Input* thickness_input){ 478 478 479 /*Intermediaries*/ 480 int i; 481 const int numnodes = 6; 482 int num_thickness_values; 483 IssmDouble *thickness_values = NULL; 479 IssmDouble thickness; 484 480 485 481 /*Check that input provided is a thickness*/ 486 482 if (thickness_input->InstanceEnum()!=ThicknessEnum) _error_("Input provided is not a Thickness (enum_type is " << EnumToStringx(thickness_input->InstanceEnum()) << ")"); 487 483 488 /*Get Thickness value pointer*/489 thickness_input->GetValuesPtr(&thickness_values,&num_thickness_values);490 491 484 /*vertically integrate depending on type:*/ 492 485 switch(thickness_input->ObjectEnum()){ 493 486 494 case PentaP1InputEnum: 495 for(i=0;i<3;i++){ 496 this->values[i]=0.5*(this->values[i]+this->values[i+3]) * thickness_values[i]; 497 this->values[i+3]=this->values[i]; 487 case PentaP1InputEnum:{ 488 GaussPenta *gauss=new GaussPenta(); 489 for(int iv=0;iv<3;iv++){ 490 gauss->GaussVertex(iv); 491 thickness_input->GetInputValue(&thickness,gauss); 492 this->values[iv]=0.5*(this->values[iv]+this->values[iv+3]) * thickness; 493 this->values[iv+3]=this->values[iv]; 498 494 } 499 return; 495 delete gauss; 496 return; } 500 497 501 498 default: … … 600 597 601 598 } /*}}}*/ 602 /*FUNCTION PentaP1Input::GetValuesPtr{{{*/603 void PentaP1Input::GetValuesPtr(IssmDouble** pvalues,int* pnum_values){604 605 *pvalues=this->values;606 *pnum_values=6;607 608 }609 /*}}}*/610 599 /*FUNCTION PentaP1Input::Configure{{{*/ 611 600 void PentaP1Input::Configure(Parameters* parameters){
Note:
See TracChangeset
for help on using the changeset viewer.