@@ -627,13 +627,10 @@ void StokesProblem<dim>::assemble_system() {
627
627
A_Grav_namespace::AnalyticGravity<dim> * aGrav =
628
628
new A_Grav_namespace::AnalyticGravity<dim>;
629
629
std::vector<double > grav_parameters;
630
- grav_parameters.push_back (system_parameters::q_axes[system_parameters::present_timestep + 0 ]);
631
- grav_parameters.push_back (system_parameters::p_axes[system_parameters::present_timestep + 0 ]);
632
- // Note these two core dimensions are fixed to the outer shell and are temporary until a core fitting routine can be re-made
633
- grav_parameters.push_back (system_parameters::q_axes[system_parameters::present_timestep + 0 ]-system_parameters::depths_rho[0 ]);
634
- grav_parameters.push_back (system_parameters::p_axes[system_parameters::present_timestep + 0 ]-system_parameters::depths_rho[0 ]);
635
- // grav_parameters.push_back(system_parameters::q_axes[1]);
636
- // grav_parameters.push_back(system_parameters::p_axes[1]);
630
+ grav_parameters.push_back (system_parameters::q_axes[system_parameters::present_timestep * 2 + 0 ]);
631
+ grav_parameters.push_back (system_parameters::p_axes[system_parameters::present_timestep * 2 + 0 ]);
632
+ grav_parameters.push_back (system_parameters::q_axes[system_parameters::present_timestep * 2 + 1 ]);
633
+ grav_parameters.push_back (system_parameters::p_axes[system_parameters::present_timestep * 2 + 1 ]);
637
634
grav_parameters.push_back (system_parameters::rho[0 ]);
638
635
grav_parameters.push_back (system_parameters::rho[1 ]);
639
636
@@ -1531,12 +1528,17 @@ void StokesProblem<dim>::move_mesh() {
1531
1528
1532
1529
// Find ellipsoidal axes for all layers
1533
1530
std::vector<double > ellipse_axes (0 );
1534
- // compute fit to outer boundary
1535
- ellipsoid.compute_fit (ellipse_axes, system_parameters::material_id[0 ]);
1536
- system_parameters::q_axes.push_back (ellipse_axes[0 ]);
1537
- system_parameters::p_axes.push_back (ellipse_axes[1 ]);
1538
- std::cout << " a = " << ellipse_axes[0 ] << " c = " << ellipse_axes[1 ] << std::endl;
1539
- ellipse_axes.clear ();
1531
+ // compute fit to boundary 0, 1, 2 ...
1532
+ for (unsigned int i = 0 ; i<system_parameters::sizeof_material_id;i++)
1533
+ {
1534
+ ellipsoid.compute_fit (ellipse_axes, system_parameters::material_id[i]);
1535
+ system_parameters::q_axes.push_back (ellipse_axes[0 ]);
1536
+ system_parameters::p_axes.push_back (ellipse_axes[1 ]);
1537
+
1538
+ std::cout << " a_" << system_parameters::material_id[i] <<" = " << ellipse_axes[0 ]
1539
+ << " " << " c_" << system_parameters::material_id[i] <<" = " << ellipse_axes[1 ] << std::endl;
1540
+ ellipse_axes.clear ();
1541
+ }
1540
1542
write_vertices (0 );
1541
1543
}
1542
1544
@@ -1724,12 +1726,18 @@ void StokesProblem<dim>::setup_initial_mesh() {
1724
1726
1725
1727
// Find ellipsoidal axes for all layers
1726
1728
std::vector<double > ellipse_axes (0 );
1727
- // compute fit to outer boundary
1728
- ellipsoid.compute_fit (ellipse_axes, system_parameters::material_id[0 ]);
1729
- system_parameters::q_axes.push_back (ellipse_axes[0 ]);
1730
- system_parameters::p_axes.push_back (ellipse_axes[1 ]);
1731
- std::cout << " a = " << ellipse_axes[0 ] << " c = " << ellipse_axes[1 ] << std::endl;
1732
- ellipse_axes.clear ();
1729
+ // compute fit to boundary 0, 1, 2 ...
1730
+ std::cout << endl;
1731
+ for (unsigned int i = 0 ; i<system_parameters::sizeof_material_id;i++)
1732
+ {
1733
+ ellipsoid.compute_fit (ellipse_axes, system_parameters::material_id[i]);
1734
+ system_parameters::q_axes.push_back (ellipse_axes[0 ]);
1735
+ system_parameters::p_axes.push_back (ellipse_axes[1 ]);
1736
+
1737
+ std::cout << " a_" << system_parameters::material_id[i] <<" = " << ellipse_axes[0 ]
1738
+ << " " << " c_" << system_parameters::material_id[i] <<" = " << ellipse_axes[1 ] << std::endl;
1739
+ ellipse_axes.clear ();
1740
+ }
1733
1741
write_vertices (0 );
1734
1742
}
1735
1743
0 commit comments