12#ifndef MOFEM_ESHELBIAN_COHESIVE_HPP
13#define MOFEM_ESHELBIAN_COHESIVE_HPP
19 ForcesAndSourcesCore::GaussHookFun set_integration_at_front_face,
20 boost::shared_ptr<Range> interface_range_ptr,
21 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pip);
25 ForcesAndSourcesCore::GaussHookFun set_integration_at_front_face,
26 boost::shared_ptr<Range> interface_range_ptr,
27 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pip);
36 virtual CommInterface::EntitiesPetscVector &
getKappaVec() = 0;
41 ForcesAndSourcesCore::GaussHookFun set_integration_at_front_face,
42 SmartPetscObj<TS> time_solver);
Tag get_delta_kappa_tag(moab::Interface &moab)
boost::shared_ptr< CohesiveTAOCtx > createCohesiveTAOCtx(EshelbianCore *ep, ForcesAndSourcesCore::GaussHookFun set_integration_at_front_face, SmartPetscObj< TS > time_solver)
MoFEMErrorCode pushCohesiveOpsLhs(EshelbianCore &ep, ForcesAndSourcesCore::GaussHookFun set_integration_at_front_face, boost::shared_ptr< Range > interface_range_ptr, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
Tag get_kappa_tag(moab::Interface &moab)
MoFEMErrorCode pushCohesiveOpsRhs(EshelbianCore &ep, ForcesAndSourcesCore::GaussHookFun set_integration_at_front_face, boost::shared_ptr< Range > interface_range_ptr, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
MoFEMErrorCode initializeCohesiveKappaField(EshelbianCore &ep)
MoFEMErrorCode cohesiveEvaluateObjectiveAndGradient(Tao tao, Vec x, PetscReal *f, Vec g, void *ctx)
virtual SmartPetscObj< Vec > duplicateKappaVec()=0
virtual SmartPetscObj< Vec > duplicateDissipationVec()=0
virtual SmartPetscObj< Vec > duplicateGradientVec()=0
virtual CommInterface::EntitiesPetscVector & getKappaVec()=0