Skip to content
Snippets Groups Projects
Select Git revision
  • eb34e0a677c6c05358b405b278e702f83ec2dcf4
  • master default
  • cgnsUnstructured
  • partitioning
  • poppler
  • HighOrderBLCurving
  • gmsh_3_0_4
  • gmsh_3_0_3
  • gmsh_3_0_2
  • gmsh_3_0_1
  • gmsh_3_0_0
  • gmsh_2_16_0
  • gmsh_2_15_0
  • gmsh_2_14_1
  • gmsh_2_14_0
  • gmsh_2_13_2
  • gmsh_2_13_1
  • gmsh_2_12_0
  • gmsh_2_11_0
  • gmsh_2_10_1
  • gmsh_2_10_0
  • gmsh_2_9_3
  • gmsh_2_9_2
  • gmsh_2_9_1
  • gmsh_2_9_0
  • gmsh_2_8_6
26 results

MallocUtils.h

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    objective.h 928 B
    #ifndef H_COMMON_DATA_OBJECTIVE
    #define H_COMMON_DATA_OBJECTIVE
    
    //GmshFem Library
    #include "Formulation.h"
    //FWI Library
    #include "../state.h"
    #include "../../wave/element.h"
    #include "../../configuration.h"
    
    //Forward declaration
    class ModelUpdater;
    template<Physic T_Physic>
    class DataUpdater;
    
    /*
    * ObjectiveInterface
    */
    template<Physic T_Physic>
    class ObjectiveInterface
    {
    protected:
        const Data<T_Physic>* const _d0;
        Data<T_Physic> _v;
    public:
        ObjectiveInterface(const Data<T_Physic>* const d0): _d0(d0), _v(*d0) {};
        virtual ~ObjectiveInterface() = default;
    
        virtual double performance(const Data<T_Physic>& d) = 0;
        virtual const Data<T_Physic>& update(Type type, const DataStateEvaluator<T_Physic>& ds) = 0;
    
        virtual void link(ModelUpdater* const mu, DataUpdater<T_Physic>* const du) {};
        virtual void unlink() {};
        virtual void modelIsObsolete() {};
    };
    
    #endif //H_COMMON_DATA_OBJECTIVE