ROL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
BurgersFEM< Real > Class Template Reference

#include <test_04.hpp>

Public Member Functions

 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
 
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
 
int num_dof (void) const
 
Real mesh_spacing (void) const
 
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_L2_norm (const std::vector< Real > &r) const
 
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_mass (std::ostream &outStream=std::cout)
 
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_H1_norm (const std::vector< Real > &r) const
 
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_H1 (std::ostream &outStream=std::cout)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
 
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
 BurgersFEM (int nx=128, Real nu=1.e-2, Real nl=1.0, Real u0=1.0, Real u1=0.0, Real f=0.0, Real cH1=1.0, Real cL2=1.0)
 
int num_dof (void) const
 
Real mesh_spacing (void) const
 
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_L2_norm (const std::vector< Real > &r) const
 
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_mass (std::ostream &outStream=std::cout)
 
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_H1_norm (const std::vector< Real > &r) const
 
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_H1 (std::ostream &outStream=std::cout)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
 
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
 
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
 
int num_dof (void) const
 
Real mesh_spacing (void) const
 
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_L2_norm (const std::vector< Real > &r) const
 
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_mass (std::ostream &outStream=std::cout)
 
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_H1_norm (const std::vector< Real > &r) const
 
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_H1 (std::ostream &outStream=std::cout)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
 
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
 
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
 
Real get_viscosity (void) const
 
int num_dof (void) const
 
Real mesh_spacing (void) const
 
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_L2_norm (const std::vector< Real > &r) const
 
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_mass (std::ostream &outStream=std::cout)
 
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_H1_norm (const std::vector< Real > &r) const
 
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_H1 (std::ostream &outStream=std::cout)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
 
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
 
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
 
int num_dof (void) const
 
Real mesh_spacing (void) const
 
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_L2_norm (const std::vector< Real > &r) const
 
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_mass (std::ostream &outStream=std::cout)
 
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
 
Real compute_H1_norm (const std::vector< Real > &r) const
 
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
 
void test_inverse_H1 (std::ostream &outStream=std::cout)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
 
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
 
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 

Private Member Functions

void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
 
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
 
void scale (std::vector< Real > &u, const Real alpha=0.0) const
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
 
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
 
void scale (std::vector< Real > &u, const Real alpha=0.0) const
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
 
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
 
void scale (std::vector< Real > &u, const Real alpha=0.0) const
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
 
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
 
void scale (std::vector< Real > &u, const Real alpha=0.0) const
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
 
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
 
void scale (std::vector< Real > &u, const Real alpha=0.0) const
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
 

Private Attributes

int nx_
 
Real dx_
 
Real nu_
 
Real nl_
 
Real u0_
 
Real u1_
 
Real f_
 
Real cH1_
 
Real cL2_
 

Detailed Description

template<class Real>
class BurgersFEM< Real >

Definition at line 70 of file test_04.hpp.

Constructor & Destructor Documentation

◆ BurgersFEM() [1/5]

template<class Real >
BurgersFEM< Real >::BurgersFEM ( int  nx = 128,
Real  nl = 1.0,
Real  cH1 = 1.0,
Real  cL2 = 1.0 
)
inline

◆ BurgersFEM() [2/5]

template<class Real >
BurgersFEM< Real >::BurgersFEM ( int  nx = 128,
Real  nu = 1.e-2,
Real  nl = 1.0,
Real  u0 = 1.0,
Real  u1 = 0.0,
Real  f = 0.0,
Real  cH1 = 1.0,
Real  cL2 = 1.0 
)
inline

Definition at line 132 of file example_04.hpp.

◆ BurgersFEM() [3/5]

template<class Real >
BurgersFEM< Real >::BurgersFEM ( int  nx = 128,
Real  nl = 1.0,
Real  cH1 = 1.0,
Real  cL2 = 1.0 
)
inline

Definition at line 133 of file example_06.hpp.

◆ BurgersFEM() [4/5]

template<class Real >
BurgersFEM< Real >::BurgersFEM ( int  nx = 128,
Real  nl = 1.0,
Real  cH1 = 1.0,
Real  cL2 = 1.0 
)
inline

Definition at line 133 of file example_07.hpp.

◆ BurgersFEM() [5/5]

template<class Real >
BurgersFEM< Real >::BurgersFEM ( int  nx = 128,
Real  nl = 1.0,
Real  cH1 = 1.0,
Real  cL2 = 1.0 
)
inline

Definition at line 133 of file example_08.hpp.

Member Function Documentation

◆ update() [1/5]

template<class Real >
void BurgersFEM< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
) const
inlineprivate

Definition at line 83 of file test_04.hpp.

◆ axpy() [1/5]

template<class Real >
void BurgersFEM< Real >::axpy ( std::vector< Real > &  out,
const Real  a,
const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inlineprivate

◆ scale() [1/5]

template<class Real >
void BurgersFEM< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
) const
inlineprivate

Definition at line 95 of file test_04.hpp.

◆ linear_solve() [1/5]

template<class Real >
void BurgersFEM< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
) const
inlineprivate

◆ set_problem_data() [1/4]

template<class Real >
void BurgersFEM< Real >::set_problem_data ( const Real  nu,
const Real  f,
const Real  u0,
const Real  u1 
)
inline

◆ num_dof() [1/5]

template<class Real >
int BurgersFEM< Real >::num_dof ( void  ) const
inline

Definition at line 147 of file test_04.hpp.

References BurgersFEM< Real >::nx_.

◆ mesh_spacing() [1/5]

template<class Real >
Real BurgersFEM< Real >::mesh_spacing ( void  ) const
inline

Definition at line 151 of file test_04.hpp.

References BurgersFEM< Real >::dx_.

