Peano
Loading...
Searching...
No Matches
fv-tracers-volcanic-plume-rise Namespace Reference

Functions

 generate_particles_in_plume (str file_path="InitTracers.dat", int num_x=8, int num_y=8, float x_min=0.46, float x_max=0.54, float y_min=0.11, float y_max=0.29, int round_decimals=6)
 Generates a .dat file with particles on a uniform grid inside a rectangular plume.
 

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
 
str source_term
 
 fv_solver
 
dict tracer_attributes
 
 tracer_particles
 
 file_path
 
 num_x
 
 num_y
 
 x_min
 
 x_max
 
 y_min
 
 y_max
 
 init_tracers
 
 descend_invocation_order
 
 tracing_action_set
 
 mode
 
 make
 
 True
 
 make_clean_first
 
 throw_away_data_after_build
 

Function Documentation

◆ generate_particles_in_plume()

fv-tracers-volcanic-plume-rise.generate_particles_in_plume ( str file_path = "InitTracers.dat",
int num_x = 8,
int num_y = 8,
float x_min = 0.46,
float x_max = 0.54,
float y_min = 0.11,
float y_max = 0.29,
int round_decimals = 6 )

Generates a .dat file with particles on a uniform grid inside a rectangular plume.

Parameters: file_path (str): Path to save the .dat file. num_x (int): Number of points along x (>=1). num_y (int): Number of points along y (>=1). x_min (float): Minimum x of the plume. x_max (float): Maximum x of the plume. y_min (float): Minimum y of the plume. y_max (float): Maximum y of the plume. round_decimals (int): Decimal places for rounding/printing.

Definition at line 15 of file fv-tracers-volcanic-plume-rise.py.

Variable Documentation

◆ args

fv-tracers-volcanic-plume-rise.args = parser.parse_args()

Definition at line 101 of file fv-tracers-volcanic-plume-rise.py.

◆ boundary_conditions

fv-tracers-volcanic-plume-rise.boundary_conditions
Initial value:
1= """
2 if (x(1) >= DomainSize[1] - 0.001) {
3 // Top boundary (outflow - zero gradient)
4 Qoutside[0] = RHO_AMBIENT;
5 Qoutside[1] = 0.0;
6 Qoutside[2] = 0.0;
7 Qoutside[3] = P0 / (GAMMA - 1.0);
8 } else if (x(1) <= DomainOffset[1] + 0.001) {
9 // Bottom boundary (reflective)
10 Qoutside[0] = Qinside[0];
11 Qoutside[1] = Qinside[1];
12 Qoutside[2] = -Qinside[2];
13 Qoutside[3] = Qinside[3];
14 } else if (x(0) <= DomainOffset[0] + 0.001 || x(0) >= DomainSize[0] - 0.001) {
15 // Left and right boundaries (outflow - zero gradient)
16 Qoutside[0] = Qinside[0];
17 Qoutside[1] = Qinside[1];
18 Qoutside[2] = Qinside[2];
19 Qoutside[3] = Qinside[3];
20 }
21"""

Definition at line 187 of file fv-tracers-volcanic-plume-rise.py.

◆ compute_primitive_variables

str fv-tracers-volcanic-plume-rise.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 209 of file fv-tracers-volcanic-plume-rise.py.

◆ default

fv-tracers-volcanic-plume-rise.default

Definition at line 78 of file fv-tracers-volcanic-plume-rise.py.

◆ degrees_of_freedom

fv-tracers-volcanic-plume-rise.degrees_of_freedom

Definition at line 97 of file fv-tracers-volcanic-plume-rise.py.

◆ descend_invocation_order

fv-tracers-volcanic-plume-rise.descend_invocation_order

Definition at line 305 of file fv-tracers-volcanic-plume-rise.py.

◆ dimensions

fv-tracers-volcanic-plume-rise.dimensions

Definition at line 122 of file fv-tracers-volcanic-plume-rise.py.

◆ end_time

fv-tracers-volcanic-plume-rise.end_time

Definition at line 98 of file fv-tracers-volcanic-plume-rise.py.

◆ file_path

fv-tracers-volcanic-plume-rise.file_path

Definition at line 291 of file fv-tracers-volcanic-plume-rise.py.

◆ first_plot_time_stamp

fv-tracers-volcanic-plume-rise.first_plot_time_stamp

Definition at line 127 of file fv-tracers-volcanic-plume-rise.py.

◆ flux

fv-tracers-volcanic-plume-rise.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 231 of file fv-tracers-volcanic-plume-rise.py.

◆ fv_solver

fv-tracers-volcanic-plume-rise.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.001,
9)

Definition at line 253 of file fv-tracers-volcanic-plume-rise.py.

◆ help

fv-tracers-volcanic-plume-rise.help

Definition at line 79 of file fv-tracers-volcanic-plume-rise.py.

◆ init_tracers

