/usr/lib/petscdir/3.4.2/include/petsc-private/linesearchimpl.h is in libpetsc3.4.2-dev 3.4.2.dfsg1-8.1+b1.
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 | #ifndef __LINESEARCHIMPL_H
#define __LINESEARCHIMPL_H
#include <petscsnes.h>
#include <petsc-private/petscimpl.h>
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)(SNESLineSearch);
PetscErrorCode (*reset)(SNESLineSearch);
PetscErrorCode (*destroy)(SNESLineSearch);
PetscErrorCode (*setup)(SNESLineSearch);
};
struct _p_LineSearch {
PETSCHEADER(struct _LineSearchOps);
SNES snes; /* temporary -- so we can pull out the function evaluation */
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;
PetscBool success;
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;
};
#endif
|