![]() |
|
Single axisymmetric fluid interface problem in rectangular domain. More...
Public Member Functions | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_z, const double &l_r, const double &h) | |
Constructor for single fluid interface problem. More... | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | actions_before_newton_convergence_check () |
void | actions_before_newton_solve () |
void | actions_after_newton_solve () |
void | set_initial_condition () |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_z, const double &l_r, const double &h) | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | actions_before_newton_convergence_check () |
void | actions_before_newton_solve () |
void | actions_after_newton_solve () |
void | set_initial_condition () |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
InterfaceProblem () | |
Constructor. More... | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
Set initial conditions. More... | |
void | set_boundary_conditions () |
Set boundary conditions. More... | |
void | doc_solution (DocInfo &doc_info) |
Document the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_z1, const unsigned &n_z2, const double &l_r, const double &h1, const double &h2) | |
Constructor for axisymmetric two fluid interface problem. More... | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
Set initial conditions. More... | |
void | set_boundary_conditions () |
Set boundary conditions. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_y, const unsigned &n_theta, const double &r_min, const double &r_max, const double &l_y, const double &theta_max) | |
Problem constructor. More... | |
void | actions_before_newton_convergence_check () |
void | unsteady_run (const unsigned &nstep) |
Run an unsteady simulation with specified number of steps. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
double | compute_total_mass () |
Compute the total mass. More... | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_z, const double &l_z) | |
Constructor for single fluid interface problem. More... | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | actions_before_newton_convergence_check () |
void | set_initial_condition () |
double | global_temporal_error_norm () |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
double | compute_total_mass () |
Compute the total mass of the insoluble surfactant. More... | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_z, const double &l_z) | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
double | global_temporal_error_norm () |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
double | compute_total_mass () |
Compute the total mass of the insoluble surfactant. More... | |
InterfaceProblem (const unsigned &n_x, const unsigned &n_y, const double &l_x, const double &h) | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
Set initial conditions. More... | |
void | set_boundary_conditions () |
Set boundary conditions. More... | |
void | doc_solution (DocInfo &doc_info) |
Document the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
InterfaceProblem (const unsigned &n_x, const unsigned &n_y, const double &l_x, const double &h) | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
Set initial conditions. More... | |
void | set_boundary_conditions () |
Set boundary conditions. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
InterfaceProblem (const unsigned &Nx, const unsigned &Ny, const unsigned &Nz, const double &Lx, const double &Ly, const double &h) | |
void | actions_before_newton_convergence_check () |
void | unsteady_run (const unsigned &nstep) |
Run an unsteady simulation with specified number of steps. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
InterfaceProblem () | |
Constructor. More... | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
Set initial conditions. More... | |
void | set_boundary_conditions () |
Set boundary conditions. More... | |
void | doc_solution (DocInfo &doc_info) |
Document the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
InterfaceProblem (const unsigned &n_x, const unsigned &n_y1, const unsigned &n_y2, const double &l_x, const double &h1, const double &h2) | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
Set initial conditions. More... | |
void | set_boundary_conditions () |
Set boundary conditions. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
![]() | |
virtual void | debug_hook_fct (const unsigned &i) |
void | set_analytic_dparameter (double *const ¶meter_pt) |
void | unset_analytic_dparameter (double *const ¶meter_pt) |
bool | is_dparameter_calculated_analytically (double *const ¶meter_pt) |
void | set_analytic_hessian_products () |
void | unset_analytic_hessian_products () |
bool | are_hessian_products_calculated_analytically () |
void | set_pinned_values_to_zero () |
bool | distributed () const |
OomphCommunicator * | communicator_pt () |
access function to the oomph-lib communicator More... | |
const OomphCommunicator * | communicator_pt () const |
access function to the oomph-lib communicator, const version More... | |
Problem () | |
Problem (const Problem &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const Problem &)=delete |
Broken assignment operator. More... | |
virtual | ~Problem () |
Virtual destructor to clean up memory. More... | |
Mesh *& | mesh_pt () |
Return a pointer to the global mesh. More... | |
Mesh *const & | mesh_pt () const |
Return a pointer to the global mesh (const version) More... | |
Mesh *& | mesh_pt (const unsigned &imesh) |
Mesh *const & | mesh_pt (const unsigned &imesh) const |
Return a pointer to the i-th submesh (const version) More... | |
unsigned | nsub_mesh () const |
Return number of submeshes. More... | |
unsigned | add_sub_mesh (Mesh *const &mesh_pt) |
void | flush_sub_meshes () |
void | build_global_mesh () |
void | rebuild_global_mesh () |
LinearSolver *& | linear_solver_pt () |
Return a pointer to the linear solver object. More... | |
LinearSolver *const & | linear_solver_pt () const |
Return a pointer to the linear solver object (const version) More... | |
LinearSolver *& | mass_matrix_solver_for_explicit_timestepper_pt () |
LinearSolver * | mass_matrix_solver_for_explicit_timestepper_pt () const |
EigenSolver *& | eigen_solver_pt () |
Return a pointer to the eigen solver object. More... | |
EigenSolver *const & | eigen_solver_pt () const |
Return a pointer to the eigen solver object (const version) More... | |
Time *& | time_pt () |
Return a pointer to the global time object. More... | |
Time * | time_pt () const |
Return a pointer to the global time object (const version). More... | |
double & | time () |
Return the current value of continuous time. More... | |
double | time () const |
Return the current value of continuous time (const version) More... | |
TimeStepper *& | time_stepper_pt () |
const TimeStepper * | time_stepper_pt () const |
TimeStepper *& | time_stepper_pt (const unsigned &i) |
Return a pointer to the i-th timestepper. More... | |
ExplicitTimeStepper *& | explicit_time_stepper_pt () |
Return a pointer to the explicit timestepper. More... | |
unsigned long | set_timestepper_for_all_data (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data=false) |
virtual void | shift_time_values () |
Shift all values along to prepare for next timestep. More... | |
AssemblyHandler *& | assembly_handler_pt () |
Return a pointer to the assembly handler object. More... | |
AssemblyHandler *const & | assembly_handler_pt () const |
Return a pointer to the assembly handler object (const version) More... | |
double & | minimum_dt () |
Access function to min timestep in adaptive timestepping. More... | |
double & | maximum_dt () |
Access function to max timestep in adaptive timestepping. More... | |
unsigned & | max_newton_iterations () |
Access function to max Newton iterations before giving up. More... | |
void | problem_is_nonlinear (const bool &prob_lin) |
Access function to Problem_is_nonlinear. More... | |
double & | max_residuals () |
bool & | time_adaptive_newton_crash_on_solve_fail () |
Access function for Time_adaptive_newton_crash_on_solve_fail. More... | |
double & | newton_solver_tolerance () |
void | add_time_stepper_pt (TimeStepper *const &time_stepper_pt) |
void | set_explicit_time_stepper_pt (ExplicitTimeStepper *const &explicit_time_stepper_pt) |
void | initialise_dt (const double &dt) |
void | initialise_dt (const Vector< double > &dt) |
Data *& | global_data_pt (const unsigned &i) |
Return a pointer to the the i-th global data object. More... | |
void | add_global_data (Data *const &global_data_pt) |
void | flush_global_data () |
LinearAlgebraDistribution *const & | dof_distribution_pt () const |
Return the pointer to the dof distribution (read-only) More... | |
unsigned long | ndof () const |
Return the number of dofs. More... | |
unsigned | ntime_stepper () const |
Return the number of time steppers. More... | |
unsigned | nglobal_data () const |
Return the number of global data values. More... | |
unsigned | self_test () |
Self-test: Check meshes and global data. Return 0 for OK. More... | |
void | enable_store_local_dof_pt_in_elements () |
void | disable_store_local_dof_pt_in_elements () |
unsigned long | assign_eqn_numbers (const bool &assign_local_eqn_numbers=true) |
void | describe_dofs (std::ostream &out= *(oomph_info.stream_pt())) const |
void | enable_discontinuous_formulation () |
void | disable_discontinuous_formulation () |
void | get_dofs (DoubleVector &dofs) const |
void | get_dofs (const unsigned &t, DoubleVector &dofs) const |
Return vector of the t'th history value of all dofs. More... | |
void | set_dofs (const DoubleVector &dofs) |
Set the values of the dofs. More... | |
void | set_dofs (const unsigned &t, DoubleVector &dofs) |
Set the history values of the dofs. More... | |
void | set_dofs (const unsigned &t, Vector< double * > &dof_pt) |
void | add_to_dofs (const double &lambda, const DoubleVector &increment_dofs) |
Add lambda x incremenet_dofs[l] to the l-th dof. More... | |
double * | global_dof_pt (const unsigned &i) |
double & | dof (const unsigned &i) |
i-th dof in the problem More... | |
double | dof (const unsigned &i) const |
i-th dof in the problem (const version) More... | |
double *& | dof_pt (const unsigned &i) |
Pointer to i-th dof in the problem. More... | |
double * | dof_pt (const unsigned &i) const |
Pointer to i-th dof in the problem (const version) More... | |
virtual void | get_inverse_mass_matrix_times_residuals (DoubleVector &Mres) |
virtual void | get_dvaluesdt (DoubleVector &f) |
virtual void | get_residuals (DoubleVector &residuals) |
Get the total residuals Vector for the problem. More... | |
virtual void | get_jacobian (DoubleVector &residuals, DenseDoubleMatrix &jacobian) |
virtual void | get_jacobian (DoubleVector &residuals, CRDoubleMatrix &jacobian) |
virtual void | get_jacobian (DoubleVector &residuals, CCDoubleMatrix &jacobian) |
virtual void | get_jacobian (DoubleVector &residuals, SumOfMatrices &jacobian) |
void | get_fd_jacobian (DoubleVector &residuals, DenseMatrix< double > &jacobian) |
Get the full Jacobian by finite differencing. More... | |
void | get_derivative_wrt_global_parameter (double *const ¶meter_pt, DoubleVector &result) |
void | get_hessian_vector_products (DoubleVectorWithHaloEntries const &Y, Vector< DoubleVectorWithHaloEntries > const &C, Vector< DoubleVectorWithHaloEntries > &product) |
void | solve_eigenproblem (const unsigned &n_eval, Vector< std::complex< double >> &eigenvalue, Vector< DoubleVector > &eigenvector, const bool &steady=true) |
Solve the eigenproblem. More... | |
void | solve_eigenproblem (const unsigned &n_eval, Vector< std::complex< double >> &eigenvalue, const bool &steady=true) |
virtual void | get_eigenproblem_matrices (CRDoubleMatrix &mass_matrix, CRDoubleMatrix &main_matrix, const double &shift=0.0) |
void | assign_eigenvector_to_dofs (DoubleVector &eigenvector) |
Assign the eigenvector passed to the function to the dofs. More... | |
void | add_eigenvector_to_dofs (const double &epsilon, const DoubleVector &eigenvector) |
void | store_current_dof_values () |
Store the current values of the degrees of freedom. More... | |
void | restore_dof_values () |
Restore the stored values of the degrees of freedom. More... | |
void | enable_jacobian_reuse () |
void | disable_jacobian_reuse () |
Disable recycling of Jacobian in Newton iteration. More... | |
bool | jacobian_reuse_is_enabled () |
Is recycling of Jacobian in Newton iteration enabled? More... | |
bool & | use_predictor_values_as_initial_guess () |
void | newton_solve () |
Use Newton method to solve the problem. More... | |
void | enable_globally_convergent_newton_method () |
enable globally convergent Newton method More... | |
void | disable_globally_convergent_newton_method () |
disable globally convergent Newton method More... | |
void | newton_solve (unsigned const &max_adapt) |
void | steady_newton_solve (unsigned const &max_adapt=0) |
void | copy (Problem *orig_problem_pt) |
virtual Problem * | make_copy () |
virtual void | read (std::ifstream &restart_file, bool &unsteady_restart) |
virtual void | read (std::ifstream &restart_file) |
virtual void | dump (std::ofstream &dump_file) const |
void | dump (const std::string &dump_file_name) const |
void | delete_all_external_storage () |
virtual void | symmetrise_eigenfunction_for_adaptive_pitchfork_tracking () |
double * | bifurcation_parameter_pt () const |
void | get_bifurcation_eigenfunction (Vector< DoubleVector > &eigenfunction) |
void | activate_fold_tracking (double *const ¶meter_pt, const bool &block_solve=true) |
void | activate_bifurcation_tracking (double *const ¶meter_pt, const DoubleVector &eigenvector, const bool &block_solve=true) |
void | activate_bifurcation_tracking (double *const ¶meter_pt, const DoubleVector &eigenvector, const DoubleVector &normalisation, const bool &block_solve=true) |
void | activate_pitchfork_tracking (double *const ¶meter_pt, const DoubleVector &symmetry_vector, const bool &block_solve=true) |
void | activate_hopf_tracking (double *const ¶meter_pt, const bool &block_solve=true) |
void | activate_hopf_tracking (double *const ¶meter_pt, const double &omega, const DoubleVector &null_real, const DoubleVector &null_imag, const bool &block_solve=true) |
void | deactivate_bifurcation_tracking () |
void | reset_assembly_handler_to_default () |
Reset the system to the standard non-augemented state. More... | |
double | arc_length_step_solve (double *const ¶meter_pt, const double &ds, const unsigned &max_adapt=0) |
double | arc_length_step_solve (Data *const &data_pt, const unsigned &data_index, const double &ds, const unsigned &max_adapt=0) |
void | reset_arc_length_parameters () |
int & | sign_of_jacobian () |
void | explicit_timestep (const double &dt, const bool &shift_values=true) |
Take an explicit timestep of size dt. More... | |
void | unsteady_newton_solve (const double &dt) |
void | unsteady_newton_solve (const double &dt, const bool &shift_values) |
void | unsteady_newton_solve (const double &dt, const unsigned &max_adapt, const bool &first, const bool &shift=true) |
double | doubly_adaptive_unsteady_newton_solve (const double &dt, const double &epsilon, const unsigned &max_adapt, const bool &first, const bool &shift=true) |
double | doubly_adaptive_unsteady_newton_solve (const double &dt, const double &epsilon, const unsigned &max_adapt, const unsigned &suppress_resolve_after_spatial_adapt_flag, const bool &first, const bool &shift=true) |
double | adaptive_unsteady_newton_solve (const double &dt_desired, const double &epsilon) |
double | adaptive_unsteady_newton_solve (const double &dt_desired, const double &epsilon, const bool &shift_values) |
void | assign_initial_values_impulsive () |
void | assign_initial_values_impulsive (const double &dt) |
void | calculate_predictions () |
Calculate predictions. More... | |
void | enable_mass_matrix_reuse () |
void | disable_mass_matrix_reuse () |
bool | mass_matrix_reuse_is_enabled () |
Return whether the mass matrix is being reused. More... | |
void | refine_uniformly (const Vector< unsigned > &nrefine_for_mesh) |
void | refine_uniformly (const Vector< unsigned > &nrefine_for_mesh, DocInfo &doc_info) |
void | refine_uniformly_and_prune (const Vector< unsigned > &nrefine_for_mesh) |
void | refine_uniformly_and_prune (const Vector< unsigned > &nrefine_for_mesh, DocInfo &doc_info) |
void | refine_uniformly (DocInfo &doc_info) |
void | refine_uniformly_and_prune (DocInfo &doc_info) |
void | refine_uniformly () |
void | refine_uniformly (const unsigned &i_mesh, DocInfo &doc_info) |
Do uniform refinement for submesh i_mesh with documentation. More... | |
void | refine_uniformly (const unsigned &i_mesh) |
Do uniform refinement for submesh i_mesh without documentation. More... | |
void | p_refine_uniformly (const Vector< unsigned > &nrefine_for_mesh) |
void | p_refine_uniformly (const Vector< unsigned > &nrefine_for_mesh, DocInfo &doc_info) |
void | p_refine_uniformly_and_prune (const Vector< unsigned > &nrefine_for_mesh) |
void | p_refine_uniformly_and_prune (const Vector< unsigned > &nrefine_for_mesh, DocInfo &doc_info) |
void | p_refine_uniformly (DocInfo &doc_info) |
void | p_refine_uniformly_and_prune (DocInfo &doc_info) |
void | p_refine_uniformly () |
void | p_refine_uniformly (const unsigned &i_mesh, DocInfo &doc_info) |
Do uniform p-refinement for submesh i_mesh with documentation. More... | |
void | p_refine_uniformly (const unsigned &i_mesh) |
Do uniform p-refinement for submesh i_mesh without documentation. More... | |
void | refine_selected_elements (const Vector< unsigned > &elements_to_be_refined) |
void | refine_selected_elements (const Vector< RefineableElement * > &elements_to_be_refined_pt) |
void | refine_selected_elements (const unsigned &i_mesh, const Vector< unsigned > &elements_to_be_refined) |
void | refine_selected_elements (const unsigned &i_mesh, const Vector< RefineableElement * > &elements_to_be_refined_pt) |
void | refine_selected_elements (const Vector< Vector< unsigned >> &elements_to_be_refined) |
void | refine_selected_elements (const Vector< Vector< RefineableElement * >> &elements_to_be_refined_pt) |
void | p_refine_selected_elements (const Vector< unsigned > &elements_to_be_refined) |
void | p_refine_selected_elements (const Vector< PRefineableElement * > &elements_to_be_refined_pt) |
void | p_refine_selected_elements (const unsigned &i_mesh, const Vector< unsigned > &elements_to_be_refined) |
void | p_refine_selected_elements (const unsigned &i_mesh, const Vector< PRefineableElement * > &elements_to_be_refined_pt) |
void | p_refine_selected_elements (const Vector< Vector< unsigned >> &elements_to_be_refined) |
void | p_refine_selected_elements (const Vector< Vector< PRefineableElement * >> &elements_to_be_refined_pt) |
unsigned | unrefine_uniformly () |
unsigned | unrefine_uniformly (const unsigned &i_mesh) |
void | p_unrefine_uniformly (DocInfo &doc_info) |
void | p_unrefine_uniformly (const unsigned &i_mesh, DocInfo &doc_info) |
Do uniform p-unrefinement for submesh i_mesh without documentation. More... | |
void | adapt (unsigned &n_refined, unsigned &n_unrefined) |
void | adapt () |
void | p_adapt (unsigned &n_refined, unsigned &n_unrefined) |
void | p_adapt () |
void | adapt_based_on_error_estimates (unsigned &n_refined, unsigned &n_unrefined, Vector< Vector< double >> &elemental_error) |
void | adapt_based_on_error_estimates (Vector< Vector< double >> &elemental_error) |
void | get_all_error_estimates (Vector< Vector< double >> &elemental_error) |
void | doc_errors (DocInfo &doc_info) |
Get max and min error for all elements in submeshes. More... | |
void | doc_errors () |
Get max and min error for all elements in submeshes. More... | |
void | enable_info_in_newton_solve () |
void | disable_info_in_newton_solve () |
Disable the output of information when in the newton solver. More... | |
![]() | |
ExplicitTimeSteppableObject () | |
Empty constructor. More... | |
ExplicitTimeSteppableObject (const ExplicitTimeSteppableObject &)=delete | |
Broken copy constructor. More... | |
void | operator= (const ExplicitTimeSteppableObject &)=delete |
Broken assignment operator. More... | |
virtual | ~ExplicitTimeSteppableObject () |
Empty destructor. More... | |
virtual void | actions_before_explicit_stage () |
virtual void | actions_after_explicit_stage () |
Public Attributes | |
HorizontalSingleLayerSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Access function for the specific mesh. More... | |
Mesh * | Interface_mesh_pt |
Mesh for the free surface (interface) elements. More... | |
SingleLayerSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Access function for the specific mesh. More... | |
Mesh * | Surface_mesh_pt |
Mesh for the interface elements. More... | |
MyHorizontalSingleLayerSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Access function for the specific mesh. More... | |
ElasticRectangularQuadMesh< ELEMENT > * | Bulk_mesh_pt |
Access function for the specific mesh. More... | |
![]() | |
bool | Shut_up_in_newton_solve |
Private Member Functions | |
void | deform_free_surface (const double &epsilon) |
Deform the mesh/free surface to a prescribed function. More... | |
void | deform_free_surface (const double &epsilon, const double &k) |
Deform the mesh/free surface to a prescribed function. More... | |
void | actions_before_newton_solve () |
No actions required before solve step. More... | |
void | actions_after_newton_solve () |
No actions required after solve step. More... | |
void | actions_before_implicit_timestep () |
void | actions_before_adapt () |
Strip off the interface elements before adapting the bulk mesh. More... | |
void | actions_after_adapt () |
Rebuild the mesh of interface elements after adapting the bulk mesh. More... | |
void | create_interface_elements () |
Create the 1d interface elements. More... | |
void | delete_interface_elements () |
Delete the 1d interface elements. More... | |
void | deform_free_surface (const double &epsilon, const double &k) |
Deform the mesh/free surface to a prescribed function. More... | |
void | fix_pressure (const unsigned &e, const unsigned &pdof, const double &pvalue) |
Fix pressure in element e at pressure dof pdof and set to pvalue. More... | |
void | actions_before_newton_convergence_check () |
void | actions_before_newton_solve () |
No actions required before solve step. More... | |
void | actions_after_newton_solve () |
void | deform_free_surface (const double &epsilon, const double &k) |
Deform the mesh/free surface to a prescribed function. More... | |
void | fix_pressure (const unsigned &e, const unsigned &pdof, const double &pvalue) |
Fix pressure in element e at pressure dof pdof and set to pvalue. More... | |
void | deform_free_surface (const double &epsilon) |
Deform the mesh/free surface to a prescribed function. More... | |
void | deform_free_surface (const double &epsilon) |
Deform the mesh/free surface to a prescribed function. More... | |
void | actions_before_newton_solve () |
No actions required before solve step. More... | |
void | actions_after_newton_solve () |
No actions required after solve step. More... | |
void | actions_before_implicit_timestep () |
void | deform_free_surface (const double &epsilon, const unsigned &n_periods) |
Deform the mesh/free surface to a prescribed function. More... | |
void | actions_before_newton_convergence_check () |
void | actions_before_newton_solve () |
No actions required before solve step. More... | |
void | actions_after_newton_solve () |
void | deform_free_surface (const double &epsilon, const unsigned &n_periods) |
Deform the mesh/free surface to a prescribed function. More... | |
void | actions_before_newton_solve () |
No actions required before solve step. More... | |
void | actions_after_newton_solve () |
No actions required after solve step. More... | |
void | actions_before_implicit_timestep () |
void | actions_before_adapt () |
Strip off the interface elements before adapting the bulk mesh. More... | |
void | actions_after_adapt () |
Rebuild the mesh of interface elements after adapting the bulk mesh. More... | |
void | create_interface_elements () |
Create the 1d interface elements. More... | |
void | delete_interface_elements () |
Delete the 1d interface elements. More... | |
void | deform_free_surface (const double &epsilon, const unsigned &n_periods) |
Deform the mesh/free surface to a prescribed function. More... | |
void | fix_pressure (const unsigned &e, const unsigned &pdof, const double &pvalue) |
Fix pressure in element e at pressure dof pdof and set to pvalue. More... | |
void | actions_before_newton_convergence_check () |
void | actions_before_newton_solve () |
No actions required before solve step. More... | |
void | actions_after_newton_solve () |
void | deform_free_surface (const double &epsilon, const unsigned &n_periods) |
Deform the mesh/free surface to a prescribed function. More... | |
void | fix_pressure (const unsigned &e, const unsigned &pdof, const double &pvalue) |
Fix pressure in element e at pressure dof pdof and set to pvalue. More... | |
Private Attributes | |
ofstream | Trace_file |
Trace file. More... | |
double | Lr |
Width of domain. More... | |
double | Height |
Height of the domain. More... | |
ElasticRefineableTwoLayerMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the (specific) "bulk" mesh. More... | |
ConstitutiveLaw * | Constitutive_law_pt |
Pointer to the constitutive law. More... | |
TwoLayerSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the specific bulk mesh. More... | |
double | R_max |
Axial lengths of domain. More... | |
double | L_y |
AnnularSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to bulk mesh. More... | |
Node * | Document_node_pt |
Pointer to a node for documentation purposes. More... | |
double | Lx |
Width of domain. More... | |
double | Ly |
SingleLayerCubicSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to bulk mesh. More... | |
Single axisymmetric fluid interface problem in rectangular domain.
Single fluid interface problem.
Axisymmetric two fluid interface problem in a rectangular domain.
/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
Single fluid interface problem including transport of an insoluble surfactant.
Single axisymmetric fluid interface problem including the transport of an insoluble surfactant.
Single axisymmetric fluid interface problem including the transport of an soluble surfactant.
/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// Single fluid free surface problem in a rectangular domain which is periodic in the x direction
/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// Two fluid interface problem in a rectangular domain which is periodic in the x direction
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_z, | ||
const double & | l_r, | ||
const double & | h | ||
) |
Constructor for single fluid interface problem.
Constructor for single fluid free surface problem.
Constructor: Pass the number of elements and the lengths of the domain in the r and z directions (h is the height of the fluid layer i.e. the length of the domain in the z direction)
References oomph::Mesh::add_element_pt(), oomph::Problem::add_sub_mesh(), oomph::Problem::add_time_stepper_pt(), oomph::Problem::assign_eqn_numbers(), b, oomph::Problem::build_global_mesh(), InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt, Global_Physical_Variables::Ca, oomph::FluidInterfaceElement::ca_pt(), e(), oomph::Mesh::element_pt(), Global_Physical_Variables::G, InterfaceProblem< ELEMENT, TIMESTEPPER >::Interface_mesh_pt, n, oomph::Mesh::nelement(), Global_Physical_Variables::P_ext, oomph::Data::pin(), Global_Physical_Variables::Re, Global_Physical_Variables::ReInvFr, Global_Physical_Variables::ReSt, oomph::FluidInterfaceElement::set_external_pressure_data(), oomph::Data::set_value(), and oomph::Problem::time_stepper_pt().
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_z, | ||
const double & | l_r, | ||
const double & | h | ||
) |
Constructor: Pass the number of elements and the lengths of the domain in the r and z directions (h is the height of the fluid layer i.e. the length of the domain in the z direction)
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem |
Constructor.
Constructor for two fluid interface problem.
Constructor for axisymmetric two fluid interface problem.
References b, Constitutive::Constitutive_law_pt, Global_Physical_Variables::Density_Ratio, e(), Global_Physical_Variables::G, Global_Parameters::Lr, n, Global_Physical_Variables::Nu, Global_Physical_Variables::Re, Global_Physical_Variables::ReInvFr, Global_Physical_Variables::ReSt, and Global_Physical_Variables::Viscosity_Ratio.
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_z1, | ||
const unsigned & | n_z2, | ||
const double & | l_r, | ||
const double & | h1, | ||
const double & | h2 | ||
) |
Constructor for axisymmetric two fluid interface problem.
Constructor for two fluid interface problem.
Problem constructor.
Constructor: Pass the number of elements and the width of the domain in the r direction. Also pass the number of elements in the z direction of the bottom (fluid 1) and top (fluid 2) layers, along with the heights of both layers.
References oomph::Mesh::add_element_pt(), oomph::Problem::add_sub_mesh(), oomph::Problem::add_time_stepper_pt(), oomph::Problem::assign_eqn_numbers(), b, oomph::Problem::build_global_mesh(), InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt, Global_Physical_Variables::Ca, oomph::FluidInterfaceElement::ca_pt(), Global_Physical_Variables::Density_Ratio, e(), oomph::Mesh::element_pt(), InterfaceProblem< ELEMENT, TIMESTEPPER >::fix_pressure(), Global_Physical_Variables::G, i, n, oomph::Mesh::nelement(), Global_Physical_Variables::Re, Global_Physical_Variables::ReInvFr, Global_Physical_Variables::ReSt, InterfaceProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions(), Global_Physical_Variables::St, InterfaceProblem< ELEMENT, TIMESTEPPER >::Surface_mesh_pt, oomph::Problem::time_stepper_pt(), and Global_Physical_Variables::Viscosity_Ratio.
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_y, | ||
const unsigned & | n_theta, | ||
const double & | r_min, | ||
const double & | r_max, | ||
const double & | l_y, | ||
const double & | theta_max | ||
) |
Problem constructor.
Constructor: Pass number of elements in x and y directions. Also lengths of the domain in x- and y-directions and the height of the layer
References oomph::Mesh::add_element_pt(), oomph::Problem::add_sub_mesh(), oomph::Problem::add_time_stepper_pt(), oomph::Problem::assign_eqn_numbers(), b, Global_Physical_Variables::Beta, oomph::SurfactantTransportInterfaceElement::beta_pt(), oomph::Problem::build_global_mesh(), InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt, Global_Physical_Variables::Ca, oomph::FluidInterfaceElement::ca_pt(), InterfaceProblem< ELEMENT, TIMESTEPPER >::Document_node_pt, e(), oomph::Mesh::element_pt(), Eigen::placeholders::end, Global_Physical_Variables::G, i, oomph::Problem::mesh_pt(), n, oomph::Mesh::nelement(), Global_Physical_Variables::Peclet_S, oomph::SurfactantTransportInterfaceElement::peclet_s_pt(), Global_Physical_Variables::Peclet_St_S, oomph::SurfactantTransportInterfaceElement::peclet_strouhal_s_pt(), oomph::Data::pin(), BiharmonicTestFunctions2::r_max, BiharmonicTestFunctions2::r_min, Global_Physical_Variables::Re, Global_Physical_Variables::ReInvFr, Global_Physical_Variables::ReSt, oomph::FluidInterfaceElement::set_external_pressure_data(), oomph::Data::set_value(), InterfaceProblem< ELEMENT, TIMESTEPPER >::Surface_mesh_pt, and oomph::Problem::time_stepper_pt().
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_z, | ||
const double & | l_z | ||
) |
Constructor for single fluid interface problem.
Constructor: Pass the number of elements in radial and axial directions and the length of the domain in the z direction)
References b, Global_Physical_Variables::Beta, oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::beta_pt(), oomph::Global_Physical_Variables::Ca, oomph::FluidInterfaceElement::ca_pt(), e(), Global_Physical_Variables::G, n, oomph::Mesh::nboundary_element(), Global_Physical_Variables::P_ext, Global_Physical_Variables::Peclet_S, oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::peclet_s_pt(), Global_Physical_Variables::Peclet_St_S, oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::peclet_strouhal_s_pt(), oomph::Data::pin(), oomph::Global_Physical_Variables::Re, oomph::Global_Physical_Variables::ReInvFr, Global_Physical_Variables::ReSt, oomph::FluidInterfaceElement::set_external_pressure_data(), and oomph::Data::set_value().
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_z, | ||
const double & | l_z | ||
) |
Constructor: Pass the number of elements in radial and axial directions and the length of the domain in the z direction)
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_x, |
const unsigned & | n_y, | ||
const double & | l_x, | ||
const double & | h | ||
) |
Constructor: Pass the number of elements and the lengths of the domain in the x and y directions (h is the height of the fluid layer i.e. the length of the domain in the y direction)
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_x, |
const unsigned & | n_y, | ||
const double & | l_x, | ||
const double & | h | ||
) |
Constructor: Pass the number of elements and the lengths of the domain in the x and y directions (h is the height of the fluid layer i.e. the length of the domain in the y direction)
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | Nx, |
const unsigned & | Ny, | ||
const unsigned & | Nz, | ||
const double & | Lx, | ||
const double & | Ly, | ||
const double & | h | ||
) |
Constructor: Pass number of elements in x and y directions. Also lengths of the domain in x- and y-directions and the height of the layer
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | ) |
Constructor.
|
inline |
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_x, |
const unsigned & | n_y1, | ||
const unsigned & | n_y2, | ||
const double & | l_x, | ||
const double & | h1, | ||
const double & | h2 | ||
) |
Constructor: Pass the number of elements and the width of the domain in the x direction. Also pass the number of elements in the y direction of the bottom (fluid 1) and top (fluid 2) layers, along with the heights of both layers.
|
inline |
|
privatevirtual |
Rebuild the mesh of interface elements after adapting the bulk mesh.
Reimplemented from oomph::Problem.
References n.
|
privatevirtual |
Rebuild the mesh of interface elements after adapting the bulk mesh.
Reimplemented from oomph::Problem.
|
inlinevirtual |
Update after solve can remain empty, because the update is performed automatically after every Newton step.
Reimplemented from oomph::Problem.
|
inlinevirtual |
Update after solve can remain empty, because the update is performed automatically after every Newton step.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
|
inlineprivatevirtual |
Update after solve can remain empty, because the update is performed automatically after every Newton step.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
|
inlineprivatevirtual |
Update after solve can remain empty, because the update is performed automatically after every Newton step.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
|
inlineprivatevirtual |
Update after solve can remain empty, because the update is performed automatically after every Newton step.
Reimplemented from oomph::Problem.
|
privatevirtual |
Strip off the interface elements before adapting the bulk mesh.
Reimplemented from oomph::Problem.
|
privatevirtual |
Strip off the interface elements before adapting the bulk mesh.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
Actions before the timestep: For maximum stability, reset the current nodal positions to be the "stress-free" ones.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
Actions before the timestep: For maximum stability, reset the current nodal positions to be the "stress-free" ones.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
Actions before the timestep: For maximum stability, reset the current nodal positions to be the "stress-free" ones.
Reimplemented from oomph::Problem.
|
inlinevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here.
Reimplemented from oomph::Problem.
|
inlinevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here.
Reimplemented from oomph::Problem.
|
inlinevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them
Reimplemented from oomph::Problem.
|
inlinevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here.
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here.
Reimplemented from oomph::Problem.
References oomph::SpineMesh::node_update().
|
inlinevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here.
Reimplemented from oomph::Problem.
|
inlinevirtual |
Any actions that are to be performed before a complete Newton solve (e.g. adjust boundary conditions). CAREFUL: This step should (and if the FD-based LinearSolver FD_LU is used, must) only update values that are pinned!
Reimplemented from oomph::Problem.
|
inlinevirtual |
Any actions that are to be performed before a complete Newton solve (e.g. adjust boundary conditions). CAREFUL: This step should (and if the FD-based LinearSolver FD_LU is used, must) only update values that are pinned!
Reimplemented from oomph::Problem.
|
inlineprivatevirtual |
|
inlineprivatevirtual |
|
inlineprivatevirtual |
|
inlineprivatevirtual |
|
inlineprivatevirtual |
|
inlineprivatevirtual |
|
inline |
Compute the total mass.
References e(), and oomph::SurfactantTransportInterfaceElement::integrate_c().
|
inline |
Compute the total mass of the insoluble surfactant.
References e(), oomph::Mesh::element_pt(), oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::integrate_c(), and oomph::Mesh::nelement().
|
inline |
Compute the total mass of the insoluble surfactant.
References e(), oomph::Mesh::element_pt(), oomph::SurfactantTransportInterfaceElement::integrate_c(), and oomph::Mesh::nelement().
|
private |
Create the 1d interface elements.
Create interface elements between the two fluids in the mesh pointed to by Bulk_mesh_pt and add the elements to the Mesh object pointed to by Surface_mesh_pt.
References Global_Physical_Variables::Ca, oomph::FluidInterfaceElement::ca_pt(), e(), Global_Physical_Variables::St, oomph::FluidInterfaceElement::st_pt(), and Global_Physical_Variables::Viscosity_Ratio.
|
private |
Create the 1d interface elements.
|
inlineprivate |
Deform the mesh/free surface to a prescribed function.
References oomph::Mesh::boundary_node_pt(), cos(), oomph::SarahBL::epsilon, GlobalParameters::Height, oomph::Spine::height(), i, Global_Parameters::Lr, oomph::SpineMesh::node_update(), oomph::SpineMesh::nspine(), BiharmonicTestFunctions2::Pi, oomph::SpineMesh::spine_pt(), and oomph::Node::x().
|
inlineprivate |
Deform the mesh/free surface to a prescribed function.
References Global_Physical_Variables::Alpha, oomph::Mesh::boundary_node_pt(), cos(), oomph::SarahBL::epsilon, Global_Physical_Variables::Film_Thickness, oomph::Spine::height(), i, oomph::SpineMesh::node_update(), oomph::SpineMesh::nspine(), oomph::SpineMesh::spine_pt(), and oomph::Node::x().
|
inlineprivate |
Deform the mesh/free surface to a prescribed function.
References Global_Physical_Variables::Alpha, cos(), oomph::SarahBL::epsilon, Global_Physical_Variables::Film_Thickness, n, oomph::Mesh::nnode(), oomph::SolidMesh::node_pt(), UniformPSDSelfTest::r, oomph::SolidMesh::set_lagrangian_nodal_coordinates(), and oomph::Node::x().
|
inlineprivate |
Deform the mesh/free surface to a prescribed function.
References CRBond_Bessel::bessjy01a(), oomph::Mesh::boundary_node_pt(), oomph::SarahBL::epsilon, oomph::Spine::height(), i, k, oomph::SpineMesh::node_update(), oomph::SpineMesh::nspine(), oomph::SpineMesh::spine_pt(), and oomph::Node::x().
|
private |
Deform the mesh/free surface to a prescribed function.
|
private |
Deform the mesh/free surface to a prescribed function.
|
private |
Deform the mesh/free surface to a prescribed function.
References cos(), oomph::SarahBL::epsilon, boost::multiprecision::fabs(), Global_Parameters::Lx, n, and BiharmonicTestFunctions2::Pi.
|
private |
Deform the mesh/free surface to a prescribed function.
|
private |
Deform the mesh/free surface to a prescribed function.
|
private |
Deform the mesh/free surface to a prescribed function.
|
private |
Delete the 1d interface elements.
Delete the interface elements and wipe the surface mesh.
References e().
|
private |
Delete the 1d interface elements.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Document the solution.
References oomph::DocInfo::directory(), Particles2023AnalysisHung::file_name, MergeRestartFiles::filename, oomph::DocInfo::number(), Global_Physical_Variables::Pvd_file, plotPSD::t, oomph::StringConversion::to_string(), oomph::Problem_Parameter::Trace_file, and oomph::ParaviewHelper::write_pvd_information().
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Document the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Document the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Document the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
|
inlineprivate |
Fix pressure in element e at pressure dof pdof and set to pvalue.
References e().
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlinevirtual |
The global temporal error norm, based on the movement of the nodes in the radial direction only (because that's the only direction in which they move!)
Reimplemented from oomph::Problem.
References calibrate::error, i, n, and sqrt().
|
inlinevirtual |
The global temporal error norm, based on the movement of the nodes in the radial direction only (because that's the only direction in which they move!)
Reimplemented from oomph::Problem.
References calibrate::error, i, n, and sqrt().
void InterfaceProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions |
Set boundary conditions.
Set boundary conditions: Set all velocity components to zero on the top and bottom (solid) walls and the radial and azimuthal components only to zero on the side boundaries
Set boundary conditions: Set both velocity components to zero on the bottom (solid) wall and the horizontal component only to zero on the side (periodic) boundaries
Set boundary conditions: Set both velocity components to zero on the top and bottom (solid) walls and the horizontal component only to zero on the side (periodic) boundaries
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
void InterfaceProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions | ( | ) |
Set boundary conditions.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions | ( | ) |
Set boundary conditions.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions | ( | ) |
Set boundary conditions.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions | ( | ) |
Set boundary conditions.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions | ( | ) |
Set boundary conditions.
|
inlinevirtual |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities and nodal positions to correspond to an impulsive start
Reimplemented from oomph::Problem.
|
inlinevirtual |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start
Reimplemented from oomph::Problem.
|
virtual |
Set initial conditions.
Reimplemented from oomph::Problem.
|
virtual |
Set initial conditions.
Reimplemented from oomph::Problem.
|
inlinevirtual |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start
Reimplemented from oomph::Problem.
|
inlinevirtual |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start
Reimplemented from oomph::Problem.
|
virtual |
Set initial conditions.
Reimplemented from oomph::Problem.
|
virtual |
Set initial conditions.
Reimplemented from oomph::Problem.
|
virtual |
Set initial conditions.
Reimplemented from oomph::Problem.
|
virtual |
Set initial conditions.
Reimplemented from oomph::Problem.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
Perform run up to specified time t_max with given timestep dt.
References oomph::DocInfo::directory(), Global_Physical_Variables::Epsilon, oomph::SarahBL::epsilon, MergeRestartFiles::filename, oomph::DocInfo::number(), Global_Physical_Variables::Pvd_file, oomph::DocInfo::set_directory(), plotPSD::t, oomph::Problem_Parameter::Trace_file, oomph::ParaviewHelper::write_pvd_footer(), and oomph::ParaviewHelper::write_pvd_header().
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const unsigned & | nstep | ) |
Run an unsteady simulation with specified number of steps.
Unsteady run with specified number of steps.
References Global_Physical_Variables::Alpha, cos(), oomph::DocInfo::directory(), Global_Physical_Variables::Epsilon, oomph::SarahBL::epsilon, MergeRestartFiles::filename, Global_Physical_Variables::Film_Thickness, i, oomph::DocInfo::number(), oomph::DocInfo::set_directory(), plotPSD::t, and oomph::Problem_Parameter::Trace_file.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const unsigned & | nstep | ) |
Run an unsteady simulation with specified number of steps.
TwoLayerSpineMesh< ELEMENT > * InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt |
Access function for the specific mesh.
Pointer to the specific bulk mesh.
The bulk fluid mesh, complete with spines and update information.
Pointer to the (specific) "bulk" mesh.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
SingleLayerSpineMesh<ELEMENT>* InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt |
Access function for the specific mesh.
The bulk fluid mesh, complete with spines and update information.
|
private |
Pointer to the (specific) "bulk" mesh.
|
private |
Pointer to the specific bulk mesh.
|
private |
Pointer to bulk mesh.
MyHorizontalSingleLayerSpineMesh<ELEMENT>* InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt |
Access function for the specific mesh.
ElasticRectangularQuadMesh<ELEMENT>* InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt |
Access function for the specific mesh.
Pointer to the (specific) "bulk" mesh.
|
private |
Pointer to bulk mesh.
|
private |
Pointer to the constitutive law.
|
private |
Pointer to a node for documentation purposes.
Node for documentatin.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
private |
Height of the domain.
Mesh * InterfaceProblem< ELEMENT, TIMESTEPPER >::Interface_mesh_pt |
Mesh for the free surface (interface) elements.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
private |
|
private |
Width of domain.
|
private |
Width of domain.
Axial lengths of domain.
|
private |
|
private |
Axial lengths of domain.
Mesh * InterfaceProblem< ELEMENT, TIMESTEPPER >::Surface_mesh_pt |
Mesh for the interface elements.
The mesh that contains the free surface elements.
Pointer to the surface mes.
Pointer to the surface mesh.
Pointer to the "surface" mesh.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
private |
Trace file.