/usr/lib/petscdir/3.7.7/x86_64-linux-gnu-real-debug/include/petsc/private/linesearchimpl.h is in libpetsc3.7.7-dbg 3.7.7+dfsg1-2build5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | #ifndef __LINESEARCHIMPL_H
#define __LINESEARCHIMPL_H
#include <petscsnes.h>
#include <petsc/private/petscimpl.h>
PETSC_EXTERN PetscBool SNESLineSearchRegisterAllCalled;
PETSC_EXTERN PetscErrorCode SNESLineSearchRegisterAll(void);
typedef struct _LineSearchOps *LineSearchOps;
struct _LineSearchOps {
PetscErrorCode (*view)(SNESLineSearch, PetscViewer);
SNESLineSearchApplyFunc apply;
PetscErrorCode (*precheck)(SNESLineSearch,Vec,Vec,PetscBool*,void*);
SNESLineSearchVIProjectFunc viproject;
SNESLineSearchVINormFunc vinorm;
PetscErrorCode (*postcheck)(SNESLineSearch,Vec,Vec,Vec,PetscBool *,PetscBool *,void*);
PetscErrorCode (*setfromoptions)(PetscOptionItems*,SNESLineSearch);
PetscErrorCode (*reset)(SNESLineSearch);
PetscErrorCode (*destroy)(SNESLineSearch);
PetscErrorCode (*setup)(SNESLineSearch);
PetscErrorCode (*snesfunc)(SNES,Vec,Vec);
};
#define MAXSNESLSMONITORS 5
struct _p_LineSearch {
PETSCHEADER(struct _LineSearchOps);
SNES snes;
void *data;
PetscBool setupcalled;
Vec vec_sol;
Vec vec_sol_new;
Vec vec_func;
Vec vec_func_new;
Vec vec_update;
PetscInt nwork;
Vec *work;
PetscReal lambda;
PetscBool norms;
PetscReal fnorm;
PetscReal ynorm;
PetscReal xnorm;
SNESLineSearchReason result;
PetscBool keeplambda;
PetscReal damping;
PetscReal maxstep;
PetscReal steptol;
PetscInt max_its;
PetscReal rtol;
PetscReal atol;
PetscReal ltol;
PetscInt order;
PetscReal precheck_picard_angle;
void * precheckctx;
void * postcheckctx;
PetscViewer monitor;
PetscErrorCode (*monitorftns[MAXSNESLSMONITORS])(SNESLineSearch,void*); /* monitor routine */
PetscErrorCode (*monitordestroy[MAXSNESLSMONITORS])(void**); /* monitor context destroy routine */
void *monitorcontext[MAXSNESLSMONITORS]; /* monitor context */
PetscInt numbermonitors; /* number of monitors */
};
#endif
|