◆ compute_L2_dot() [1/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

Definition at line 159 of file test_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

Referenced by BurgersFEM< Real >::compute_L2_norm().

◆ compute_L2_norm() [1/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > &  r) const
inline

Definition at line 177 of file test_04.hpp.

References BurgersFEM< Real >::compute_L2_dot().

Referenced by BurgersFEM< Real >::test_inverse_mass().

◆ apply_mass() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

Definition at line 182 of file test_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

Referenced by BurgersFEM< Real >::test_inverse_mass().

◆ apply_inverse_mass() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_mass() [1/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_mass ( std::ostream &  outStream = std::cout)
inline

◆ compute_H1_dot() [1/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

◆ compute_H1_norm() [1/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > &  r) const
inline

Definition at line 269 of file test_04.hpp.

References BurgersFEM< Real >::compute_H1_dot().

Referenced by BurgersFEM< Real >::test_inverse_H1().

◆ apply_H1() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ apply_inverse_H1() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_H1() [1/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream &  outStream = std::cout)
inline

◆ compute_residual() [1/5]

template<class Real >
void BurgersFEM< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ compute_pde_jacobian() [1/5]

template<class Real >
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
) const
inline

◆ apply_pde_jacobian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_pde_jacobian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > &  ijv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_adjoint_pde_jacobian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > &  ajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_adjoint_pde_jacobian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > &  iajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_control_jacobian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 457 of file test_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_control_jacobian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 468 of file test_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_hessian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 494 of file test_04.hpp.

References BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_control_hessian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 511 of file test_04.hpp.

◆ apply_adjoint_control_pde_hessian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 518 of file test_04.hpp.

◆ apply_adjoint_control_hessian() [1/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 525 of file test_04.hpp.

◆ update() [2/5]

template<class Real >
void BurgersFEM< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
) const
inlineprivate

Definition at line 83 of file example_04.hpp.

◆ axpy() [2/5]

template<class Real >
void BurgersFEM< Real >::axpy ( std::vector< Real > &  out,
const Real  a,
const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inlineprivate

Definition at line 89 of file example_04.hpp.

◆ scale() [2/5]

template<class Real >
void BurgersFEM< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
) const
inlineprivate

Definition at line 95 of file example_04.hpp.

◆ linear_solve() [2/5]

template<class Real >
void BurgersFEM< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
) const
inlineprivate

Definition at line 101 of file example_04.hpp.

◆ num_dof() [2/5]

template<class Real >
int BurgersFEM< Real >::num_dof ( void  ) const
inline

Definition at line 139 of file example_04.hpp.

References BurgersFEM< Real >::nx_.

◆ mesh_spacing() [2/5]

template<class Real >
Real BurgersFEM< Real >::mesh_spacing ( void  ) const
inline

Definition at line 143 of file example_04.hpp.

References BurgersFEM< Real >::dx_.

◆ compute_L2_dot() [2/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

Definition at line 151 of file example_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ compute_L2_norm() [2/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > &  r) const
inline

Definition at line 169 of file example_04.hpp.

References BurgersFEM< Real >::compute_L2_dot().

◆ apply_mass() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

Definition at line 174 of file example_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_inverse_mass() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_mass() [2/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_mass ( std::ostream &  outStream = std::cout)
inline

◆ compute_H1_dot() [2/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

◆ compute_H1_norm() [2/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > &  r) const
inline

Definition at line 261 of file example_04.hpp.

References BurgersFEM< Real >::compute_H1_dot().

◆ apply_H1() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ apply_inverse_H1() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_H1() [2/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream &  outStream = std::cout)
inline

◆ compute_residual() [2/5]

template<class Real >
void BurgersFEM< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ compute_pde_jacobian() [2/5]

template<class Real >
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
) const
inline

◆ apply_pde_jacobian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_pde_jacobian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > &  ijv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_adjoint_pde_jacobian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > &  ajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_adjoint_pde_jacobian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > &  iajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_control_jacobian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 449 of file example_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_control_jacobian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 460 of file example_04.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_hessian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 486 of file example_04.hpp.

References BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_control_hessian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 503 of file example_04.hpp.

◆ apply_adjoint_control_pde_hessian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 510 of file example_04.hpp.

◆ apply_adjoint_control_hessian() [2/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 517 of file example_04.hpp.

◆ update() [3/5]

template<class Real >
void BurgersFEM< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
) const
inlineprivate

Definition at line 84 of file example_06.hpp.

◆ axpy() [3/5]

template<class Real >
void BurgersFEM< Real >::axpy ( std::vector< Real > &  out,
const Real  a,
const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inlineprivate

Definition at line 90 of file example_06.hpp.

◆ scale() [3/5]

template<class Real >
void BurgersFEM< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
) const
inlineprivate

Definition at line 96 of file example_06.hpp.

◆ linear_solve() [3/5]

template<class Real >
void BurgersFEM< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
) const
inlineprivate

Definition at line 102 of file example_06.hpp.

◆ set_problem_data() [2/4]

template<class Real >
void BurgersFEM< Real >::set_problem_data ( const Real  nu,
const Real  f,
const Real  u0,
const Real  u1 
)
inline

◆ num_dof() [3/5]

template<class Real >
int BurgersFEM< Real >::num_dof ( void  ) const
inline

Definition at line 143 of file example_06.hpp.

References BurgersFEM< Real >::nx_.

◆ mesh_spacing() [3/5]

template<class Real >
Real BurgersFEM< Real >::mesh_spacing ( void  ) const
inline

Definition at line 147 of file example_06.hpp.

References BurgersFEM< Real >::dx_.

◆ compute_L2_dot() [3/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

Definition at line 155 of file example_06.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ compute_L2_norm() [3/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > &  r) const
inline

Definition at line 173 of file example_06.hpp.

References BurgersFEM< Real >::compute_L2_dot().

◆ apply_mass() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

Definition at line 178 of file example_06.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_inverse_mass() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_mass() [3/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_mass ( std::ostream &  outStream = std::cout)
inline

◆ compute_H1_dot() [3/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

◆ compute_H1_norm() [3/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > &  r) const
inline

Definition at line 265 of file example_06.hpp.

References BurgersFEM< Real >::compute_H1_dot().

◆ apply_H1() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ apply_inverse_H1() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_H1() [3/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream &  outStream = std::cout)
inline

◆ compute_residual() [3/5]

template<class Real >
void BurgersFEM< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ compute_pde_jacobian() [3/5]

template<class Real >
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
) const
inline

◆ apply_pde_jacobian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_pde_jacobian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > &  ijv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_adjoint_pde_jacobian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > &  ajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_adjoint_pde_jacobian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > &  iajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_control_jacobian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 453 of file example_06.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_control_jacobian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 464 of file example_06.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_hessian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 490 of file example_06.hpp.

References BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_control_hessian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 507 of file example_06.hpp.

◆ apply_adjoint_control_pde_hessian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 514 of file example_06.hpp.

◆ apply_adjoint_control_hessian() [3/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 521 of file example_06.hpp.

◆ update() [4/5]

template<class Real >
void BurgersFEM< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
) const
inlineprivate

Definition at line 84 of file example_07.hpp.

◆ axpy() [4/5]

template<class Real >
void BurgersFEM< Real >::axpy ( std::vector< Real > &  out,
const Real  a,
const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inlineprivate

Definition at line 90 of file example_07.hpp.

◆ scale() [4/5]

template<class Real >
void BurgersFEM< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
) const
inlineprivate

Definition at line 96 of file example_07.hpp.

◆ linear_solve() [4/5]

template<class Real >
void BurgersFEM< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
) const
inlineprivate

Definition at line 102 of file example_07.hpp.

◆ set_problem_data() [3/4]

template<class Real >
void BurgersFEM< Real >::set_problem_data ( const Real  nu,
const Real  f,
const Real  u0,
const Real  u1 
)
inline

◆ get_viscosity()

template<class Real >
Real BurgersFEM< Real >::get_viscosity ( void  ) const
inline

Definition at line 143 of file example_07.hpp.

References BurgersFEM< Real >::nu_.

◆ num_dof() [4/5]

template<class Real >
int BurgersFEM< Real >::num_dof ( void  ) const
inline

Definition at line 147 of file example_07.hpp.

References BurgersFEM< Real >::nx_.

◆ mesh_spacing() [4/5]

template<class Real >
Real BurgersFEM< Real >::mesh_spacing ( void  ) const
inline

Definition at line 151 of file example_07.hpp.

References BurgersFEM< Real >::dx_.

◆ compute_L2_dot() [4/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

Definition at line 159 of file example_07.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ compute_L2_norm() [4/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > &  r) const
inline

Definition at line 177 of file example_07.hpp.

References BurgersFEM< Real >::compute_L2_dot().

◆ apply_mass() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

Definition at line 182 of file example_07.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_inverse_mass() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_mass() [4/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_mass ( std::ostream &  outStream = std::cout)
inline

◆ compute_H1_dot() [4/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

◆ compute_H1_norm() [4/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > &  r) const
inline

Definition at line 269 of file example_07.hpp.

References BurgersFEM< Real >::compute_H1_dot().

◆ apply_H1() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ apply_inverse_H1() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_H1() [4/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream &  outStream = std::cout)
inline

◆ compute_residual() [4/5]

template<class Real >
void BurgersFEM< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ compute_pde_jacobian() [4/5]

template<class Real >
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
) const
inline

◆ apply_pde_jacobian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_pde_jacobian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > &  ijv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_adjoint_pde_jacobian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > &  ajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_adjoint_pde_jacobian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > &  iajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_control_jacobian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 457 of file example_07.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_control_jacobian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 468 of file example_07.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_hessian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 494 of file example_07.hpp.

References BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_control_hessian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 511 of file example_07.hpp.

◆ apply_adjoint_control_pde_hessian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 518 of file example_07.hpp.

◆ apply_adjoint_control_hessian() [4/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 525 of file example_07.hpp.

◆ update() [5/5]

template<class Real >
void BurgersFEM< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
) const
inlineprivate

Definition at line 84 of file example_08.hpp.

◆ axpy() [5/5]

template<class Real >
void BurgersFEM< Real >::axpy ( std::vector< Real > &  out,
const Real  a,
const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inlineprivate

Definition at line 90 of file example_08.hpp.

◆ scale() [5/5]

template<class Real >
void BurgersFEM< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
) const
inlineprivate

Definition at line 96 of file example_08.hpp.

◆ linear_solve() [5/5]

template<class Real >
void BurgersFEM< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
) const
inlineprivate

Definition at line 102 of file example_08.hpp.

◆ set_problem_data() [4/4]

template<class Real >
void BurgersFEM< Real >::set_problem_data ( const Real  nu,
const Real  f,
const Real  u0,
const Real  u1 
)
inline

◆ num_dof() [5/5]

template<class Real >
int BurgersFEM< Real >::num_dof ( void  ) const
inline

Definition at line 143 of file example_08.hpp.

References BurgersFEM< Real >::nx_.

◆ mesh_spacing() [5/5]

template<class Real >
Real BurgersFEM< Real >::mesh_spacing ( void  ) const
inline

Definition at line 147 of file example_08.hpp.

References BurgersFEM< Real >::dx_.

◆ compute_L2_dot() [5/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

Definition at line 155 of file example_08.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ compute_L2_norm() [5/5]

template<class Real >
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > &  r) const
inline

Definition at line 173 of file example_08.hpp.

References BurgersFEM< Real >::compute_L2_dot().

◆ apply_mass() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

Definition at line 178 of file example_08.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_inverse_mass() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_mass() [5/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_mass ( std::ostream &  outStream = std::cout)
inline

◆ compute_H1_dot() [5/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
) const
inline

◆ compute_H1_norm() [5/5]

template<class Real >
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > &  r) const
inline

Definition at line 265 of file example_08.hpp.

References BurgersFEM< Real >::compute_H1_dot().

◆ apply_H1() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ apply_inverse_H1() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > &  Mu,
const std::vector< Real > &  u 
) const
inline

◆ test_inverse_H1() [5/5]

template<class Real >
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream &  outStream = std::cout)
inline

◆ compute_residual() [5/5]

template<class Real >
void BurgersFEM< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ compute_pde_jacobian() [5/5]

template<class Real >
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
) const
inline

◆ apply_pde_jacobian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_pde_jacobian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > &  ijv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_adjoint_pde_jacobian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > &  ajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_inverse_adjoint_pde_jacobian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > &  iajv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

◆ apply_control_jacobian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 453 of file example_08.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_control_jacobian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 464 of file example_08.hpp.

References BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_hessian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
) const
inline

