Public Member Functions | Private Member Functions | Private Attributes | List of all members
LinearWaveProblem< ELEMENT, TIMESTEPPER > Class Template Reference

///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// More...

Inheritance diagram for LinearWaveProblem< ELEMENT, TIMESTEPPER >:

Public Member Functions

 LinearWaveProblem (const unsigned &nx, const unsigned &ny, const bool &impulsive_start, LinearWaveEquations< 2 >::LinearWaveSourceFctPt source_fct_pt)
 Constructor: pass number of elements in x and y directions, bool indicating impulsive or "smooth" start, and pointer to source function. More...
 
 ~LinearWaveProblem ()
 Destructor (empty) More...
 
void actions_after_newton_solve ()
 Update the problem specs after solve (empty) More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve (empty) More...
 
void actions_after_implicit_timestep ()
 Update the problem specs after solve (empty) More...
 
void actions_before_implicit_timestep ()
 Update the problem specs before next timestep: Set time-dependent Dirchlet boundary from exact solution. More...
 
void set_initial_condition ()
 Set initial condition (incl history values) More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. More...
 
void unsteady_run ()
 Do unsteady run. More...
 
 LinearWaveProblem (const unsigned &nx, const unsigned &ny, LinearWaveEquations< 2 >::LinearWaveSourceFctPt source_fct_pt)
 Constructor: pass number of elements in x and y directions and pointer to source function. More...
 
 ~LinearWaveProblem ()
 Destructor (empty) More...
 
void actions_after_newton_solve ()
 Update the problem specs after solve (empty) More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve (empty) More...
 
void actions_after_implicit_timestep ()
 Update the problem specs after solve (empty) More...
 
void actions_before_implicit_timestep ()
 Update the problem specs before next timestep: Set Dirchlet boundary conditions from exact solution. More...
 
void set_initial_condition ()
 Set initial condition (incl history values) according to specified function. More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. More...
 
void unsteady_run ()
 Do unsteady run. More...
 

Private Member Functions

void create_flux_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &surface_mesh_pt)
 Create LinearWave flux elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the Mesh object pointed to by surface_mesh_pt. More...
 

Private Attributes

ofstream Trace_file
 
bool Impulsive_start
 
RectangularQuadMesh< ELEMENT > * Bulk_mesh_pt
 Pointer to the "bulk" mesh. More...
 
Mesh * Surface_mesh_pt
 Pointer to the "surface" mesh. More...
 

Detailed Description

template<class ELEMENT, class TIMESTEPPER>
class LinearWaveProblem< ELEMENT, TIMESTEPPER >

///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

LinearWave problem in rectanglular domain

LinearWave problem with flux boundary conditions in rectangle

Definition at line 108 of file two_d_linear_wave.cc.

Constructor & Destructor Documentation

◆ LinearWaveProblem() [1/2]

template<class ELEMENT , class TIMESTEPPER >
LinearWaveProblem< ELEMENT, TIMESTEPPER >::LinearWaveProblem ( const unsigned &  nx,
const unsigned &  ny,
const bool &  impulsive_start,
LinearWaveEquations< 2 >::LinearWaveSourceFctPt  source_fct_pt 
)

Constructor: pass number of elements in x and y directions, bool indicating impulsive or "smooth" start, and pointer to source function.

Constructor for LinearWave problem.

Definition at line 212 of file two_d_linear_wave.cc.

References TanhSolnForLinearWave::Alpha, and TanhSolnForLinearWave::Phi.

◆ ~LinearWaveProblem() [1/2]

template<class ELEMENT , class TIMESTEPPER >
LinearWaveProblem< ELEMENT, TIMESTEPPER >::~LinearWaveProblem ( )
inline

Destructor (empty)

Definition at line 121 of file two_d_linear_wave.cc.

◆ LinearWaveProblem() [2/2]

template<class ELEMENT , class TIMESTEPPER >
LinearWaveProblem< ELEMENT, TIMESTEPPER >::LinearWaveProblem ( const unsigned &  nx,
const unsigned &  ny,
LinearWaveEquations< 2 >::LinearWaveSourceFctPt  source_fct_pt 
)

Constructor: pass number of elements in x and y directions and pointer to source function.

Constructor for LinearWave problem.

Definition at line 257 of file two_d_linear_wave_flux.cc.

References TanhSolnForLinearWave::Alpha, TanhSolnForLinearWave::Phi, and TanhSolnForLinearWave::prescribed_flux_on_fixed_y_boundary().

◆ ~LinearWaveProblem() [2/2]

template<class ELEMENT , class TIMESTEPPER >
LinearWaveProblem< ELEMENT, TIMESTEPPER >::~LinearWaveProblem ( )
inline

Destructor (empty)

Definition at line 151 of file two_d_linear_wave_flux.cc.

