Driver code.
///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
4619 FiniteElement::Accept_negative_jacobian=
true;
4659 #ifdef STRUCTURED_MESH
4682 problem.assign_initial_values_impulsive();
4684 double max_residuals = 100;
4685 problem.max_residuals() = max_residuals;
4686 unsigned max_iterations = 10;
4691 unsigned max_adapt=1;
4702 for(
unsigned i=0;
i<nstep;
i++)
4708 #ifdef STRUCTURED_MESH
4724 oomph_info <<
"Re-solving for prescr displ amplitude = "
4725 << ampl << std::endl;
4730 problem.unsteady_newton_solve(dt,max_adapt,first);
4737 #ifdef STRUCTURED_MESH
4756 for (
unsigned i=0;
i<nstep;
i++)
4761 oomph_info <<
"Re-solving imposed circle pos for yc="
4770 max_iterations = 10;
4771 problem.max_newton_iterations() = max_iterations;
4772 problem.unsteady_newton_solve(dt);
4777 max_iterations = 100;
4778 problem.max_newton_iterations() = max_iterations;
4779 problem.enable_globally_convergent_newton_method();
4780 problem.unsteady_newton_solve(dt,
false);
4781 problem.disable_globally_convergent_newton_method();
4817 problem.switch_to_displ_control();
4820 for (
unsigned i=0;
i<nstep;
i++)
4834 max_residuals = 100;
4837 max_iterations = 10;
4838 problem.max_newton_iterations() = max_iterations;
4840 problem.newton_solve(max_adapt);
4846 max_iterations = 100;
4847 problem.max_newton_iterations() = max_iterations;
4850 problem.enable_globally_convergent_newton_method();
4851 problem.newton_solve(max_adapt);
4852 problem.disable_globally_convergent_newton_method();
4862 problem.switch_to_force_control();
4871 <<
" and horizontal force: "
4884 max_iterations = 10;
4885 problem.max_newton_iterations() = max_iterations;
4887 problem.unsteady_newton_solve(dt);
4893 max_iterations = 100;
4894 problem.max_newton_iterations() = max_iterations;
4897 problem.enable_globally_convergent_newton_method();
4898 problem.unsteady_newton_solve(dt,
false);
4899 problem.disable_globally_convergent_newton_method();
4937 double d_lift_off_ampl=0.0001;
4938 for (
unsigned i=0;
i<nstep;
i++)
4941 double lift_off=0.0;
4943 #ifdef STRUCTURED_MESH
4962 lift_off_amplitude();
4970 <<
" and horizontal force: "
4973 <<
" and lift off: "
4980 max_residuals = 100;
4981 max_iterations = 10;
4982 problem.max_newton_iterations() = max_iterations;
4983 problem.max_residuals() = max_residuals;
4984 problem.newton_solve(max_adapt);
4989 max_iterations = 100;
4990 problem.max_newton_iterations() = max_iterations;
4991 problem.enable_globally_convergent_newton_method();
4992 problem.newton_solve(max_adapt);
4993 problem.disable_globally_convergent_newton_method();
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Definition: heated_linear_solid_contact_with_gravity.cc:2167
double radius() const
Return radius.
Definition: heated_linear_solid_contact_with_gravity.cc:2052
double y_c() const
Return y coordinate of centre.
Definition: heated_linear_solid_contact_with_gravity.cc:2059
double & lift_off_amplitude()
Lift off amplitude.
Definition: heated_linear_solid_contact_with_gravity.cc:2088
double & ampl()
Access to amplitude.
Definition: heated_linear_solid_contact_with_gravity.cc:2066
Definition: constitutive_laws.h:699
Heated circular penetrator.
Definition: contact_elements.h:392
Definition: oomph_definitions.h:222
Linear heat and elasticity upgraded to become projectable.
Definition: heated_linear_solid_contact_with_gravity.cc:368
Definition: pseudosolid_node_update_elements.h:58
Refineable version of the PseudoSolidNodeUpdateELement.
Definition: pseudosolid_node_update_elements.h:585
Class for refineable QLinearElasticityElement elements.
Definition: refineable_linear_elasticity_elements.h:197
Class for refineable QPVDElement elements.
Definition: refineable_solid_elements.h:181
Definition: solid_elements.h:1756
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
WarpedLine Boundary_geom_object(0.0)
GeomObject specifying the shape of the boundary: Initially it's flat.
WarpedLine Boundary_geom_object_contact(1.0e-10, X_contact_end_left, X_contact_end_right)
Penetrator * Penetrator_pt
Penetrator.
Definition: circular_boulder_melt.cc:88
WarpedLine Boundary_geom_object_right(1.0e-10, X_contact_end_right, 1.0)
double Horizontal_force
Horizontal force of penetrator.
Definition: heated_linear_solid_contact_with_gravity.cc:2841
double El_area
Initial/max element area.
Definition: heated_linear_solid_contact_with_gravity.cc:2857
Vector< double > Centre
Position of centre of penetrator.
Definition: circular_boulder_melt.cc:85
WarpedLine Boundary_geom_object_left(1.0e-10, 0.0, X_contact_end_left)
double T_contact
hierher
Definition: heated_linear_solid_contact_with_gravity.cc:2782
double Radius
Radius of penetrator.
Definition: circular_boulder_melt.cc:79
double Nu
Poisson's ratio.
Definition: unstructured_two_d_curved.cc:65
bool Impose_position_of_centre
Definition: heated_linear_solid_contact_with_gravity.cc:2815
double Y_c
... OR THESE...
Definition: heated_linear_solid_contact_with_gravity.cc:2846
ConstitutiveLaw * Constitutive_law_pt
Pointer to constitutive law.
Definition: circular_boulder_melt.cc:76
int error
Definition: calibrate.py:297
bool command_line_flag_has_been_set(const std::string &flag)
Definition: oomph_utilities.cc:501
void specify_command_line_flag(const std::string &command_line_flag, const std::string &doc)
Specify possible argument-free command line flag.
Definition: oomph_utilities.cc:451
void parse_and_assign(int argc, char *argv[], const bool &throw_on_unrecognised_args)
Definition: oomph_utilities.cc:760
void doc_specified_flags()
Document specified command line flags.
Definition: oomph_utilities.cc:610
OomphInfo oomph_info
Definition: oomph_definitions.cc:319
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213