Changeset 16912
- Timestamp:
- 11/24/13 10:53:58 (11 years ago)
- Location:
- issm/trunk-jpl/src/c/classes/Elements
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.cpp ¶
r16910 r16912 19 19 this->inputs = NULL; 20 20 this->nodes = NULL; 21 this->vertices = NULL; 22 this->material = NULL; 23 this->matpar = NULL; 24 this->inputs = NULL; 25 this->parameters = NULL; 21 26 }/*}}}*/ 22 27 Element::~Element(){/*{{{*/ … … 48 53 return false; 49 54 }/*}}}*/ 55 void Element::DeleteMaterials(void){/*{{{*/ 56 delete this->material; 57 }/*}}}*/ 58 void Element::FindParam(bool* pvalue,int paramenum){/*{{{*/ 59 this->parameters->FindParam(pvalue,paramenum); 60 }/*}}}*/ 61 void Element::FindParam(int* pvalue,int paramenum){/*{{{*/ 62 this->parameters->FindParam(pvalue,paramenum); 63 }/*}}}*/ 64 void Element::FindParam(IssmDouble* pvalue,int paramenum){/*{{{*/ 65 this->parameters->FindParam(pvalue,paramenum); 66 }/*}}}*/ 67 void Element::FindParam(int** pvalues,int* psize,int paramenum){/*{{{*/ 68 this->parameters->FindParam(pvalues,psize,paramenum); 69 }/*}}}*/ 50 70 Input* Element::GetInput(int inputenum){/*{{{*/ 51 71 return inputs->GetInput(inputenum); -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.h ¶
r16910 r16912 15 15 class DataSet; 16 16 class Parameters; 17 class Parameter; 17 18 class Elements; 18 19 class Loads; 20 class Nodes; 19 21 class Node; 20 class Nodes;21 22 class Vertices; 23 class Vertex; 22 24 class Materials; 25 class Material; 23 26 class Matpar; 27 class Inputs; 24 28 class Input; 25 class Inputs;26 29 class Gauss; 27 30 class ElementVector; … … 35 38 36 39 public: 37 Inputs *inputs; 38 Node **nodes; 40 Inputs *inputs; 41 Node **nodes; 42 Vertex **vertices; 43 Material *material; 44 Matpar *matpar; 45 Parameters *parameters; 39 46 40 47 public: … … 47 54 bool AllActive(void); 48 55 bool AnyActive(void); 56 void DeleteMaterials(void); 57 void FindParam(bool* pvalue,int paramenum); 58 void FindParam(int* pvalue,int paramenum); 59 void FindParam(IssmDouble* pvalue,int paramenum); 60 void FindParam(int** pvalues,int* psize,int paramenum); 49 61 Input* GetInput(int inputenum); 50 62 51 63 /*Virtual functions*/ 52 virtual void AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum)=0;53 virtual void AddInput(int input_enum, IssmDouble* values, int interpolation_enum)=0;54 virtual void AddMaterialInput(int input_enum, IssmDouble* values, int interpolation_enum)=0;64 virtual void AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum)=0; 65 virtual void AddInput(int input_enum, IssmDouble* values, int interpolation_enum)=0; 66 virtual void AddMaterialInput(int input_enum, IssmDouble* values, int interpolation_enum)=0; 55 67 virtual IssmDouble CharacteristicLength(void)=0; 56 virtual void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;57 virtual void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters)=0;58 virtual void SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum)=0;68 virtual void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0; 69 virtual void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters)=0; 70 virtual void SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum)=0; 59 71 virtual ElementMatrix* CreateKMatrix(void)=0; 60 72 virtual void CreateDVector(Vector<IssmDouble>* df)=0; 61 73 virtual ElementVector* CreatePVector(void)=0; 62 74 virtual void CreateJacobianMatrix(Matrix<IssmDouble>* Jff)=0; 63 virtual void DeleteMaterials(void)=0;64 75 virtual void ElementSizes(IssmDouble* phx,IssmDouble* phy,IssmDouble* phz)=0; 65 76 virtual void EnthalpyToThermal(IssmDouble* ptemperature,IssmDouble* pwaterfraction,IssmDouble enthalpy,IssmDouble pressure)=0; 66 77 virtual IssmDouble EnthalpyDiffusionParameter(IssmDouble enthalpy,IssmDouble pressure)=0; 67 78 virtual IssmDouble EnthalpyDiffusionParameterVolume(int numvertices,IssmDouble* enthalpy,IssmDouble* pressure)=0; 68 virtual void FindParam(bool* pvalue,int paramenum)=0; 69 virtual void FindParam(int* pvalue,int paramenum)=0; 70 virtual void FindParam(IssmDouble* pvalue,int paramenum)=0; 71 virtual void FindParam(int** pvalues,int* psize,int paramenum)=0; 79 72 80 virtual int FiniteElement(void)=0; 73 81 virtual IssmDouble GetMaterialParameter(int enum_in)=0; -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.cpp ¶
r16910 r16912 20 20 21 21 /*Constructors/destructor/copy*/ 22 /*FUNCTION Penta::Penta(){{{*/23 Penta::Penta(){24 this->vertices = NULL;25 this->material = NULL;26 this->matpar = NULL;27 this->verticalneighbors = NULL;28 this->inputs = NULL;29 this->parameters = NULL;30 }31 /*}}}*/32 22 /*FUNCTION Penta::~Penta(){{{*/ 33 23 Penta::~Penta(){ … … 856 846 IssmDouble Penta::EnthalpyDiffusionParameterVolume(int numvertices,IssmDouble* enthalpy,IssmDouble* pressure){ 857 847 return matpar->GetEnthalpyDiffusionParameterVolume(numvertices,enthalpy,pressure); 858 }859 /*}}}*/860 /*FUNCTION Penta::FindParam(bool* pvalue,int paramenum){{{*/861 void Penta::FindParam(bool* pvalue,int paramenum){862 this->parameters->FindParam(pvalue,paramenum);863 }864 /*}}}*/865 /*FUNCTION Penta::FindParam(int* pvalue,int paramenum){{{*/866 void Penta::FindParam(int* pvalue,int paramenum){867 this->parameters->FindParam(pvalue,paramenum);868 }869 /*}}}*/870 /*FUNCTION Penta::FindParam(IssmDouble* pvalue,int paramenum){{{*/871 void Penta::FindParam(IssmDouble* pvalue,int paramenum){872 this->parameters->FindParam(pvalue,paramenum);873 }874 /*}}}*/875 /*FUNCTION Penta::FindParam(int** pvalues,int* psize,int paramenum){{{*/876 void Penta::FindParam(int** pvalues,int* psize,int paramenum){877 this->parameters->FindParam(pvalues,psize,paramenum);878 848 } 879 849 /*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.h ¶
r16910 r16912 32 32 public: 33 33 34 int id; 35 int sid; 36 37 Vertex **vertices; // 6 vertices 38 Material *material; // 1 material ice 39 Matpar *matpar; // 1 material parameter 34 int id; 35 int sid; 36 40 37 Penta **verticalneighbors; // 2 neighbors: first one under, second one above 41 38 42 Parameters *parameters; //pointer to solution parameters43 44 39 /*Penta constructors and destructor: {{{*/ 45 Penta() ;40 Penta(){}; 46 41 Penta(int penta_id,int penta_sid,int i, IoModel* iomodel,int nummodels); 47 42 ~Penta(); … … 72 67 void ComputeStressTensor(); 73 68 void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters); 74 void DeleteMaterials(void){_error_("not implemented yet");};75 69 void ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz); 76 void FindParam(bool* pvalue,int paramenum);77 void FindParam(int* pvalue,int paramenum);78 void FindParam(IssmDouble* pvalue,int paramenum);79 void FindParam(int** pvalues,int* psize,int paramenum);80 70 int FiniteElement(void); 81 71 void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters); -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Seg.cpp ¶
r16910 r16912 19 19 #define NUMVERTICES 2 20 20 /*Constructors/destructor/copy*/ 21 /*FUNCTION Seg::Seg(){{{*/22 Seg::Seg(){23 this->vertices = NULL;24 this->material = NULL;25 this->matpar = NULL;26 this->inputs = NULL;27 this->parameters = NULL;28 }29 /*}}}*/30 21 /*FUNCTION Seg::Seg(int id, int sid,int index, IoModel* iomodel,int nummodels){{{*/ 31 22 Seg::Seg(int seg_id, int seg_sid, int index, IoModel* iomodel,int nummodels) … … 85 76 } 86 77 /*}}}*/ 87 /*FUNCTION Seg::FindParam(bool* pvalue,int paramenum){{{*/88 void Seg::FindParam(bool* pvalue,int paramenum){89 this->parameters->FindParam(pvalue,paramenum);90 }91 /*}}}*/92 /*FUNCTION Seg::FindParam(int* pvalue,int paramenum){{{*/93 void Seg::FindParam(int* pvalue,int paramenum){94 this->parameters->FindParam(pvalue,paramenum);95 }96 /*}}}*/97 /*FUNCTION Seg::FindParam(IssmDouble* pvalue,int paramenum){{{*/98 void Seg::FindParam(IssmDouble* pvalue,int paramenum){99 this->parameters->FindParam(pvalue,paramenum);100 }101 /*}}}*/102 /*FUNCTION Seg::FindParam(int** pvalues,int* psize,int paramenum){{{*/103 void Seg::FindParam(int** pvalues,int* psize,int paramenum){104 this->parameters->FindParam(pvalues,psize,paramenum);105 }106 /*}}}*/107 78 /*FUNCTION Seg::FiniteElement{{{*/ 108 79 int Seg::FiniteElement(void){ … … 516 487 } 517 488 /*}}}*/ 518 /*FUNCTION Seg::DeleteMaterials{{{*/519 void Seg::DeleteMaterials(void){520 delete this->material;521 }522 /*}}}*/523 489 /*FUNCTION Seg::GetNumberOfNodes;{{{*/ 524 490 int Seg::GetNumberOfNodes(void){ -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Seg.h ¶
r16910 r16912 30 30 public: 31 31 32 int id; 33 int sid; 34 35 Vertex **vertices; // 3 vertices 36 Material *material; // 1 material ice 37 Matpar *matpar; // 1 material parameter 38 39 Parameters *parameters; //pointer to solution parameters 32 int id; 33 int sid; 40 34 41 35 /*Seg constructors, destructors {{{*/ 42 Seg() ;36 Seg(){}; 43 37 Seg(int seg_id,int seg_sid,int i, IoModel* iomodel,int nummodels); 44 38 ~Seg(); … … 73 67 void ComputeStressTensor(){_error_("not implemented yet");}; 74 68 void Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters){_error_("not implemented yet");}; 75 void DeleteMaterials(void);76 69 void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters){_error_("not implemented yet");}; 77 70 void SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum){_error_("not implemented yet");}; … … 86 79 IssmDouble EnthalpyDiffusionParameter(IssmDouble enthalpy,IssmDouble pressure){_error_("not implemented");}; 87 80 IssmDouble EnthalpyDiffusionParameterVolume(int numvertices,IssmDouble* enthalpy,IssmDouble* pressure){_error_("not implemented");}; 88 void FindParam(bool* pvalue,int paramenum);89 void FindParam(int* pvalue,int paramenum);90 void FindParam(IssmDouble* pvalue,int paramenum);91 void FindParam(int** pvalues,int* psize,int paramenum);92 81 int FiniteElement(void); 93 82 Element* GetBasalElement(void){_error_("not implemented yet");}; -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.cpp ¶
r16910 r16912 24 24 25 25 /*Constructors/destructor/copy*/ 26 /*FUNCTION Tria::Tria(){{{*/27 Tria::Tria(){28 this->vertices = NULL;29 this->material = NULL;30 this->matpar = NULL;31 this->inputs = NULL;32 this->parameters = NULL;33 }34 /*}}}*/35 26 /*FUNCTION Tria::Tria(int id, int sid,int index, IoModel* iomodel,int nummodels){{{*/ 36 27 Tria::Tria(int tria_id, int tria_sid, int index, IoModel* iomodel,int nummodels) … … 734 725 } 735 726 /*}}}*/ 736 /*FUNCTION Tria::DeleteMaterials{{{*/737 void Tria::DeleteMaterials(void){738 delete this->material;739 }740 /*}}}*/741 727 /*FUNCTION Tria::Delta18oParameterization{{{*/ 742 728 void Tria::Delta18oParameterization(void){ … … 834 820 if (inputs) inputs->Echo(); 835 821 else _printf_("inputs=NULL\n"); 836 }837 /*}}}*/838 /*FUNCTION Tria::FindParam(bool* pvalue,int paramenum){{{*/839 void Tria::FindParam(bool* pvalue,int paramenum){840 this->parameters->FindParam(pvalue,paramenum);841 }842 /*}}}*/843 /*FUNCTION Tria::FindParam(int* pvalue,int paramenum){{{*/844 void Tria::FindParam(int* pvalue,int paramenum){845 this->parameters->FindParam(pvalue,paramenum);846 }847 /*}}}*/848 /*FUNCTION Tria::FindParam(IssmDouble* pvalue,int paramenum){{{*/849 void Tria::FindParam(IssmDouble* pvalue,int paramenum){850 this->parameters->FindParam(pvalue,paramenum);851 }852 /*}}}*/853 /*FUNCTION Tria::FindParam(int** pvalues,int* psize,int paramenum){{{*/854 void Tria::FindParam(int** pvalues,int* psize,int paramenum){855 this->parameters->FindParam(pvalues,psize,paramenum);856 822 } 857 823 /*}}}*/ … … 6286 6252 /*Get input (either in element or material)*/ 6287 6253 if(control_enum==MaterialsRheologyBbarEnum || control_enum==DamageDbarEnum){ 6288 input=(Input*) material->inputs->GetInput(control_enum); _assert_(input);6254 input=(Input*)this->material->inputs->GetInput(control_enum); _assert_(input); 6289 6255 } 6290 6256 else{ -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.h ¶
r16910 r16912 32 32 public: 33 33 34 int id; 35 int sid; 36 37 Vertex **vertices; // 3 vertices 38 Material *material; // 1 material ice 39 Matpar *matpar; // 1 material parameter 40 41 Parameters *parameters; //pointer to solution parameters 34 int id; 35 int sid; 42 36 43 37 /*Tria constructors, destructors {{{*/ 44 Tria() ;38 Tria(){}; 45 39 Tria(int tria_id,int tria_sid,int i, IoModel* iomodel,int nummodels); 46 40 ~Tria(); … … 75 69 void CreateDVector(Vector<IssmDouble>* df); 76 70 void CreateJacobianMatrix(Matrix<IssmDouble>* Jff); 77 void DeleteMaterials(void);78 71 void Delta18oParameterization(void); 79 72 void ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz){_error_("not implemented yet");}; 80 73 void EnthalpyToThermal(IssmDouble* ptemperature,IssmDouble* pwaterfraction,IssmDouble enthalpy,IssmDouble pressure){_error_("not implemented yet");}; 81 void FindParam(bool* pvalue,int paramenum);82 void FindParam(int* pvalue,int paramenum);83 void FindParam(IssmDouble* pvalue,int paramenum);84 void FindParam(int** pvalues,int* psize,int paramenum);85 74 int FiniteElement(void); 86 75 Element* GetBasalElement(void){_error_("not implemented yet");};
Note:
See TracChangeset
for help on using the changeset viewer.