Ignore:
Timestamp:
08/13/10 14:54:02 (15 years ago)
Author:
Eric.Larour
Message:

New Response module, to centralize all response management.
Now used by DakotaResponsesx. Will be used by CostFunctionx.
Corrected parametercontrolB for new naming conventions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/modules/MassFluxx/MassFluxx.cpp

    r4974 r5250  
    1010#include "../../EnumDefinitions/EnumDefinitions.h"
    1111
    12 void MassFluxx(double* pmass_flux, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,  double* segments,int num_segments,bool process_units){
     12void MassFluxx(double* pmass_flux, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,char* descriptor,bool process_units){
    1313
    1414        int i,j;
     
    2323        double all_mass_flux=0;
    2424
     25        int  counter;
     26
     27        /*all segments: */
     28        double** array=NULL;
     29        int      M;
     30        int*     mdims_array=NULL;
     31        int*     ndims_array=NULL;
     32
     33        /*our segments of interest: */
     34        double*  segments=NULL;
     35        int      num_segments;
     36
     37        /*First, figure out which segment to compute our mass flux on. Start with retrieving qmu_mass_flux_segments: */
     38        parameters->FindParam(&array,&M,&mdims_array,&ndims_array,QmuMassFluxSegmentsEnum);
     39
     40        /*figure out counter in the descriptor: */
     41        sscanf(descriptor,"MassFlux%i",&counter);
     42
     43        /*retrieve segments from array: */
     44        segments=array[counter-1]; //matlab to "C" indexing
     45        num_segments=mdims_array[counter-1];
     46
    2547        /*Go through segments, and then elements, and figure out which elements belong to a segment.
    2648         * When we find one, use the element to compute the mass flux on the segment: */
    27 
    2849        for(i=0;i<num_segments;i++){
    2950                element_id=(int)*(segments+5*i+4);
     
    4364        #endif
    4465
     66        /*Free ressources:*/
     67        for(j=0;j<M;j++){
     68                double* matrix=array[j];
     69                xfree((void**)&matrix);
     70        }
     71        xfree((void**)&mdims_array);
     72        xfree((void**)&ndims_array);
     73        xfree((void**)&array);
     74
    4575        /*Assign output pointers: */
    4676        *pmass_flux=mass_flux;
Note: See TracChangeset for help on using the changeset viewer.