11#ifndef ESHELBIAN_TOPOLOGICAL_DERIVATIVE_HPP
12#define ESHELBIAN_TOPOLOGICAL_DERIVATIVE_HPP
28 return boost::shared_ptr<MatrixDouble>(shared_from_this(), &
jacobianAtPts);
31 return boost::shared_ptr<MatrixDouble>(shared_from_this(),
35 return boost::shared_ptr<VectorDouble>(shared_from_this(),
39 return boost::shared_ptr<MatrixDouble>(shared_from_this(), &
tangent1AtPts);
42 return boost::shared_ptr<MatrixDouble>(shared_from_this(), &
tangent2AtPts);
45 return boost::shared_ptr<MatrixDouble>(shared_from_this(), &
normalAtPts);
48 return boost::shared_ptr<VectorDouble>(shared_from_this(), &
objAtPts);
51 return boost::shared_ptr<MatrixDouble>(shared_from_this(),
55 return boost::shared_ptr<MatrixDouble>(shared_from_this(),
59 return boost::shared_ptr<MatrixDouble>(shared_from_this(),
71 ForcesAndSourcesCore::GaussHookFun set_integration_at_interior,
72 ForcesAndSourcesCore::GaussHookFun set_integration_at_face,
73 SmartPetscObj<TS> time_solver);
boost::shared_ptr< TopologicalTAOCtx > createTopologicalTAOCtx(EshelbianCore *ep, ForcesAndSourcesCore::GaussHookFun set_integration_at_interior, ForcesAndSourcesCore::GaussHookFun set_integration_at_face, SmartPetscObj< TS > time_solver)
MoFEMErrorCode testTopologicalDerivative(TopologicalTAOCtx *ctx_ptr, Vec sol, PetscReal *f, Vec g)
MoFEMErrorCode topologicalEvaluateObjectiveAndGradient(Tao tao, Vec sol, PetscReal *f, Vec g, void *ctx)
MatrixDouble jacobianAtPts
MatrixDouble objDStressAtPts
boost::shared_ptr< MatrixDouble > getInvJacobianAtPts()
boost::shared_ptr< MatrixDouble > getTangent2AtPts()
boost::shared_ptr< MatrixDouble > getObjDStressAtPts()
boost::shared_ptr< MatrixDouble > getObjDDisplacementAtPts()
boost::shared_ptr< MatrixDouble > getTangent1AtPts()
MatrixDouble objDStrainAtPts
VectorDouble detJacobianAtPts
MatrixDouble tangent2AtPts
boost::shared_ptr< VectorDouble > getObjAtPts()
MatrixDouble objDDisplacementAtPts
MatrixDouble invJacobianAtPtr
MatrixDouble tangent1AtPts
boost::shared_ptr< VectorDouble > getDetJacobianAtPts()
boost::shared_ptr< MatrixDouble > getNormalAtPts()
boost::shared_ptr< MatrixDouble > getJacobianAtPts()
boost::shared_ptr< MatrixDouble > getObjDStrainAtPts()
TopologicalTAOCtx()=default
virtual ~TopologicalTAOCtx()=default