fv-tracers-volcanic-plume-rise.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 299 of file fv-tracers-volcanic-plume-rise.py.

◆ initial_conditions

fv-tracers-volcanic-plume-rise.initial_conditions

Definition at line 135 of file fv-tracers-volcanic-plume-rise.py.

◆ integration_schemes

dict fv-tracers-volcanic-plume-rise.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 82 of file fv-tracers-volcanic-plume-rise.py.

◆ interpolation_methods

dict fv-tracers-volcanic-plume-rise.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 70 of file fv-tracers-volcanic-plume-rise.py.

◆ make

fv-tracers-volcanic-plume-rise.make

Definition at line 331 of file fv-tracers-volcanic-plume-rise.py.

◆ make_clean_first

fv-tracers-volcanic-plume-rise.make_clean_first

Definition at line 331 of file fv-tracers-volcanic-plume-rise.py.

◆ max_eigenvalue

fv-tracers-volcanic-plume-rise.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 221 of file fv-tracers-volcanic-plume-rise.py.

◆ max_end_time

fv-tracers-volcanic-plume-rise.max_end_time

Definition at line 126 of file fv-tracers-volcanic-plume-rise.py.

◆ max_h

float fv-tracers-volcanic-plume-rise.max_h = 1.1 * min(size) / (3.0**args.min_depth)

Definition at line 105 of file fv-tracers-volcanic-plume-rise.py.

◆ min_depth

fv-tracers-volcanic-plume-rise.min_depth

Definition at line 96 of file fv-tracers-volcanic-plume-rise.py.

◆ min_end_time

fv-tracers-volcanic-plume-rise.min_end_time

Definition at line 125 of file fv-tracers-volcanic-plume-rise.py.

◆ min_h

float fv-tracers-volcanic-plume-rise.min_h = max_h * 3.0 ** (-args.amr_levels)

Definition at line 106 of file fv-tracers-volcanic-plume-rise.py.

◆ mode

fv-tracers-volcanic-plume-rise.mode

Definition at line 324 of file fv-tracers-volcanic-plume-rise.py.

◆ num_x

fv-tracers-volcanic-plume-rise.num_x

Definition at line 292 of file fv-tracers-volcanic-plume-rise.py.

◆ num_y

fv-tracers-volcanic-plume-rise.num_y

Definition at line 293 of file fv-tracers-volcanic-plume-rise.py.

◆ offset

fv-tracers-volcanic-plume-rise.offset = [0.0, 0.0]

Definition at line 104 of file fv-tracers-volcanic-plume-rise.py.

◆ parser

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

Definition at line 66 of file fv-tracers-volcanic-plume-rise.py.

◆ periodic_BC

fv-tracers-volcanic-plume-rise.periodic_BC

Definition at line 129 of file fv-tracers-volcanic-plume-rise.py.

◆ project

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

Definition at line 108 of file fv-tracers-volcanic-plume-rise.py.

◆ size

fv-tracers-volcanic-plume-rise.size = [1.0, 1.0]

Definition at line 103 of file fv-tracers-volcanic-plume-rise.py.

◆ source_term

fv-tracers-volcanic-plume-rise.source_term
Initial value:
1= """
2 S[0] = 0.0;
3 S[1] = 0.0;
4 S[2] = -GRAVITY * Q[0];
5 S[3] = -GRAVITY * Q[2];
6"""

Definition at line 246 of file fv-tracers-volcanic-plume-rise.py.

◆ throw_away_data_after_build

fv-tracers-volcanic-plume-rise.throw_away_data_after_build

Definition at line 331 of file fv-tracers-volcanic-plume-rise.py.

◆ time_in_between_plots

fv-tracers-volcanic-plume-rise.time_in_between_plots = 0.0

Definition at line 116 of file fv-tracers-volcanic-plume-rise.py.

◆ tracer_attributes

dict fv-tracers-volcanic-plume-rise.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 273 of file fv-tracers-volcanic-plume-rise.py.

◆ tracer_particles

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

Definition at line 286 of file fv-tracers-volcanic-plume-rise.py.

◆ tracing_action_set

fv-tracers-volcanic-plume-rise.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 308 of file fv-tracers-volcanic-plume-rise.py.

◆ True

fv-tracers-volcanic-plume-rise.True

Definition at line 331 of file fv-tracers-volcanic-plume-rise.py.

◆ x_max

fv-tracers-volcanic-plume-rise.x_max

Definition at line 295 of file fv-tracers-volcanic-plume-rise.py.

◆ x_min

fv-tracers-volcanic-plume-rise.x_min

Definition at line 294 of file fv-tracers-volcanic-plume-rise.py.

◆ y_max

fv-tracers-volcanic-plume-rise.y_max

Definition at line 297 of file fv-tracers-volcanic-plume-rise.py.

◆ y_min

fv-tracers-volcanic-plume-rise.y_min

Definition at line 296 of file fv-tracers-volcanic-plume-rise.py.