Peano
Loading...
Searching...
No Matches
fv-tracers-drag-force-validation Namespace Reference

Variables

 parser
 
dict interpolation_methods
 
 default
 
 help
 
dict integration_schemes
 
 min_depth
 
 degrees_of_freedom
 
 end_time
 
 args = parser.parse_args()
 
list size = [3.0, 3.0]
 
list offset = [0.0, 0.0]
 
float max_h = 1.1 * min(size) / (3.0**args.min_depth)
 
float min_h = max_h * 3.0 ** (-args.amr_levels)
 
 project
 
float time_in_between_plots = 0.0
 
 dimensions
 
 min_end_time
 
 max_end_time
 
 first_plot_time_stamp
 
 periodic_BC
 
str initial_conditions
 
str boundary_conditions
 
str flux
 
str max_eigenvalue
 
str analytical_solution
 
 fv_solver
 
dict tracer_attributes
 
 tracer_particles
 
 init_tracers
 
 descend_invocation_order
 
 tracing_action_set
 
 error_measurement
 
 mode
 
 make
 
 True
 
 make_clean_first
 
 throw_away_data_after_build
 

Variable Documentation

◆ analytical_solution

str fv-tracers-drag-force-validation.analytical_solution

Definition at line 119 of file fv-tracers-drag-force-validation.py.

◆ args

fv-tracers-drag-force-validation.args = parser.parse_args()

Definition at line 62 of file fv-tracers-drag-force-validation.py.

◆ boundary_conditions

fv-tracers-drag-force-validation.boundary_conditions
Initial value:
1= """
2 for (int i = 0; i < NumberOfUnknowns + NumberOfAuxiliaryVariables; i++) {
3 Qoutside[i] = Qinside[i];
4 }
5"""

Definition at line 103 of file fv-tracers-drag-force-validation.py.

◆ default

fv-tracers-drag-force-validation.default

Definition at line 40 of file fv-tracers-drag-force-validation.py.

◆ degrees_of_freedom

fv-tracers-drag-force-validation.degrees_of_freedom

Definition at line 58 of file fv-tracers-drag-force-validation.py.

◆ descend_invocation_order

fv-tracers-drag-force-validation.descend_invocation_order

Definition at line 213 of file fv-tracers-drag-force-validation.py.

◆ dimensions

fv-tracers-drag-force-validation.dimensions

Definition at line 83 of file fv-tracers-drag-force-validation.py.

◆ end_time

fv-tracers-drag-force-validation.end_time

Definition at line 59 of file fv-tracers-drag-force-validation.py.

◆ error_measurement

fv-tracers-drag-force-validation.error_measurement
Initial value:
1= exahype2.solvers.fv.ErrorMeasurementParticles(
2 fv_solver,
3 error_measurement_implementation=analytical_solution,
4 output_file_name=args.output + "/Error_" + Path(__file__).name,
5 particle_set=tracer_particles,
6 descend_invocation_order=65536, # After all other action sets
7)

Definition at line 250 of file fv-tracers-drag-force-validation.py.

◆ first_plot_time_stamp

fv-tracers-drag-force-validation.first_plot_time_stamp

Definition at line 88 of file fv-tracers-drag-force-validation.py.

◆ flux

fv-tracers-drag-force-validation.flux
Initial value:
1= """
2 for (int i = 0; i < NumberOfUnknowns; i++) {
3 F[i] = 0.0;
4 }
5"""

Definition at line 109 of file fv-tracers-drag-force-validation.py.

◆ fv_solver

fv-tracers-drag-force-validation.fv_solver
Initial value:
1= exahype2.solvers.fv.godunov.GlobalFixedTimeStep(
2 name="FVSolver",
3 patch_size=args.degrees_of_freedom,
4 unknowns=3,
5 auxiliary_variables=0,
6 min_volume_h=min_h,
7 max_volume_h=max_h,
8 normalised_time_step_size=0.001,
9)

Definition at line 163 of file fv-tracers-drag-force-validation.py.

◆ help

fv-tracers-drag-force-validation.help

Definition at line 40 of file fv-tracers-drag-force-validation.py.

◆ init_tracers

fv-tracers-drag-force-validation.init_tracers
Initial value:
1= exahype2.tracer.InsertParticlesByCoordinatesAndData(
2 particle_set=tracer_particles,
3 unknowns_per_particle=len(tracer_attributes["unknowns"]),
4 initial_data=,
5)

Definition at line 200 of file fv-tracers-drag-force-validation.py.

◆ initial_conditions

fv-tracers-drag-force-validation.initial_conditions
Initial value:
1= """
2 for (int i = 0; i < NumberOfUnknowns + NumberOfAuxiliaryVariables; i++) {
3 Q[i] = 0.0;
4 }
5 Q[0] = 1.0;
6"""

Definition at line 96 of file fv-tracers-drag-force-validation.py.

◆ integration_schemes

dict fv-tracers-drag-force-validation.integration_schemes
Initial value:
1= {
2 "Static": 0, # No integration (static particles)
3 "Euler": 1, # Explicit Euler method (simple but less accurate)
4 "SemiEuler": 2, # Semi-implicit Euler method (better stability)
5 "Verlet": 3, # Velocity Verlet algorithm (good for orbital mechanics)
6 "Midpoint": 4, # Midpoint method (2nd order Runge-Kutta)
7 "RK3": 5, # 3rd order Runge-Kutta method (high accuracy)
8 "RK4": 6, # 4th order Runge-Kutta method (higher accuracy)
9}

Definition at line 43 of file fv-tracers-drag-force-validation.py.

