Ignore:
Timestamp:
02/24/12 08:12:47 (13 years ago)
Author:
Mathieu Morlighem
Message:

merged trunk-jpl and trunk for revision 11526

Location:
issm/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk

  • issm/trunk/src/c

    • Property svn:ignore
      •  

        old new  
        33.ignore.txt
        44*.o
         5*.obj
        56*.exe
        67appscan.*
  • issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp

    r7177 r11527  
    99#include "../../EnumDefinitions/EnumDefinitions.h"
    1010
    11 void ControlInputGetGradientx( Vec* pgradient, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, int name){
     11void ControlInputGetGradientx( Vec* pgradient, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
    1212
    13         Vec gradient=NULL;
    14         gradient=NewVec(vertices->NumberOfVertices());
     13        /*Intermediaries*/
     14        int  num_controls;
     15        int *control_type = NULL;
     16        Vec  gradient=NULL;
    1517
    16         for(int i=0;i<elements->Size();i++){
    17                 Element* element=(Element*)elements->GetObjectByOffset(i);
    18                 element->ControlInputGetGradient(gradient,name);
     18        /*Retrieve some parameters*/
     19        parameters->FindParam(&num_controls,InversionNumControlParametersEnum);
     20        parameters->FindParam(&control_type,NULL,InversionControlParametersEnum);
     21
     22        /*Allocate and populate gradient*/
     23        gradient=NewVec(num_controls*vertices->NumberOfVertices());
     24
     25        for(int i=0;i<num_controls;i++){
     26                for(int j=0;j<elements->Size();j++){
     27                        Element* element=(Element*)elements->GetObjectByOffset(j);
     28                        element->ControlInputGetGradient(gradient,control_type[i],i);
     29                }
    1930        }
    2031
     
    2233        VecAssemblyEnd(gradient);
    2334
    24         /*Assign output pointers:*/
     35        /*Clean up and return*/
     36        xfree((void**)&control_type);
    2537        *pgradient=gradient;
    2638}
Note: See TracChangeset for help on using the changeset viewer.