Member Function Documentation

◆ actions_after_implicit_timestep() [1/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_after_implicit_timestep ( )
inline

Update the problem specs after solve (empty)

Definition at line 130 of file two_d_linear_wave.cc.

◆ actions_after_implicit_timestep() [2/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_after_implicit_timestep ( )
inline

Update the problem specs after solve (empty)

Definition at line 160 of file two_d_linear_wave_flux.cc.

◆ actions_after_newton_solve() [1/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_after_newton_solve ( )
inline

Update the problem specs after solve (empty)

Definition at line 124 of file two_d_linear_wave.cc.

◆ actions_after_newton_solve() [2/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_after_newton_solve ( )
inline

Update the problem specs after solve (empty)

Definition at line 154 of file two_d_linear_wave_flux.cc.

◆ actions_before_implicit_timestep() [1/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_before_implicit_timestep ( )
inline

Update the problem specs before next timestep: Set time-dependent Dirchlet boundary from exact solution.

Definition at line 134 of file two_d_linear_wave.cc.

References TanhSolnForLinearWave::exact_d2udt2(), TanhSolnForLinearWave::exact_dudt(), and TanhSolnForLinearWave::exact_u().

◆ actions_before_implicit_timestep() [2/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_before_implicit_timestep ( )
inline

Update the problem specs before next timestep: Set Dirchlet boundary conditions from exact solution.

Definition at line 164 of file two_d_linear_wave_flux.cc.

References LinearWaveProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt, TanhSolnForLinearWave::exact_d2udt2(), TanhSolnForLinearWave::exact_dudt(), and TanhSolnForLinearWave::exact_u().

◆ actions_before_newton_solve() [1/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_before_newton_solve ( )
inline

Update the problem specs before solve (empty)

Definition at line 127 of file two_d_linear_wave.cc.

◆ actions_before_newton_solve() [2/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_before_newton_solve ( )
inline

Update the problem specs before solve (empty)

Definition at line 157 of file two_d_linear_wave_flux.cc.

◆ create_flux_elements()

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements ( const unsigned &  b,
Mesh *const &  bulk_mesh_pt,
Mesh *const &  surface_mesh_pt 
)
private

Create LinearWave flux elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the Mesh object pointed to by surface_mesh_pt.

Create LinearWave Flux Elements on the b-th boundary of the Mesh object pointed to by bulk_mesh_pt and add the elements to the Mesh object pointed to by surface_mesh_pt.

Definition at line 422 of file two_d_linear_wave_flux.cc.

◆ doc_solution() [1/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::doc_solution ( DocInfo &  doc_info)

Doc the solution.

Definition at line 404 of file two_d_linear_wave.cc.

References TanhSolnForLinearWave::get_exact_u().

◆ doc_solution() [2/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::doc_solution ( DocInfo &  doc_info)

Doc the solution.

◆ set_initial_condition() [1/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition

Set initial condition (incl history values)

Set initial condition.

Definition at line 289 of file two_d_linear_wave.cc.

References TanhSolnForLinearWave::exact_d2udt2(), TanhSolnForLinearWave::exact_dudt(), and TanhSolnForLinearWave::exact_u().

◆ set_initial_condition() [2/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition ( )

Set initial condition (incl history values) according to specified function.

◆ unsteady_run() [1/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run

Do unsteady run.

Perform run up to specified time.

Unsteady run.

Definition at line 472 of file two_d_linear_wave.cc.

Referenced by main().

◆ unsteady_run() [2/2]

template<class ELEMENT , class TIMESTEPPER >
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run ( )

Do unsteady run.

Member Data Documentation

◆ Bulk_mesh_pt

template<class ELEMENT , class TIMESTEPPER >
RectangularQuadMesh<ELEMENT>* LinearWaveProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt
private

Pointer to the "bulk" mesh.

Definition at line 241 of file two_d_linear_wave_flux.cc.

Referenced by LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_before_implicit_timestep().

◆ Impulsive_start

template<class ELEMENT , class TIMESTEPPER >
bool LinearWaveProblem< ELEMENT, TIMESTEPPER >::Impulsive_start
private

Definition at line 202 of file two_d_linear_wave.cc.

◆ Surface_mesh_pt

template<class ELEMENT , class TIMESTEPPER >
Mesh* LinearWaveProblem< ELEMENT, TIMESTEPPER >::Surface_mesh_pt
private

Pointer to the "surface" mesh.

Definition at line 244 of file two_d_linear_wave_flux.cc.

◆ Trace_file

template<class ELEMENT , class TIMESTEPPER >
ofstream LinearWaveProblem< ELEMENT, TIMESTEPPER >::Trace_file
private

Definition at line 199 of file two_d_linear_wave.cc.


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