Skip to content

Commit 65a36e5

Browse files
committed
Update fin example file
1 parent d271721 commit 65a36e5

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

examples/fsi/fin_2d.jl

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ initial_velocity = (1.0, 0.0)
3434
particle_spacing = fin_thickness / (n_particles_y - 1)
3535
fluid_particle_spacing = particle_spacing
3636

37-
smoothing_length_solid = sqrt(2) * particle_spacing
37+
smoothing_length_structure = sqrt(2) * particle_spacing
3838
smoothing_length_fluid = 2 * fluid_particle_spacing
3939
smoothing_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`.
6262
beam = RectangularShape(particle_spacing, n_particles_per_dimension,
6363
(-length_clamp, 0.0), density=density, place_on_shell=true)
6464

6565
fixed_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
7070
boundary_layers = 4
@@ -73,7 +73,7 @@ fluid_density = 1000.0
7373
tank = 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)
121121
packed_foot.coordinates .+= center
122122
beam.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
130130
pack_window = TrixiParticles.Polygon(stack([
@@ -144,7 +144,7 @@ pack_window = TrixiParticles.Polygon(stack([
144144
pack_fluid = intersect(fluid, pack_window)
145145
# and those outside the window
146146
fixed_fluid = setdiff(fluid, pack_fluid)
147-
fixed_union = union(fixed_fluid, solid)
147+
fixed_union = union(fixed_fluid, structure)
148148

149149
fluid_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
175175
translation_vector = SVector(0.0, amplitude)
176176
rotation_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

183183
sound_speed = 40.0
184184
state_equation = StateEquationCole(; sound_speed, reference_density=fluid_density,
185185
exponent=1, background_pressure=0.0)
186186

187187
# ==========================================================================================
188-
# ==== Solid
188+
# ==== Structure
189189
boundary_density_calculator = AdamiPressureExtrapolation()
190190
viscosity_fluid = ViscosityAdami(nu=1e-4)
191191
viscosity_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))
195195
hydrodynamic_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)
248248
cell_list = FullGridCellList(; min_corner, max_corner)
249249
neighborhood_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())
253253
ode = semidiscretize(semi, tspan)
254254

0 commit comments

Comments
 (0)