Changeset 16912


Ignore:
Timestamp:
11/24/13 10:53:58 (11 years ago)
Author:
Mathieu Morlighem
Message:

NEW: moving more stuff from Tria to Element.cpp

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  
    1919        this->inputs     = NULL;
    2020        this->nodes      = NULL;
     21        this->vertices   = NULL;
     22        this->material   = NULL;
     23        this->matpar     = NULL;
     24        this->inputs     = NULL;
     25        this->parameters = NULL;
    2126}/*}}}*/
    2227Element::~Element(){/*{{{*/
     
    4853        return false;
    4954}/*}}}*/
     55void Element::DeleteMaterials(void){/*{{{*/
     56        delete this->material;
     57}/*}}}*/
     58void Element::FindParam(bool* pvalue,int paramenum){/*{{{*/
     59        this->parameters->FindParam(pvalue,paramenum);
     60}/*}}}*/
     61void Element::FindParam(int* pvalue,int paramenum){/*{{{*/
     62        this->parameters->FindParam(pvalue,paramenum);
     63}/*}}}*/
     64void Element::FindParam(IssmDouble* pvalue,int paramenum){/*{{{*/
     65        this->parameters->FindParam(pvalue,paramenum);
     66}/*}}}*/
     67void Element::FindParam(int** pvalues,int* psize,int paramenum){/*{{{*/
     68        this->parameters->FindParam(pvalues,psize,paramenum);
     69}/*}}}*/
    5070Input* Element::GetInput(int inputenum){/*{{{*/
    5171        return inputs->GetInput(inputenum);
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.h

    r16910 r16912  
    1515class DataSet;
    1616class Parameters;
     17class Parameter;
    1718class Elements;
    1819class Loads;
     20class Nodes;
    1921class Node;
    20 class Nodes;
    2122class Vertices;
     23class Vertex;
    2224class Materials;
     25class Material;
    2326class Matpar;
     27class Inputs;
    2428class Input;
    25 class Inputs;
    2629class Gauss;
    2730class ElementVector;
     
    3538
    3639        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;
    3946
    4047        public:
     
    4754                bool   AllActive(void);
    4855                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);
    4961                Input* GetInput(int inputenum);
    5062
    5163                /*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;
    5567                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;
    5971                virtual ElementMatrix* CreateKMatrix(void)=0;
    6072                virtual void   CreateDVector(Vector<IssmDouble>* df)=0;
    6173                virtual ElementVector* CreatePVector(void)=0;
    6274                virtual void   CreateJacobianMatrix(Matrix<IssmDouble>* Jff)=0;
    63                 virtual void   DeleteMaterials(void)=0;
    6475                virtual void   ElementSizes(IssmDouble* phx,IssmDouble* phy,IssmDouble* phz)=0;
    6576                virtual void   EnthalpyToThermal(IssmDouble* ptemperature,IssmDouble* pwaterfraction,IssmDouble enthalpy,IssmDouble pressure)=0;
    6677                virtual IssmDouble EnthalpyDiffusionParameter(IssmDouble enthalpy,IssmDouble pressure)=0;
    6778                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
    7280                virtual int    FiniteElement(void)=0;
    7381                virtual IssmDouble GetMaterialParameter(int enum_in)=0;
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r16910 r16912  
    2020
    2121/*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 /*}}}*/
    3222/*FUNCTION Penta::~Penta(){{{*/
    3323Penta::~Penta(){
     
    856846IssmDouble Penta::EnthalpyDiffusionParameterVolume(int numvertices,IssmDouble* enthalpy,IssmDouble* pressure){
    857847        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);
    878848}
    879849/*}}}*/
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r16910 r16912  
    3232        public:
    3333
    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
    4037                Penta      **verticalneighbors;           // 2 neighbors: first one under, second one above
    4138
    42                 Parameters  *parameters;                  //pointer to solution parameters
    43 
    4439                /*Penta constructors and destructor: {{{*/
    45                 Penta();
     40                Penta(){};
    4641                Penta(int penta_id,int penta_sid,int i, IoModel* iomodel,int nummodels);
    4742                ~Penta();
     
    7267                void   ComputeStressTensor();
    7368                void   Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
    74                 void   DeleteMaterials(void){_error_("not implemented yet");};
    7569                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);
    8070                int    FiniteElement(void);
    8171                void   SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Seg.cpp

    r16910 r16912  
    1919#define NUMVERTICES 2
    2020/*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 /*}}}*/
    3021/*FUNCTION Seg::Seg(int id, int sid,int index, IoModel* iomodel,int nummodels){{{*/
    3122Seg::Seg(int seg_id, int seg_sid, int index, IoModel* iomodel,int nummodels)
     
    8576}
    8677/*}}}*/
    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 /*}}}*/
    10778/*FUNCTION Seg::FiniteElement{{{*/
    10879int Seg::FiniteElement(void){
     
    516487}
    517488/*}}}*/
    518 /*FUNCTION Seg::DeleteMaterials{{{*/
    519 void Seg::DeleteMaterials(void){
    520         delete this->material;
    521 }
    522 /*}}}*/
    523489/*FUNCTION Seg::GetNumberOfNodes;{{{*/
    524490int Seg::GetNumberOfNodes(void){
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r16910 r16912  
    3030        public:
    3131
    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;
    4034
    4135                /*Seg constructors, destructors {{{*/
    42                 Seg();
     36                Seg(){};
    4337                Seg(int seg_id,int seg_sid,int i, IoModel* iomodel,int nummodels);
    4438                ~Seg();
     
    7367                void        ComputeStressTensor(){_error_("not implemented yet");};
    7468                void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters){_error_("not implemented yet");};
    75                 void        DeleteMaterials(void);
    7669                void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters){_error_("not implemented yet");};
    7770                void        SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum){_error_("not implemented yet");};
     
    8679                IssmDouble  EnthalpyDiffusionParameter(IssmDouble enthalpy,IssmDouble pressure){_error_("not implemented");};
    8780                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);
    9281                int         FiniteElement(void);
    9382                Element*    GetBasalElement(void){_error_("not implemented yet");};
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r16910 r16912  
    2424
    2525/*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 /*}}}*/
    3526/*FUNCTION Tria::Tria(int id, int sid,int index, IoModel* iomodel,int nummodels){{{*/
    3627Tria::Tria(int tria_id, int tria_sid, int index, IoModel* iomodel,int nummodels)
     
    734725}
    735726/*}}}*/
    736 /*FUNCTION Tria::DeleteMaterials{{{*/
    737 void Tria::DeleteMaterials(void){
    738         delete this->material;
    739 }
    740 /*}}}*/
    741727/*FUNCTION Tria::Delta18oParameterization{{{*/
    742728void  Tria::Delta18oParameterization(void){
     
    834820        if (inputs) inputs->Echo();
    835821        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);
    856822}
    857823/*}}}*/
     
    62866252        /*Get input (either in element or material)*/
    62876253        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);
    62896255        }
    62906256        else{
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r16910 r16912  
    3232        public:
    3333
    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;
    4236
    4337                /*Tria constructors, destructors {{{*/
    44                 Tria();
     38                Tria(){};
    4539                Tria(int tria_id,int tria_sid,int i, IoModel* iomodel,int nummodels);
    4640                ~Tria();
     
    7569                void        CreateDVector(Vector<IssmDouble>* df);
    7670                void        CreateJacobianMatrix(Matrix<IssmDouble>* Jff);
    77                 void        DeleteMaterials(void);
    7871                void        Delta18oParameterization(void);
    7972                void        ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz){_error_("not implemented yet");};
    8073                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);
    8574                int         FiniteElement(void);
    8675                Element*    GetBasalElement(void){_error_("not implemented yet");};
Note: See TracChangeset for help on using the changeset viewer.