WARPXM v1.10.0
Loading...
Searching...
No Matches
examples.dg.advection.multi_subdomain Namespace Reference

Variables

str torder = 'RK1'
 
str sorder = 'secondOrder'
 
list velocity = [1., 0., 0.]
 
warpy mesh
 
warpy fluida
 
warpy fluidb
 
warpy a_ic
 
warpy b_ic
 
list applicators
 
list apps_a = [warpy.apps.advection(name='advection', variable=fluida,velocity=velocity)]
 
list apps_b = [warpy.apps.advection(name='advection', variable=fluidb,velocity=velocity)]
 
list bc_apps = []
 
warpy writer = warpy.host_actions.writer(name='writer',ReadVars=[fluida, fluidb])
 
warpy ss_a
 
warpy ss_b
 
warpy bc_a_app
 
warpy bc_b_app
 
list variable_adjusters
 
warpy temporal_solver
 
int dt = 1e-3
 
warpy dt_controller = warpy.dt_calc.fixed_dt(dt)
 
int write_steps = 100
 
warpy sim
 
 gen_xdmf
 
 True
 
 detect_nonscalar
 

Variable Documentation

◆ a_ic

warpy examples.dg.advection.multi_subdomain.a_ic
Initial value:
1= warpy.functions.fourier(name='a_ic', sine_amplitudes=[1],
2 cosine_amplitudes=[0],
3 cosine_frequencies=[0],
4 sine_frequencies=[2*np.pi])
Fourier series.
Definition: fourier.py:4

◆ applicators

list examples.dg.advection.multi_subdomain.applicators
Initial value:
1= [warpy.applicator(spatial_order=sorder,fun=a_ic,var=fluida,spatial_scheme='Nodal'),
2 warpy.applicator(spatial_order=sorder,fun=b_ic,var=fluidb,spatial_scheme='Nodal')]

◆ apps_a

list examples.dg.advection.multi_subdomain.apps_a = [warpy.apps.advection(name='advection', variable=fluida,velocity=velocity)]

◆ apps_b

list examples.dg.advection.multi_subdomain.apps_b = [warpy.apps.advection(name='advection', variable=fluidb,velocity=velocity)]

◆ b_ic

warpy examples.dg.advection.multi_subdomain.b_ic
Initial value:
1= warpy.functions.fourier(name='b_ic', sine_amplitudes=[0.5],
2 cosine_amplitudes=[0],
3 cosine_frequencies=[0],
4 sine_frequencies=[2*np.pi])

◆ bc_a_app

warpy examples.dg.advection.multi_subdomain.bc_a_app
Initial value:
1= warpy.apps.multiplier_bc(name='mult_a',
2 fluid_a=fluida, fluid_b=fluidb,
3 multiplier=2,
4 on_boundaries=['lc','cr'])
Boundary condition a = b*multiplier.
Definition: simple.py:205

◆ bc_apps

list examples.dg.advection.multi_subdomain.bc_apps = []

◆ bc_b_app

warpy examples.dg.advection.multi_subdomain.bc_b_app
Initial value:
1= warpy.apps.multiplier_bc(name='mult_b',
2 fluid_a=fluidb, fluid_b=fluida,
3 multiplier=0.5,
4 on_boundaries=['lc','cr'])

◆ detect_nonscalar

examples.dg.advection.multi_subdomain.detect_nonscalar

◆ dt

int examples.dg.advection.multi_subdomain.dt = 1e-3

◆ dt_controller

warpy examples.dg.advection.multi_subdomain.dt_controller = warpy.dt_calc.fixed_dt(dt)

◆ fluida

warpy examples.dg.advection.multi_subdomain.fluida
Initial value:
1= warpy.variable(name='a',
2 components=['a'],
3 basis_array_set=sorder,
4 subdomains=['left','right'],
5 virtual_subdomains=['mid'])
Definition: variable.py:4

◆ fluidb

warpy examples.dg.advection.multi_subdomain.fluidb
Initial value:
1= warpy.variable(name='b',
2 components=['b'],
3 basis_array_set=sorder,
4 subdomains=['mid'],
5 virtual_subdomains=['left','right'])

◆ gen_xdmf

examples.dg.advection.multi_subdomain.gen_xdmf

◆ mesh

warpy examples.dg.advection.multi_subdomain.mesh
Initial value:
1= warpy.mesh.arbitrary('mixedline_100.inp',
2 NumLayers=1,
3 PeriodicBoundaries=['leftwall','rightwall'],
4 basis_array_set=sorder)
general unstructured mesh
Definition: mesh.py:56

◆ sim

warpy examples.dg.advection.multi_subdomain.sim
Initial value:
1= warpy.dg_sim(name='multi_subdomain',
2 meshes=[mesh],
3 initial_conditions=applicators,
4 temporal_solvers=[temporal_solver],
5 writers=[writer],
6 time=[0,dt*write_steps],
7 dt_controller=dt_controller,
8 flexible_writeout=True,
9 write_steps=write_steps,
10 verbosity='info')
Discontinuous finite element RK simulation.
Definition: dg_sim.py:11

◆ sorder

str examples.dg.advection.multi_subdomain.sorder = 'secondOrder'

◆ ss_a

warpy examples.dg.advection.multi_subdomain.ss_a
Initial value:
1= warpy.spatial_solvers.dg(name="dg_a", spatial_order=sorder, applications=apps_a,
2 on_subdomains=['left', 'right'])

◆ ss_b

warpy examples.dg.advection.multi_subdomain.ss_b
Initial value:
1= warpy.spatial_solvers.dg(name="dg_b", spatial_order=sorder, applications=apps_b,
2 on_subdomains=['mid'])

◆ temporal_solver

warpy examples.dg.advection.multi_subdomain.temporal_solver
Initial value:
1= warpy.host_actions.erk(name='rk',
2 scheme=torder,
3 spatial_solvers=[ss_a, ss_b],
4 variable_adjusters=variable_adjusters)
Explicit Runge-Kutta temporal solver Note: Dormand45 currently will not work correctly with limiters ...
Definition: erk.py:5

◆ torder

str examples.dg.advection.multi_subdomain.torder = 'RK1'

◆ True

examples.dg.advection.multi_subdomain.True

◆ variable_adjusters

list examples.dg.advection.multi_subdomain.variable_adjusters
Initial value:
1= [
3 spatial_order=sorder,
4 applications=[bc_a_app],
5 copy_all=False,
6 is_virtual_bc=True,
7 on_subdomains=['mid']),
9 spatial_order=sorder,
10 applications=[bc_b_app],
11 copy_all=False,
12 is_virtual_bc=True,
13 on_subdomains=['left','right'])]
spatial solver - currently hardcoded for rk methods
Definition: boundary_conditions.py:4

◆ velocity

list examples.dg.advection.multi_subdomain.velocity = [1., 0., 0.]

◆ write_steps

int examples.dg.advection.multi_subdomain.write_steps = 100

◆ writer

warpy examples.dg.advection.multi_subdomain.writer = warpy.host_actions.writer(name='writer',ReadVars=[fluida, fluidb])