Definition at line 490 of file example_08.hpp.

References BurgersFEM< Real >::nx_.

◆ apply_adjoint_pde_control_hessian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 507 of file example_08.hpp.

◆ apply_adjoint_control_pde_hessian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 514 of file example_08.hpp.

◆ apply_adjoint_control_hessian() [5/5]

template<class Real >
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > &  ahwv,
const std::vector< Real > &  w,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inline

Definition at line 521 of file example_08.hpp.

Member Data Documentation

◆ nx_

template<class Real >
int BurgersFEM< Real >::nx_
private

◆ dx_

template<class Real >
Real BurgersFEM< Real >::dx_
private

◆ nu_

template<class Real >
Real BurgersFEM< Real >::nu_
private

◆ nl_

template<class Real >
Real BurgersFEM< Real >::nl_
private

◆ u0_

template<class Real >
Real BurgersFEM< Real >::u0_
private

◆ u1_

template<class Real >
Real BurgersFEM< Real >::u1_
private

◆ f_

template<class Real >
Real BurgersFEM< Real >::f_
private

◆ cH1_

template<class Real >
Real BurgersFEM< Real >::cH1_
private

◆ cL2_

template<class Real >
Real BurgersFEM< Real >::cL2_
private

The documentation for this class was generated from the following files: