source: issm/trunk/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp@ 13395

Last change on this file since 13395 was 13395, checked in by Mathieu Morlighem, 12 years ago

merged trunk-jpl and trunk for revision 13393

File size: 1023 bytes
RevLine 
[8608]1/*!\file DragCoefficientAbsGradientx
2 * \brief: compute misfit between observations and model
3 */
4
5#include "./DragCoefficientAbsGradientx.h"
6
7#include "../../shared/shared.h"
8#include "../../include/include.h"
9#include "../../toolkits/toolkits.h"
10#include "../../EnumDefinitions/EnumDefinitions.h"
11
[13395]12void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,bool process_units, int weight_index){
[8608]13
14 /*Intermediary*/
15 int i;
16 Element* element=NULL;
17
18 /*output: */
[13395]19 IssmDouble J=0;
20 IssmDouble J_sum;
[8608]21
22 /*Compute Misfit: */
23 for (i=0;i<elements->Size();i++){
24 element=(Element*)elements->GetObjectByOffset(i);
25 J+=element->DragCoefficientAbsGradient(process_units,weight_index);
26 }
27
28 /*Sum all J from all cpus of the cluster:*/
[12330]29 #ifdef _HAVE_MPI_
[8608]30 MPI_Reduce (&J,&J_sum,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD );
31 MPI_Bcast(&J_sum,1,MPI_DOUBLE,0,MPI_COMM_WORLD);
32 J=J_sum;
[12330]33 #endif
[8608]34
35 /*Assign output pointers: */
36 *pJ=J;
37}
Note: See TracBrowser for help on using the repository browser.