LinearWave problem in rectanglular domain. More...
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... | |
LinearWave problem in rectanglular domain.
LinearWave problem with flux boundary conditions in rectangle.
Definition at line 112 of file two_d_linear_wave.cc.
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 216 of file two_d_linear_wave.cc.
References TanhSolnForLinearWave::Alpha, and TanhSolnForLinearWave::Phi.
|
inline |
Destructor (empty)
Definition at line 125 of file two_d_linear_wave.cc.
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 261 of file two_d_linear_wave_flux.cc.
References TanhSolnForLinearWave::Alpha, LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements(), TanhSolnForLinearWave::exact_d2udt2(), TanhSolnForLinearWave::exact_dudt(), TanhSolnForLinearWave::exact_u(), TanhSolnForLinearWave::Phi, TanhSolnForLinearWave::prescribed_flux_on_fixed_y_boundary(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition().
|
inline |
Destructor (empty)
Definition at line 155 of file two_d_linear_wave_flux.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 134 of file two_d_linear_wave.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 164 of file two_d_linear_wave_flux.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 128 of file two_d_linear_wave.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 158 of file two_d_linear_wave_flux.cc.
|
inline |
Update the problem specs before next timestep: Set time-dependent Dirchlet boundary from exact solution.
Definition at line 138 of file two_d_linear_wave.cc.
References TanhSolnForLinearWave::exact_d2udt2(), TanhSolnForLinearWave::exact_dudt(), and TanhSolnForLinearWave::exact_u().
|
inline |
Update the problem specs before next timestep: Set Dirchlet boundary conditions from exact solution.
Definition at line 168 of file two_d_linear_wave_flux.cc.
References TanhSolnForLinearWave::exact_d2udt2(), TanhSolnForLinearWave::exact_dudt(), and TanhSolnForLinearWave::exact_u().
|
inline |
Update the problem specs before solve (empty)
Definition at line 131 of file two_d_linear_wave.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 161 of file two_d_linear_wave_flux.cc.
|
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 427 of file two_d_linear_wave_flux.cc.
References LinearWaveProblem< ELEMENT, TIMESTEPPER >::doc_solution(), TanhSolnForLinearWave::get_exact_u(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run().
Referenced by LinearWaveProblem< ELEMENT, TIMESTEPPER >::LinearWaveProblem().
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Definition at line 408 of file two_d_linear_wave.cc.
References TanhSolnForLinearWave::get_exact_u(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::Trace_file.
Referenced by LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run().
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition | ( | ) |
Set initial condition (incl history values)
Set initial condition.
Definition at line 293 of file two_d_linear_wave.cc.
References TanhSolnForLinearWave::exact_d2udt2(), TanhSolnForLinearWave::exact_dudt(), TanhSolnForLinearWave::exact_u(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::Impulsive_start.
Referenced by LinearWaveProblem< ELEMENT, TIMESTEPPER >::LinearWaveProblem(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run().
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition | ( | ) |
Set initial condition (incl history values) according to specified function.
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | ) |
Do unsteady run.
Perform run up to specified time.
Unsteady run.
Definition at line 476 of file two_d_linear_wave.cc.
References LinearWaveProblem< ELEMENT, TIMESTEPPER >::doc_solution(), LinearWaveProblem< ELEMENT, TIMESTEPPER >::Impulsive_start, LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::Trace_file.
Referenced by LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements(), and main().
void LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | ) |
Do unsteady run.
|
private |
Pointer to the "bulk" mesh.
Definition at line 245 of file two_d_linear_wave_flux.cc.
|
private |
Definition at line 206 of file two_d_linear_wave.cc.
Referenced by LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run().
|
private |
Pointer to the "surface" mesh.
Definition at line 248 of file two_d_linear_wave_flux.cc.
|
private |
Definition at line 203 of file two_d_linear_wave.cc.
Referenced by LinearWaveProblem< ELEMENT, TIMESTEPPER >::doc_solution(), and LinearWaveProblem< ELEMENT, TIMESTEPPER >::unsteady_run().