Changeset 3830
- Timestamp:
- 05/18/10 17:17:18 (15 years ago)
- Location:
- issm/trunk/src/c
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/DataSet/DataSet.h
r3821 r3830 137 137 void GetParameterValue(double* pvalue,double* gauss,int enum_type); 138 138 void GetParameterValue(double* pvalue,double* gauss,int enum_type,double defaultvalue); 139 void GetParameterAverage(double* pvalue, int enum_type); 139 140 140 141 void GetParameterValues(double* values,double* gauss_pointers, int numgauss,int enum_type); -
issm/trunk/src/c/DataSet/Inputs.cpp
r3808 r3830 187 187 } 188 188 /*}}}*/ 189 /*FUNCTION Inputs::GetParameterAverage(double* pvalue,int enum-type){{{1*/ 190 void Inputs::GetParameterAverage(double* pvalue,int enum_type){ 191 192 vector<Object*>::iterator object; 193 Input* input=NULL; 194 195 /*Go through inputs and check whether any input with the same name is already in: */ 196 for ( object=objects.begin() ; object < objects.end(); object++ ){ 197 198 input=(Input*)(*object); 199 if (input->EnumType()==enum_type)break; 200 } 201 202 if (!input){ 203 /*we could not find an input with the correct enum type. No defaults values were provided, 204 * error out: */ 205 ISSMERROR("%s%i"," could not find input with enum type ",enum_type); 206 } 207 208 /*Ok, we have an input if we made it here, request the input to return the value: */ 209 input->GetParameterAverage(pvalue); 210 211 } 212 /*}}}*/ 189 213 /*FUNCTION Inputs::GetParameterValue(bool* pvalue,int enum-type){{{1*/ 190 214 void Inputs::GetParameterValue(bool* pvalue,int enum_type){ -
issm/trunk/src/c/objects/Elements/Tria.cpp
r3828 r3830 733 733 double gauss_weight; 734 734 double gauss_l1l2l3[3]; 735 double gaussgrids[numgrids][numgrids]={{1,0,0},{0,1,0},{0,0,1}};736 735 737 736 /* matrices: */ … … 750 749 751 750 /*input parameters for structural analysis (diagnostic): */ 752 double vx_list[numgrids];753 double vy_list[numgrids];754 751 double dvx[2]; 755 752 double dvy[2]; … … 771 768 GetDofList(&doflist[0],&numberofdofspernode); 772 769 773 /*Recover velocity: */774 inputs->GetParameterValues(&vx_list[0],&gaussgrids[0][0],3,VxAverageEnum);775 inputs->GetParameterValues(&vy_list[0],&gaussgrids[0][0],3,VyAverageEnum);776 777 770 /*retrieve some parameters: */ 778 771 this->parameters->FindParam(&artdiff,ArtDiffEnum); … … 785 778 786 779 //Build K matrix (artificial diffusivity matrix) 787 v_gauss[0]=ONETHIRD*(vx_list[0]+vx_list[1]+vx_list[2]);788 v_gauss[1]=ONETHIRD*(vy_list[0]+vy_list[1]+vy_list[2]);780 inputs->GetParameterAverage(&v_gauss[0],VxAverageEnum); 781 inputs->GetParameterAverage(&v_gauss[1],VyAverageEnum); 789 782 790 783 K[0][0]=pow(Jdettria,(double).5)/2.0*fabs(v_gauss[0]); … … 811 804 812 805 //Get vx, vy and their derivatives at gauss point 813 this->GetParameterValue(&vx, &vx_list[0],gauss_l1l2l3);814 this->GetParameterValue(&vy, &vy_list[0],gauss_l1l2l3);815 816 this->GetParameterDerivativeValue(&dvx[0], &vx_list[0],&xyz_list[0][0], gauss_l1l2l3);817 this->GetParameterDerivativeValue(&dvy[0], &vy_list[0],&xyz_list[0][0], gauss_l1l2l3);806 inputs->GetParameterValue(&vx, &gauss_l1l2l3[0],VxAverageEnum); 807 inputs->GetParameterValue(&vy, &gauss_l1l2l3[0],VyAverageEnum); 808 809 inputs->GetParameterDerivativeValue(&dvx[0],&xyz_list[0][0],&gauss_l1l2l3[0],VxAverageEnum); 810 inputs->GetParameterDerivativeValue(&dvy[0],&xyz_list[0][0],&gauss_l1l2l3[0],VyAverageEnum); 818 811 819 812 dvxdx=dvx[0]; -
issm/trunk/src/c/objects/Inputs/BeamVertexInput.cpp
r3808 r3830 164 164 } 165 165 /*}}}*/ 166 /*FUNCTION BeamVertexInput::GetParameterAverage(double* pvalue){{{1*/ 167 void BeamVertexInput::GetParameterAverage(double* pvalue){ 168 *pvalue=1./2.*(values[0]+values[1]); 169 } 170 /*}}}*/ -
issm/trunk/src/c/objects/Inputs/BeamVertexInput.h
r3808 r3830 58 58 void GetParameterValue(double* pvalue,double* gauss,double defaultvalue); 59 59 60 void GetParameterAverage(double* pvalue); 61 60 62 void GetParameterValues(double* values,double* gauss_pointers, int numgauss); 61 63 -
issm/trunk/src/c/objects/Inputs/BoolInput.h
r3808 r3830 58 58 void GetParameterValue(double* pvalue,double* gauss,double defaultvalue); 59 59 60 void GetParameterAverage(double* pvalue){ISSMERROR("not implemented yet");}; 61 60 62 void GetParameterValues(double* values,double* gauss_pointers, int numgauss); 61 63 -
issm/trunk/src/c/objects/Inputs/DoubleInput.h
r3808 r3830 58 58 void GetParameterValue(double* pvalue,double* gauss,double defaultvalue); 59 59 60 void GetParameterAverage(double* pvalue){ISSMERROR("not implemented yet");}; 61 60 62 void GetParameterValues(double* values,double* gauss_pointers, int numgauss); 61 63 -
issm/trunk/src/c/objects/Inputs/Input.h
r3808 r3830 30 30 virtual void GetParameterValue(double* pvalue,double* gauss)=0; 31 31 virtual void GetParameterValue(double* pvalue,double* gauss,double defaultvalue)=0; 32 33 virtual void GetParameterAverage(double* pvalue)=0; 32 34 33 35 virtual void GetParameterValues(double* values,double* gauss_pointers, int numgauss)=0; -
issm/trunk/src/c/objects/Inputs/IntInput.h
r3808 r3830 58 58 void GetParameterValue(double* pvalue,double* gauss,double defaultvalue); 59 59 60 void GetParameterAverage(double* pvalue){ISSMERROR("not implemented yet");}; 61 60 62 void GetParameterValues(double* values,double* gauss_pointers, int numgauss); 61 63 -
issm/trunk/src/c/objects/Inputs/PentaVertexInput.cpp
r3808 r3830 168 168 } 169 169 /*}}}*/ 170 /*FUNCTION PentaVertexInput::GetParameterAverage(double* pvalue){{{1*/ 171 void PentaVertexInput::GetParameterAverage(double* pvalue){ 172 *pvalue=1./6.*(values[0]+values[1]+values[2]+values[3]+values[4]+values[5]); 173 } 174 /*}}}*/ -
issm/trunk/src/c/objects/Inputs/PentaVertexInput.h
r3808 r3830 57 57 void GetParameterValue(double* pvalue,double* gauss,double defaultvalue); 58 58 59 void GetParameterAverage(double* pvalue); 60 59 61 void GetParameterValues(double* values,double* gauss_pointers, int numgauss); 60 62 -
issm/trunk/src/c/objects/Inputs/SingVertexInput.cpp
r3808 r3830 163 163 } 164 164 /*}}}*/ 165 /*FUNCTION SingVertexInput::GetParameterAverage(double* pvalue){{{1*/ 166 void SingVertexInput::GetParameterAverage(double* pvalue){ 167 *pvalue=value; 168 } 169 /*}}}*/ -
issm/trunk/src/c/objects/Inputs/SingVertexInput.h
r3808 r3830 57 57 void GetParameterValue(double* pvalue,double* gauss,double defaultvalue); 58 58 59 void GetParameterAverage(double* pvalue); 60 59 61 void GetParameterValues(double* values,double* gauss_pointers, int numgauss); 60 62 -
issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp
r3828 r3830 239 239 void TriaVertexInput::ChangeEnum(int newenumtype){ 240 240 this->enum_type=newenumtype; 241 } 242 /*}}}*/ 243 /*FUNCTION TriaVertexInput::GetParameterAverage(double* pvalue){{{1*/ 244 void TriaVertexInput::GetParameterAverage(double* pvalue){ 245 *pvalue=1./3.*(values[0]+values[1]+values[2]); 241 246 } 242 247 /*}}}*/ -
issm/trunk/src/c/objects/Inputs/TriaVertexInput.h
r3828 r3830 59 59 void GetParameterValue(double* pvalue,double* gauss,double defaultvalue){ISSMERROR("not implemented yet");} 60 60 void GetParameterValues(double* values,double* gauss_pointers, int numgauss); 61 62 void GetParameterAverage(double* pvalue); 61 63 62 64 void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
Note:
See TracChangeset
for help on using the changeset viewer.