@@ -39,6 +39,7 @@ ComputationalDomain<dim>::ComputationalDomain(MPI_Comm comm)
3939 mpi_communicator (comm),
4040 n_mpi_processes (Utilities::MPI ::n_mpi_processes(mpi_communicator)),
4141 this_mpi_process (Utilities::MPI ::this_mpi_process(mpi_communicator)),
42+ used_spherical_manifold(false ),
4243 pcout(std::cout)
4344
4445{
@@ -115,6 +116,18 @@ void ComputationalDomain<dim>::declare_parameters (ParameterHandler &prm)
115116 }
116117 prm.leave_subsection ();
117118
119+ prm.declare_entry (" Use a spheroid" , " false" ,
120+ Patterns::Bool ());
121+
122+ prm.declare_entry (" Axis x dimension" , " 2." ,
123+ Patterns::Double ());
124+
125+ prm.declare_entry (" Axis y dimension" , " 3." ,
126+ Patterns::Double ());
127+
128+ prm.declare_entry (" Axis z dimension" , " 4." ,
129+ Patterns::Double ());
130+
118131
119132}
120133
@@ -134,6 +147,12 @@ void ComputationalDomain<dim>::parse_parameters (ParameterHandler &prm)
134147 max_curvature_ref_cycles = prm.get_integer (" Maximum number of curvature adaptive refinement cycles" );
135148 cad_to_projectors_tolerance_ratio = prm.get_double (" Cad tolerance to projectors tolerance ratio" );
136149
150+
151+ spheroid_bool = prm.get_bool (" Use a spheroid" );
152+ spheroid_x_axis = prm.get_double (" Axis x dimension" );
153+ spheroid_y_axis = prm.get_double (" Axis y dimension" );
154+ spheroid_z_axis = prm.get_double (" Axis z dimension" );
155+
137156 prm.enter_subsection (" Boundary Conditions ID Numbers" );
138157 {
139158 std::vector<std::string> dirichlet_string_list = Utilities::split_string_list (prm.get (" Dirichlet boundary ids" ));
@@ -266,6 +285,8 @@ void ComputationalDomain<dim>::read_domain()
266285 tria.set_all_manifold_ids (0 );
267286 tria.set_manifold (0 , *manifold);
268287
288+ used_spherical_manifold = true ;
289+
269290 }
270291
271292}
0 commit comments