Peano
Loading...
Searching...
No Matches
fv-tracers-circular-bubble Namespace Reference

Functions

 generate_random_particles (file_path, num_particles=10, domain_min=0.1, domain_max=0.9)
 Generates a .dat file with random x- and y-positions, rounding positions to two decimal places.
 

Variables

 parser
 
dict interpolation_methods
 
 default
 
 help
 
dict integration_schemes
 
 min_depth
 
 degrees_of_freedom
 
 end_time
 
 args = parser.parse_args()
 
list size = [1.0, 1.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 compute_primitive_variables
 
str max_eigenvalue
 
str flux
 
 fv_solver
 
dict tracer_attributes
 
 tracer_particles
 
 num_particles
 
 domain_min
 
 domain_max
 
 init_tracers
 
 descend_invocation_order
 
 tracing_action_set
 
 mode
 
 make
 
 True
 
 make_clean_first
 
 throw_away_data_after_build
 

Function Documentation

◆ generate_random_particles()

fv-tracers-circular-bubble.generate_random_particles ( file_path,
num_particles = 10,
domain_min = 0.1,
domain_max = 0.9 )

Generates a .dat file with random x- and y-positions, rounding positions to two decimal places.

Parameters: file_path (str): Path to save the .dat file. num_particles (int): Number of particles to generate. domain_min (float): Minimum bound of the domain. domain_max (float): Maximum bound of the domain.

Definition at line 15 of file fv-tracers-circular-bubble.py.

Variable Documentation

◆ args

fv-tracers-circular-bubble.args = parser.parse_args()

Definition at line 82 of file fv-tracers-circular-bubble.py.

◆ boundary_conditions

fv-tracers-circular-bubble.boundary_conditions
Initial value:
1= """
2 // Reflective boundary conditions
3 Qoutside[Shortcuts::rho] = Qinside[Shortcuts::rho];
4 Qoutside[Shortcuts::rhoU] = -Qinside[Shortcuts::rhoU];
5 Qoutside[Shortcuts::rhoV] = -Qinside[Shortcuts::rhoV];
6 Qoutside[Shortcuts::rhoE] = Qinside[Shortcuts::rhoE];
7"""

Definition at line 124 of file fv-tracers-circular-bubble.py.

◆ compute_primitive_variables

str fv-tracers-circular-bubble.compute_primitive_variables
Initial value:
1= r"""
2 const auto irho = 1.0 / Q[Shortcuts::rho];
3 const auto u0 = Q[Shortcuts::rhoU] * irho;
4 const auto u1 = Q[Shortcuts::rhoV] * irho;
5
6 const auto uSq = u0 * u0 + u1 * u1;
7 const auto u_n = (normal == 0) ? u0 : u1;
8
9 const auto internalE = Q[Shortcuts::rhoE] - 0.5 * Q[Shortcuts::rho] * uSq;
10 const auto p = (GAMMA - 1.0) * internalE;
11"""

Definition at line 132 of file fv-tracers-circular-bubble.py.

◆ default

fv-tracers-circular-bubble.default

Definition at line 59 of file fv-tracers-circular-bubble.py.

◆ degrees_of_freedom

fv-tracers-circular-bubble.degrees_of_freedom

Definition at line 78 of file fv-tracers-circular-bubble.py.

◆ descend_invocation_order

fv-tracers-circular-bubble.descend_invocation_order

Definition at line 214 of file fv-tracers-circular-bubble.py.

◆ dimensions

fv-tracers-circular-bubble.dimensions

Definition at line 103 of file fv-tracers-circular-bubble.py.

◆ domain_max

fv-tracers-circular-bubble.domain_max

Definition at line 206 of file fv-tracers-circular-bubble.py.

◆ domain_min

fv-tracers-circular-bubble.domain_min

Definition at line 206 of file fv-tracers-circular-bubble.py.

◆ end_time

fv-tracers-circular-bubble.end_time

Definition at line 79 of file fv-tracers-circular-bubble.py.

◆ first_plot_time_stamp

fv-tracers-circular-bubble.first_plot_time_stamp

Definition at line 108 of file fv-tracers-circular-bubble.py.

◆ flux

fv-tracers-circular-bubble.flux
Initial value:
1= r"""
2 {compute_primitive_variables}
3
4 F[Shortcuts::rho] = Q[Shortcuts::rhoU + normal];
5
6 F[Shortcuts::rhoU] = Q[Shortcuts::rhoU] * u_n;
7 F[Shortcuts::rhoV] = Q[Shortcuts::rhoV] * u_n;
8
9 F[Shortcuts::rhoU + normal] += p;
10
11 F[Shortcuts::rhoE] = (Q[Shortcuts::rhoE] + p) * u_n;
12""".format(
13 compute_primitive_variables=compute_primitive_variables
14)

Definition at line 154 of file fv-tracers-circular-bubble.py.

◆ fv_solver

fv-tracers-circular-bubble.fv_solver
Initial value:
1= exahype2.solvers.fv.godunov.GlobalFixedTimeStep(
2 name="FVSolver",
3 patch_size=args.degrees_of_freedom,
4 unknowns={"rho": 1, "rhoU": 1, "rhoV": 1, "rhoE": 1},
5 auxiliary_variables=0,
6 min_volume_h=min_h,
7 max_volume_h=max_h,
8 normalised_time_step_size=0.00064,
9)

Definition at line 169 of file fv-tracers-circular-bubble.py.

◆ help

fv-tracers-circular-bubble.help

Definition at line 60 of file fv-tracers-circular-bubble.py.

◆ init_tracers

fv-tracers-circular-bubble.init_tracers
Initial value:
1= exahype2.tracer.InsertParticlesFromFile(
2 particle_set=tracer_particles,
3 filename="InitTracers.dat",
4 scale_factor=1.0,
5)

Definition at line 208 of file fv-tracers-circular-bubble.py.

◆ initial_conditions

fv-tracers-circular-bubble.initial_conditions
Initial value:
1= """
2 Q[Shortcuts::rho] = 1.0;
3 Q[Shortcuts::rhoU] = 0.0;
4 Q[Shortcuts::rhoV] = 0.0;
5 // Circular bubble centered at (0.5, 0.5) with radius 0.2
6 Q[Shortcuts::rhoE] = ((std::sqrt(std::pow(0.5 - x(0), 2) + std::pow(0.5 - x(1), 2)) < 0.2) ? (1.1) : (1.0));
7"""

Definition at line 116 of file fv-tracers-circular-bubble.py.

◆ integration_schemes

dict fv-tracers-circular-bubble.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 63 of file fv-tracers-circular-bubble.py.

◆ interpolation_methods

dict fv-tracers-circular-bubble.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 51 of file fv-tracers-circular-bubble.py.

◆ make

fv-tracers-circular-bubble.make

Definition at line 236 of file fv-tracers-circular-bubble.py.

◆ make_clean_first

fv-tracers-circular-bubble.make_clean_first

Definition at line 236 of file fv-tracers-circular-bubble.py.

◆ max_eigenvalue

fv-tracers-circular-bubble.max_eigenvalue
Initial value:
1= r"""
2 {compute_primitive_variables}
3 const auto speedOfSound = std::sqrt(GAMMA * p * irho);
4 auto result = std::fmax(0.0, std::fabs(u_n - speedOfSound));
5 result = std::fmax(result, std::fabs(u_n + speedOfSound));
6 return result;
7""".format(
8 compute_primitive_variables=compute_primitive_variables
9)

Definition at line 144 of file fv-tracers-circular-bubble.py.

◆ max_end_time

fv-tracers-circular-bubble.max_end_time

Definition at line 107 of file fv-tracers-circular-bubble.py.

◆ max_h

float fv-tracers-circular-bubble.max_h = 1.1 * min(size) / (3.0**args.min_depth)

Definition at line 86 of file fv-tracers-circular-bubble.py.

◆ min_depth

fv-tracers-circular-bubble.min_depth

Definition at line 77 of file fv-tracers-circular-bubble.py.

◆ min_end_time

fv-tracers-circular-bubble.min_end_time

Definition at line 106 of file fv-tracers-circular-bubble.py.

◆ min_h

float fv-tracers-circular-bubble.min_h = max_h * 3.0 ** (-args.amr_levels)

Definition at line 87 of file fv-tracers-circular-bubble.py.

◆ mode

fv-tracers-circular-bubble.mode

Definition at line 233 of file fv-tracers-circular-bubble.py.

◆ num_particles

fv-tracers-circular-bubble.num_particles

Definition at line 206 of file fv-tracers-circular-bubble.py.

◆ offset

fv-tracers-circular-bubble.offset = [0.0, 0.0]

Definition at line 85 of file fv-tracers-circular-bubble.py.

◆ parser

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

Definition at line 47 of file fv-tracers-circular-bubble.py.

◆ periodic_BC

fv-tracers-circular-bubble.periodic_BC

Definition at line 110 of file fv-tracers-circular-bubble.py.

◆ project

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

Definition at line 89 of file fv-tracers-circular-bubble.py.

◆ size

fv-tracers-circular-bubble.size = [1.0, 1.0]

Definition at line 84 of file fv-tracers-circular-bubble.py.

◆ throw_away_data_after_build

fv-tracers-circular-bubble.throw_away_data_after_build

Definition at line 236 of file fv-tracers-circular-bubble.py.

◆ time_in_between_plots

fv-tracers-circular-bubble.time_in_between_plots = 0.0

Definition at line 97 of file fv-tracers-circular-bubble.py.

◆ tracer_attributes

dict fv-tracers-circular-bubble.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 "d": 1,
11 }
12}

Definition at line 188 of file fv-tracers-circular-bubble.py.

◆ tracer_particles

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

Definition at line 201 of file fv-tracers-circular-bubble.py.

◆ tracing_action_set

fv-tracers-circular-bubble.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 interpolation_scheme=interpolation_methods[args.interpolation],
7)

Definition at line 217 of file fv-tracers-circular-bubble.py.

◆ True

fv-tracers-circular-bubble.True

Definition at line 236 of file fv-tracers-circular-bubble.py.