@@ -34,7 +34,7 @@ initial_velocity = (1.0, 0.0)
3434particle_spacing = fin_thickness / (n_particles_y - 1 )
3535fluid_particle_spacing = particle_spacing
3636
37- smoothing_length_solid = sqrt (2 ) * particle_spacing
37+ smoothing_length_structure = sqrt (2 ) * particle_spacing
3838smoothing_length_fluid = 2 * fluid_particle_spacing
3939smoothing_kernel = WendlandC2Kernel {2} ()
4040
@@ -57,14 +57,14 @@ n_particles_per_dimension = (round(Int, (fin_length + length_clamp) / particle_s
5757 n_particles_y)
5858
5959# Note that the `RectangularShape` puts the first particle half a particle spacing away
60- # from the boundary, which is correct for fluids, but not for solids .
60+ # from the boundary, which is correct for fluids, but not for structures .
6161# We therefore need to pass `place_on_shell=true`.
6262beam = RectangularShape (particle_spacing, n_particles_per_dimension,
6363 (- length_clamp, 0.0 ), density= density, place_on_shell= true )
6464
6565fixed_particles = setdiff (shape_sampled, beam)
6666
67- # solid = union(beam, fixed_particles)
67+ # structure = union(beam, fixed_particles)
6868
6969# Change spacing ratio to 3 and boundary layers to 1 when using Monaghan-Kajtar boundary model
7070boundary_layers = 4
@@ -73,7 +73,7 @@ fluid_density = 1000.0
7373tank = RectangularTank (fluid_particle_spacing, initial_fluid_size, tank_size, fluid_density,
7474 n_layers= boundary_layers, spacing_ratio= spacing_ratio,
7575 faces= (false , false , true , true ), velocity= initial_velocity)
76- # fluid = setdiff(tank.fluid, solid )
76+ # fluid = setdiff(tank.fluid, structure )
7777
7878# ==========================================================================================
7979# ==== Packing
@@ -121,10 +121,10 @@ packed_foot = InitialCondition(sol_packing, foot_packing_system, semi_packing)
121121packed_foot. coordinates .+ = center
122122beam. coordinates .+ = center
123123
124- solid = union (beam, packed_foot)
125- fluid = setdiff (tank. fluid, solid )
124+ structure = union (beam, packed_foot)
125+ fluid = setdiff (tank. fluid, structure )
126126
127- n_fixed_particles = nparticles (solid ) - nparticles (beam)
127+ n_clamped_particles = nparticles (structure ) - nparticles (beam)
128128
129129# Pack the fluid against the fin and the tank boundary
130130pack_window = TrixiParticles. Polygon (stack ([
@@ -144,7 +144,7 @@ pack_window = TrixiParticles.Polygon(stack([
144144pack_fluid = intersect (fluid, pack_window)
145145# and those outside the window
146146fixed_fluid = setdiff (fluid, pack_fluid)
147- fixed_union = union (fixed_fluid, solid )
147+ fixed_union = union (fixed_fluid, structure )
148148
149149fluid_packing_system = ParticlePackingSystem (pack_fluid; smoothing_length= smoothing_length_packing,
150150 signed_distance_field= nothing , background_pressure)
@@ -175,42 +175,42 @@ rotation_phase_offset = 0.12 # periods
175175translation_vector = SVector (0.0 , amplitude)
176176rotation_angle = rotation_deg * pi / 180
177177
178- boundary_movement = TrixiParticles . oscillating_movement ( frequency,
179- SVector (0.0 , amplitude),
180- rotation_angle, center;
181- rotation_phase_offset, ramp_up = 0.5 )
178+ boundary_motion = OscillatingMotion2D (; frequency,
179+ translation_vector = SVector (0.0 , amplitude),
180+ rotation_angle, rotation_center = center,
181+ rotation_phase_offset, ramp_up_tspan = ( 0.0 , 0.5 ) )
182182
183183sound_speed = 40.0
184184state_equation = StateEquationCole (; sound_speed, reference_density= fluid_density,
185185 exponent= 1 , background_pressure= 0.0 )
186186
187187# ==========================================================================================
188- # ==== Solid
188+ # ==== Structure
189189boundary_density_calculator = AdamiPressureExtrapolation ()
190190viscosity_fluid = ViscosityAdami (nu= 1e-4 )
191191viscosity_fin = ViscosityAdami (nu= 1e-4 )
192192
193- # For the FSI we need the hydrodynamic masses and densities in the solid boundary model
194- hydrodynamic_densites = fluid_density * ones (size (solid . density))
193+ # For the FSI we need the hydrodynamic masses and densities in the structure boundary model
194+ hydrodynamic_densites = fluid_density * ones (size (structure . density))
195195hydrodynamic_masses = hydrodynamic_densites * particle_spacing^ 2
196196
197- boundary_model_solid = BoundaryModelDummyParticles (hydrodynamic_densites,
197+ boundary_model_structure = BoundaryModelDummyParticles (hydrodynamic_densites,
198198 hydrodynamic_masses,
199199 state_equation= state_equation,
200200 boundary_density_calculator,
201201 smoothing_kernel, smoothing_length_fluid,
202202 viscosity= viscosity_fin)
203203
204- # k_solid = 1.0
205- # beta_solid = fluid_particle_spacing / particle_spacing
206- # boundary_model_solid = BoundaryModelMonaghanKajtar(k_solid, beta_solid ,
204+ # k_structure = 1.0
205+ # beta_structure = fluid_particle_spacing / particle_spacing
206+ # boundary_model_structure = BoundaryModelMonaghanKajtar(k_structure, beta_structure ,
207207# particle_spacing,
208208# hydrodynamic_masses)
209209
210- solid_system = TotalLagrangianSPHSystem (solid , smoothing_kernel, smoothing_length_solid ,
210+ structure_system = TotalLagrangianSPHSystem (structure , smoothing_kernel, smoothing_length_structure ,
211211 modulus, poisson_ratio;
212- n_fixed_particles, movement = boundary_movement ,
213- boundary_model= boundary_model_solid ,
212+ n_clamped_particles, clamped_particles_motion = boundary_motion ,
213+ boundary_model= boundary_model_structure ,
214214 viscosity= ArtificialViscosityMonaghan (alpha= 0.01 ),
215215 penalty_force= PenaltyForceGanzenmueller (alpha= 0.1 ))
216216
@@ -238,7 +238,7 @@ boundary_model = BoundaryModelDummyParticles(tank.boundary.density, tank.boundar
238238 boundary_density_calculator,
239239 smoothing_kernel, smoothing_length_fluid)
240240
241- boundary_system = BoundarySPHSystem (tank. boundary, boundary_model)
241+ boundary_system = WallBoundarySystem (tank. boundary, boundary_model)
242242
243243# ==========================================================================================
244244# ==== Simulation
@@ -248,7 +248,7 @@ periodic_box = PeriodicBox(; min_corner, max_corner)
248248cell_list = FullGridCellList (; min_corner, max_corner)
249249neighborhood_search = GridNeighborhoodSearch {2} (; periodic_box, cell_list, update_strategy= ParallelUpdate ())
250250
251- semi = Semidiscretization (fluid_system, boundary_system, solid_system ; neighborhood_search,
251+ semi = Semidiscretization (fluid_system, boundary_system, structure_system ; neighborhood_search,
252252 parallelization_backend= PolyesterBackend ())
253253ode = semidiscretize (semi, tspan)
254254
0 commit comments