Skip to content
Snippets Groups Projects
Commit e2798235 authored by Lambert Theisen's avatar Lambert Theisen
Browse files

Add new R13 P2P1P2P1P1 testcase with validation tests

parent 8a35a97a
No related branches found
No related tags found
1 merge request!6Version 1.2
# General
# =======
# - output_folder: Used as output folder
output_folder: r13_1_coeffs_nosources_norot_inflow_p1p2p1p1p2_nostab
# Meshes
# ======
# - meshes: List of input meshes in h5 format to run simulations on
meshes:
- ../mesh/ring0.h5
- ../mesh/ring1.h5
- ../mesh/ring2.h5
- ../mesh/ring3.h5
- ../mesh/ring4.h5
# - ../mesh/ring5.h5
# - ../mesh/ring6.h5
# - ../mesh/ring7.h5
# - ../mesh/ring8.h5
# Numerical Parameters
# ====================
# - elements: Must contain the fields: theta, s, p, u, sigma
# - fields: List of FEM parameters (shape, degree)
# - shape: Element shape, e.g. Lagrange
# - degree: Element degree, e.g. 2
# - stabilization: Must contain cip
# - cip: Collection of Continous Interior Penalty (CIP) parameters
# - enable: Enable CIP stabilization
# - delta_theta: Stabilization of grad(T)*grad(T_test) over edge
# - delta_u: Stabilization of grad(u)*grad(u_test) over edge
# - delta_p: Stabilization of grad(p)*grad(p_test) over edge
elements:
theta:
shape: Lagrange
degree: 1
s:
shape: Lagrange
degree: 2
p:
shape: Lagrange
degree: 1
u:
shape: Lagrange
degree: 1
sigma:
shape: Lagrange
degree: 2
stabilization:
cip:
enable: False
delta_theta: 1.0
delta_u: 1.0
delta_p: 0.01
# Formulation Parameters
# ======================
# - nsd: Number of spatial dimensions == 2
# - mode: Formulation mode, one of heat, stress, r13
# - kn: Knudsen numberkn
# - chi_tilde: Refaction coefficient in Maxwell accomodation model
# - heat_source: Heat source function for mode==heat||r13
# - mass_source: Mass source function for mode==stress||r13
# - body_force: Body force for mode==stress||r13
nsd: 2
mode: r13
kn: 1.0
chi_tilde: 1.0
heat_source: 0
mass_source: 0
body_force: [0,0]
# Boundary Conditions
# ===================
# - bcs: Dictionary of all boundary IDs from mesh
# - bc_id: must contain theta_w, u_t_w, u_n_w, p_w, epsilon_w
# - theta_w: Value for temperature at wall
# - u_t_w: Value for tangential velocity at wall
# - u_n_w: Value for normal velocity at wall
# - p_w: Value for pressure at wall
# - epsilon_w: Inflow-model parameter <=> Weight of pressure prescription
bcs:
3000:
theta_w: 1
u_t_w: 0
u_n_w: 0
p_w: 0
epsilon_w: pow(10,-3)
3100:
theta_w: 2
u_t_w: -1.00 * sin(phi)
u_n_w: +1.00 * cos(phi)
p_w: -0.27 * cos(phi)
epsilon_w: pow(10,+3)
# Convergence Study
# =================
# - enable: Enable convergence study on given meshes
# - exact_solution: Path to exact solution in cpp-format to compare errors
# - plot: Show errors in matplotlib window. PDF output is always per default.
# - write_systemmatrix: Writes out systemmatrix (LHS) to use for analysis
# - rescale_pressure: Rescale numerical pressure result to have zero mean
# - relative_errors: Use relative errors. If exact sol. is zero, use absolute.
convergence_study:
enable: True
exact_solution: esols/1_coeffs_nosources_norot_inflow.cpp
plot: False
write_systemmatrix: False
rescale_pressure: False
relative_error: True
# Postprocessing
# ==============
# - write_pdfs: Write all solution fields as PDF plot
# - massflow: List of BC IDs to compute massflow J=int_bc dot(u,n) ds
postprocessing:
write_pdfs: False
massflow: []
# Parameter Study
# ==============
# - enable: Repeat simulation with different p. values (study)
# - parameter_key: Key as list, e.g. ["elemenets", "p", "degree"]
# - parameter_values: List of value for parameter, e.g. [0.01,0.1,1,10]
parameter_study:
enable: False
parameter_key: []
parameter_values: []
\ No newline at end of file
h,theta_L_2,theta_l_inf,sx_L_2,sx_l_inf,sy_L_2,sy_l_inf,p_L_2,p_l_inf,ux_L_2,ux_l_inf,uy_L_2,uy_l_inf,sigmaxx_L_2,sigmaxx_l_inf,sigmaxy_L_2,sigmaxy_l_inf,sigmayy_L_2,sigmayy_l_inf
0.9886573325052778,0.0143768913243,0.0167763774855,0.154427796117,0.212905569859,0.170021307007,0.189184423016,0.222665842777,0.38785328282,0.946625073133,0.567225546841,0.310747128191,0.414217805868,0.376671752432,0.462493535845,0.833076883105,0.836036693911,0.546864985397,0.607810788706
0.6340332990709842,0.0207579137652,0.0367173799369,0.169037418712,0.248093709767,0.163463969828,0.130693891918,0.665027312211,0.8072723145,2.01920543274,0.91507796314,0.701235155631,0.781210911785,1.47078769847,1.04351764263,1.49146487718,1.08353617431,2.00889778669,1.3755469062
0.32904683851469807,0.0130451011078,0.0214463940876,0.11719988638,0.135578567567,0.0945258805968,0.0635837546267,0.478092455792,0.458272915175,1.30107452488,0.646522741078,0.454477192923,0.649877565913,0.875180306235,0.718588084973,1.07272217111,0.790755661626,1.03959737869,0.753488608423
0.16754966839339377,0.00244245700739,0.00484554351159,0.0224211862256,0.0282299306717,0.0191812627504,0.0141904437469,0.0888811739689,0.0840260609066,0.220940884681,0.113340275219,0.0826896049548,0.151911670261,0.155970621267,0.128324961683,0.195690972003,0.153115738912,0.190054619914,0.139421512179
0.08734460120995041,0.000595068041661,0.00121440933827,0.0055147176246,0.00700562569891,0.00471691302173,0.00347684971707,0.0217752311678,0.0216173663209,0.0531285069094,0.0331765062864,0.0204957947248,0.0441530177482,0.0379894104042,0.0316570167234,0.0479717016566,0.0387767133382,0.0457767021787,0.0339001090382
......@@ -161,3 +161,40 @@ class TestR13Convergence(object):
errors = name + "/" + "errors.csv"
referrors = "referrors/" + name + "/errors.csv"
self.compare_errors(errors, referrors)
def test_r13_1_coeffs_nosources_norot_inflow_p1p2p1p1p2_nostab(self):
r"""
Execute full linear R13 system test and check with reference errors.
Use Generalized Taylor-Hood elements (P2P1P2P1P1) w.o. stabilization.
Test case is similar to [TOR2017]_.
.. [TOR2017] Torrilhon, M. et al. (2017). “Hierarchical Boltzmann
simulations and model error estimation”. In: Journal of
Computational Physics 342 (2017), pp. 66–84.
==================== ===================================================
Parameter Value
==================== ===================================================
:math:`Kn` :math:`1.0`
:math:`\dot{m}` :math:`0`
:math:`r` :math:`0`
:math:`\theta_w^1` :math:`1.0`
:math:`v_t^1` :math:`0`
:math:`v_n^1` :math:`0`
:math:`p_w^1` :math:`0`
:math:`\epsilon_w^1` :math:`10^{-3}`
:math:`\theta_w^2` :math:`2.0`
:math:`v_t^2` :math:`-1.00 \sin(\phi)`
:math:`v_n^2` :math:`+1.00 \cos(\phi)`
:math:`p_w^2` :math:`-0.27 \cos(\phi)`
:math:`\epsilon_w^2` :math:`10^{3}`
Elements :math:`P_1P_2P_1P_1P_2`
Stabilization Off
==================== ===================================================
"""
name = "r13_1_coeffs_nosources_norot_inflow_p1p2p1p1p2_nostab"
self.run_solver("inputs/" + name + ".yml")
errors = name + "/" + "errors.csv"
referrors = "referrors/" + name + "/errors.csv"
self.compare_errors(errors, referrors)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment