30 #ifndef OOMPH_COMMON_YOUNG_LAPLACE_STUFF_DOC    31 #define OOMPH_COMMON_YOUNG_LAPLACE_STUFF_DOC    64  double Gamma = MathematicalConstants::Pi/4.0;
   111  double Alpha_min = MathematicalConstants::Pi/2.0;
   114  double Alpha_max = MathematicalConstants::Pi/2.0;
   137   if ((N_x%2!=0)||(N_y%2!=0))
   139     cout << 
"n_x n_y should even" << endl;
   144   Control_element=N_y*N_x/2+N_x/2;
   155     Alpha_min=MathematicalConstants::Pi/2.0;
   156     Alpha_max=MathematicalConstants::Pi/2.0*0.5;
   157     Rotate_spines_in_both_directions=
true;
   162     Alpha_min=MathematicalConstants::Pi/2.0*1.5;
   163     Alpha_max=MathematicalConstants::Pi/2.0*0.5;
   164     Rotate_spines_in_both_directions=
true;
   169     Alpha_min=MathematicalConstants::Pi/2.0*1.5;
   170     Alpha_max=MathematicalConstants::Pi/2.0*0.5;
   171     Rotate_spines_in_both_directions=
false;
   176     Alpha_min=MathematicalConstants::Pi/2.0*1.5;
   177     Alpha_max=MathematicalConstants::Pi/2.0*0.5;
   178     Rotate_spines_in_both_directions=
false;
   182     std::cout << 
"Never get here: Case = " << Case << std::endl;
   187   Cos_gamma = cos(Gamma);
   200                           Vector<double>& spine_B, 
   201                           Vector< Vector<double> >& dspine_B)
   208   dspine_B[0][0] = 1.0 ;
   209   dspine_B[1][0] = 0.0 ;
   210   dspine_B[0][1] = 0.0 ; 
   211   dspine_B[1][1] = 1.0 ;
   212   dspine_B[0][2] = 0.0 ;
   213   dspine_B[1][2] = 0.0 ;
   222                      Vector<double>& spine, 
   223                      Vector< Vector<double> >& dspine)
   227   Vector<double> x(2,0.0);
   232   if (!Rotate_spines_in_both_directions)
   240     spine[1]=cos(Alpha_min+(Alpha_max-Alpha_min)*x[1]);     
   242     dspine[1][1]=-sin(Alpha_min+(Alpha_max-Alpha_min)*x[1])
   245     spine[2]=sin(Alpha_min+(Alpha_max-Alpha_min)*x[1]);     
   247     dspine[1][2]=cos(Alpha_min+(Alpha_max-Alpha_min)*x[1]) 
   253    spine[0]=cos(Alpha_min+(Alpha_max-Alpha_min)*x[0]);      
   254    dspine[0][0]=-sin(Alpha_min+(Alpha_max-Alpha_min)*x[0])*
   258    spine[1]=cos(Alpha_min+(Alpha_max-Alpha_min)*x[1]);      
   260    dspine[1][1]=-sin(Alpha_min+(Alpha_max-Alpha_min)*x[1])*
   275    if (Use_height_control)
   282        return 4.0*Controlled_height/
   283         (Controlled_height*Controlled_height+1.0);
   289        return 2.0*Controlled_height/
   290         (Controlled_height*Controlled_height+L_y*L_y/4.0);
   294        std::cout << 
"No exact solution for this case..." << std::endl;
 
double L_x
Length and width of the domain. 
double Controlled_height
Height control value. 
bool Rotate_spines_in_both_directions
Should the spines rotate in the x and y directions (true)? 
double Alpha_min
Min. spine angle against horizontal plane. 
unsigned Nsteps
Number of steps. 
void spine_function(const Vector< double > &x, Vector< double > &spine, Vector< Vector< double > > &dspine)
Spine: The spine vector field as a function of the two coordinates x_1 and x_2, and its derivatives w...
Namespace for "global" problem parameters. 
Data * Kappa_pt
Pointer to Data object that stores the prescribed curvature. 
unsigned N_x
Number of elements in the mesh. 
double Gamma
Contact angle and its cos (dependent parameter – is reassigned) 
void spine_base_function(const Vector< double > &x, Vector< double > &spine_B, Vector< Vector< double > > &dspine_B)
Spine basis: The position vector to the basis of the spine as a function of the two coordinates x_1 a...
bool Use_spines
Use spines (true) or not (false) 
void setup_dependent_parameters_and_sanity_check()
Setup dependent parameters and perform sanity check. 
double Cos_gamma
Cos of contact angle. 
double Alpha_max
Max. spine angle against horizontal plane. 
double L_y
Width of domain. 
int Case
What case are we considering: Choose one from the enumeration Cases. 
int Step_sign
Increase or decrease the value of the control parameters? 
double Kappa_increment
Increment for prescribed curvature. 
double Beta_min
Min. second spine angle against horizontal plane. 
double Beta_max
Max. second pine angle against horizontal plane. 
Cases
Enumeration for the possible cases. 
double get_exact_kappa()
Exact kappa. 
bool Use_height_control
Use height control (true) or not (false)? 
double Kappa_initial
Initial value for kappa. 
double Controlled_height_increment
Increment for height control.