◆ interpolation_methods

dict fv-tracers-drag-force-validation.interpolation_methods
Initial value:
1= {
2 "None": 0, # No interpolation (use raw values)
3 "Constant": 1, # Piecewise constant interpolation (nearest neighbor)
4 "Linear": 2, # Piecewise linear interpolation (more accurate)
5}

Definition at line 34 of file fv-tracers-drag-force-validation.py.

◆ make

fv-tracers-drag-force-validation.make

Definition at line 261 of file fv-tracers-drag-force-validation.py.

◆ make_clean_first

fv-tracers-drag-force-validation.make_clean_first

Definition at line 261 of file fv-tracers-drag-force-validation.py.

◆ max_eigenvalue

fv-tracers-drag-force-validation.max_eigenvalue
Initial value:
1= """
2 return 1.0;
3"""

Definition at line 115 of file fv-tracers-drag-force-validation.py.

◆ max_end_time

fv-tracers-drag-force-validation.max_end_time

Definition at line 87 of file fv-tracers-drag-force-validation.py.

◆ max_h

float fv-tracers-drag-force-validation.max_h = 1.1 * min(size) / (3.0**args.min_depth)

Definition at line 66 of file fv-tracers-drag-force-validation.py.

◆ min_depth

fv-tracers-drag-force-validation.min_depth

Definition at line 57 of file fv-tracers-drag-force-validation.py.

◆ min_end_time

fv-tracers-drag-force-validation.min_end_time

Definition at line 86 of file fv-tracers-drag-force-validation.py.

◆ min_h

float fv-tracers-drag-force-validation.min_h = max_h * 3.0 ** (-args.amr_levels)

Definition at line 67 of file fv-tracers-drag-force-validation.py.

◆ mode

fv-tracers-drag-force-validation.mode

Definition at line 259 of file fv-tracers-drag-force-validation.py.

◆ offset

fv-tracers-drag-force-validation.offset = [0.0, 0.0]

Definition at line 65 of file fv-tracers-drag-force-validation.py.

◆ parser

fv-tracers-drag-force-validation.parser
Initial value:
1= exahype2.ArgumentParser(
2 "ExaHyPE 2 - Finite Volumes Particle Tracing Testing Script"
3)

Definition at line 30 of file fv-tracers-drag-force-validation.py.

◆ periodic_BC

fv-tracers-drag-force-validation.periodic_BC

Definition at line 90 of file fv-tracers-drag-force-validation.py.

◆ project

fv-tracers-drag-force-validation.project
Initial value:
1= exahype2.Project(
2 namespace=["tests", "exahype2", "fv"],
3 project_name=".",
4 directory=".",
5 executable="ExaHyPE",
6)

Definition at line 69 of file fv-tracers-drag-force-validation.py.

◆ size

fv-tracers-drag-force-validation.size = [3.0, 3.0]

Definition at line 64 of file fv-tracers-drag-force-validation.py.

◆ throw_away_data_after_build

fv-tracers-drag-force-validation.throw_away_data_after_build

Definition at line 261 of file fv-tracers-drag-force-validation.py.

◆ time_in_between_plots

fv-tracers-drag-force-validation.time_in_between_plots = 0.0

Definition at line 77 of file fv-tracers-drag-force-validation.py.

◆ tracer_attributes

dict fv-tracers-drag-force-validation.tracer_attributes
Initial value:
1= {
2 "unknowns": {
3 "rho": 1,
4 "fluid_u": 1,
5 "fluid_v": 1,
6 "u": 1,
7 "v": 1,
8 "a_x": 1,
9 "a_y": 1,
10 "m": 1,
11 "d": 1,
12 }
13}

Definition at line 182 of file fv-tracers-drag-force-validation.py.

◆ tracer_particles

fv-tracers-drag-force-validation.tracer_particles
Initial value:
1= fv_solver.add_tracer(
2 name="Tracers", particle_attributes=tracer_attributes
3)

Definition at line 196 of file fv-tracers-drag-force-validation.py.

◆ tracing_action_set

fv-tracers-drag-force-validation.tracing_action_set
Initial value:
1= exahype2.tracer.FiniteVolumesTracingWithForce(
2 tracer_particles,
3 fv_solver,
4 project,
5 integration_scheme=integration_schemes[args.integration],
6 # Force method bitmask: 14 = 2 (Buoyancy) + 4 (Drag) + 8 (ConstantGravity)
7 # This enables three forces acting on particles:
8 # - Buoyancy: upward force based on fluid density
9 # - Drag: resistance based on relative velocity
10 # - Gravity: constant downward force
11 force_method=14,
12 interpolation_scheme=interpolation_methods[args.interpolation],
13 # Field interpolation from fluid solver to particle data:
14 # "0,1,2" maps solver fields to particle storage as follows:
15 # Solver Q[0] → particle.getData(0): fluid density (ρ)
16 # - Used for buoyancy force calculation: F_b = ρ*V*g
17 # Solver Q[1] → particle.getData(1): fluid velocity x-component (u_x)
18 # - Used for drag force calculation
19 # Solver Q[2] → particle.getData(2): fluid velocity y-component (u_y)
20 # - Used for drag force calculation
21 # These values are interpolated at each particle position from the
22 # surrounding fluid cells to enable accurate force calculations
23 fields_to_interpolate="0,1,2",
24)

Definition at line 216 of file fv-tracers-drag-force-validation.py.

◆ True

fv-tracers-drag-force-validation.True

Definition at line 261 of file fv-tracers-drag-force-validation.py.