Skip to content

Add transient_ex3 example demonstrating explicit DG/FV formulation of 2D advection equation #4073

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Feb 12, 2025
3 changes: 2 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -60186,7 +60186,7 @@ printf "%s\n" "#define BUILD_DATE __DATE__ \" \" __TIME__" >>confdefs.h
if test "x$enableexamples" = "xyes"
then :

ac_config_files="$ac_config_files examples/introduction/introduction_ex1/Makefile examples/introduction/introduction_ex2/Makefile examples/introduction/introduction_ex3/Makefile examples/introduction/introduction_ex4/Makefile examples/introduction/introduction_ex5/Makefile examples/adaptivity/adaptivity_ex1/Makefile examples/adaptivity/adaptivity_ex2/Makefile examples/adaptivity/adaptivity_ex3/Makefile examples/adaptivity/adaptivity_ex4/Makefile examples/adaptivity/adaptivity_ex5/Makefile examples/adjoints/adjoints_ex1/Makefile examples/adjoints/adjoints_ex2/Makefile examples/adjoints/adjoints_ex3/Makefile examples/adjoints/adjoints_ex4/Makefile examples/adjoints/adjoints_ex5/Makefile examples/adjoints/adjoints_ex6/Makefile examples/adjoints/adjoints_ex7/Makefile examples/eigenproblems/eigenproblems_ex1/Makefile examples/eigenproblems/eigenproblems_ex2/Makefile examples/eigenproblems/eigenproblems_ex3/Makefile examples/eigenproblems/eigenproblems_ex4/Makefile examples/fem_system/fem_system_ex1/Makefile examples/fem_system/fem_system_ex2/Makefile examples/fem_system/fem_system_ex3/Makefile examples/fem_system/fem_system_ex4/Makefile examples/fem_system/fem_system_ex5/Makefile examples/solution_transfer/solution_transfer_ex1/Makefile examples/miscellaneous/miscellaneous_ex1/Makefile examples/miscellaneous/miscellaneous_ex2/Makefile examples/miscellaneous/miscellaneous_ex3/Makefile examples/miscellaneous/miscellaneous_ex4/Makefile examples/miscellaneous/miscellaneous_ex5/Makefile examples/miscellaneous/miscellaneous_ex6/Makefile examples/miscellaneous/miscellaneous_ex7/Makefile examples/miscellaneous/miscellaneous_ex8/Makefile examples/miscellaneous/miscellaneous_ex9/Makefile examples/miscellaneous/miscellaneous_ex10/Makefile examples/miscellaneous/miscellaneous_ex11/Makefile examples/miscellaneous/miscellaneous_ex12/Makefile examples/miscellaneous/miscellaneous_ex13/Makefile examples/miscellaneous/miscellaneous_ex14/Makefile examples/miscellaneous/miscellaneous_ex15/Makefile examples/miscellaneous/miscellaneous_ex16/Makefile examples/miscellaneous/miscellaneous_ex17/Makefile examples/optimization/optimization_ex1/Makefile examples/optimization/optimization_ex2/Makefile examples/subdomains/subdomains_ex1/Makefile examples/subdomains/subdomains_ex2/Makefile examples/subdomains/subdomains_ex3/Makefile examples/systems_of_equations/systems_of_equations_ex1/Makefile examples/systems_of_equations/systems_of_equations_ex2/Makefile examples/systems_of_equations/systems_of_equations_ex3/Makefile examples/systems_of_equations/systems_of_equations_ex4/Makefile examples/systems_of_equations/systems_of_equations_ex5/Makefile examples/systems_of_equations/systems_of_equations_ex6/Makefile examples/systems_of_equations/systems_of_equations_ex7/Makefile examples/systems_of_equations/systems_of_equations_ex8/Makefile examples/systems_of_equations/systems_of_equations_ex9/Makefile examples/reduced_basis/reduced_basis_ex1/Makefile examples/reduced_basis/reduced_basis_ex2/Makefile examples/reduced_basis/reduced_basis_ex3/Makefile examples/reduced_basis/reduced_basis_ex4/Makefile examples/reduced_basis/reduced_basis_ex5/Makefile examples/reduced_basis/reduced_basis_ex6/Makefile examples/reduced_basis/reduced_basis_ex7/Makefile examples/transient/transient_ex1/Makefile examples/transient/transient_ex2/Makefile examples/vector_fe/vector_fe_ex1/Makefile examples/vector_fe/vector_fe_ex2/Makefile examples/vector_fe/vector_fe_ex3/Makefile examples/vector_fe/vector_fe_ex4/Makefile examples/vector_fe/vector_fe_ex5/Makefile examples/vector_fe/vector_fe_ex6/Makefile examples/vector_fe/vector_fe_ex7/Makefile examples/vector_fe/vector_fe_ex8/Makefile examples/vector_fe/vector_fe_ex9/Makefile examples/vector_fe/vector_fe_ex10/Makefile examples/Makefile"
ac_config_files="$ac_config_files examples/introduction/introduction_ex1/Makefile examples/introduction/introduction_ex2/Makefile examples/introduction/introduction_ex3/Makefile examples/introduction/introduction_ex4/Makefile examples/introduction/introduction_ex5/Makefile examples/adaptivity/adaptivity_ex1/Makefile examples/adaptivity/adaptivity_ex2/Makefile examples/adaptivity/adaptivity_ex3/Makefile examples/adaptivity/adaptivity_ex4/Makefile examples/adaptivity/adaptivity_ex5/Makefile examples/adjoints/adjoints_ex1/Makefile examples/adjoints/adjoints_ex2/Makefile examples/adjoints/adjoints_ex3/Makefile examples/adjoints/adjoints_ex4/Makefile examples/adjoints/adjoints_ex5/Makefile examples/adjoints/adjoints_ex6/Makefile examples/adjoints/adjoints_ex7/Makefile examples/eigenproblems/eigenproblems_ex1/Makefile examples/eigenproblems/eigenproblems_ex2/Makefile examples/eigenproblems/eigenproblems_ex3/Makefile examples/eigenproblems/eigenproblems_ex4/Makefile examples/fem_system/fem_system_ex1/Makefile examples/fem_system/fem_system_ex2/Makefile examples/fem_system/fem_system_ex3/Makefile examples/fem_system/fem_system_ex4/Makefile examples/fem_system/fem_system_ex5/Makefile examples/solution_transfer/solution_transfer_ex1/Makefile examples/miscellaneous/miscellaneous_ex1/Makefile examples/miscellaneous/miscellaneous_ex2/Makefile examples/miscellaneous/miscellaneous_ex3/Makefile examples/miscellaneous/miscellaneous_ex4/Makefile examples/miscellaneous/miscellaneous_ex5/Makefile examples/miscellaneous/miscellaneous_ex6/Makefile examples/miscellaneous/miscellaneous_ex7/Makefile examples/miscellaneous/miscellaneous_ex8/Makefile examples/miscellaneous/miscellaneous_ex9/Makefile examples/miscellaneous/miscellaneous_ex10/Makefile examples/miscellaneous/miscellaneous_ex11/Makefile examples/miscellaneous/miscellaneous_ex12/Makefile examples/miscellaneous/miscellaneous_ex13/Makefile examples/miscellaneous/miscellaneous_ex14/Makefile examples/miscellaneous/miscellaneous_ex15/Makefile examples/miscellaneous/miscellaneous_ex16/Makefile examples/miscellaneous/miscellaneous_ex17/Makefile examples/optimization/optimization_ex1/Makefile examples/optimization/optimization_ex2/Makefile examples/subdomains/subdomains_ex1/Makefile examples/subdomains/subdomains_ex2/Makefile examples/subdomains/subdomains_ex3/Makefile examples/systems_of_equations/systems_of_equations_ex1/Makefile examples/systems_of_equations/systems_of_equations_ex2/Makefile examples/systems_of_equations/systems_of_equations_ex3/Makefile examples/systems_of_equations/systems_of_equations_ex4/Makefile examples/systems_of_equations/systems_of_equations_ex5/Makefile examples/systems_of_equations/systems_of_equations_ex6/Makefile examples/systems_of_equations/systems_of_equations_ex7/Makefile examples/systems_of_equations/systems_of_equations_ex8/Makefile examples/systems_of_equations/systems_of_equations_ex9/Makefile examples/reduced_basis/reduced_basis_ex1/Makefile examples/reduced_basis/reduced_basis_ex2/Makefile examples/reduced_basis/reduced_basis_ex3/Makefile examples/reduced_basis/reduced_basis_ex4/Makefile examples/reduced_basis/reduced_basis_ex5/Makefile examples/reduced_basis/reduced_basis_ex6/Makefile examples/reduced_basis/reduced_basis_ex7/Makefile examples/transient/transient_ex1/Makefile examples/transient/transient_ex2/Makefile examples/transient/transient_ex3/Makefile examples/vector_fe/vector_fe_ex1/Makefile examples/vector_fe/vector_fe_ex2/Makefile examples/vector_fe/vector_fe_ex3/Makefile examples/vector_fe/vector_fe_ex4/Makefile examples/vector_fe/vector_fe_ex5/Makefile examples/vector_fe/vector_fe_ex6/Makefile examples/vector_fe/vector_fe_ex7/Makefile examples/vector_fe/vector_fe_ex8/Makefile examples/vector_fe/vector_fe_ex9/Makefile examples/vector_fe/vector_fe_ex10/Makefile examples/Makefile"


fi
Expand Down Expand Up @@ -62509,6 +62509,7 @@ do
"examples/reduced_basis/reduced_basis_ex7/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex7/Makefile" ;;
"examples/transient/transient_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/transient/transient_ex1/Makefile" ;;
"examples/transient/transient_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/transient/transient_ex2/Makefile" ;;
"examples/transient/transient_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/transient/transient_ex3/Makefile" ;;
"examples/vector_fe/vector_fe_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex1/Makefile" ;;
"examples/vector_fe/vector_fe_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex2/Makefile" ;;
"examples/vector_fe/vector_fe_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex3/Makefile" ;;
Expand Down
1 change: 1 addition & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,7 @@ AS_IF([test "x$enableexamples" = "xyes"],
examples/reduced_basis/reduced_basis_ex7/Makefile
examples/transient/transient_ex1/Makefile
examples/transient/transient_ex2/Makefile
examples/transient/transient_ex3/Makefile
examples/vector_fe/vector_fe_ex1/Makefile
examples/vector_fe/vector_fe_ex2/Makefile
examples/vector_fe/vector_fe_ex3/Makefile
Expand Down
168 changes: 168 additions & 0 deletions doc/html/examples/transient_ex3.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
<!doctype html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>libMesh - A C++ Finite Element Library</title>
<meta name="author" content="libMesh development team">
<link rel="stylesheet" type="text/css" media="all" href="../styles.css">
<link rel="stylesheet" type="text/css" media="all" href="../doxygen_stylesheet.css">
</head>

<body>
<nav id="fixedbar">
<ul id="fixednav">
<li><a href="../index.html">Home</a></li>
<li><a href="../support.html">About Us</a></li>
<li><a href="../publications.html">Publications</a></li>
<li><a href="https://github.com/libMesh/libmesh/graphs/contributors">Developers</a></li>
<li><a href="../installation.html">Installation</a></li>
<li><a href="../examples.html">Examples</a></li>
<li><a href="https://mooseframework.inl.gov/docs/doxygen/libmesh/index.html">Documentation</a></li>
</ul>
</nav>

<div id="w">
<header id="logo"><a href="../index.html"><span id="logobg">SomeWebsiteLogo</span></a></header>

<nav id="navigation">
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="../support.html">About Us</a></li>
<li><a href="../publications.html">Publications</a></li>
<li><a href="https://github.com/libMesh/libmesh/graphs/contributors">Developers</a></li>
<li><a href="../installation.html">Installation</a></li>
<li><a href="../examples.html">Examples</a></li>
<li><a href="https://mooseframework.inl.gov/docs/doxygen/libmesh/index.html">Documentation</a></li>
</ul>
</nav>

<div id="content">

<br> <h1> Link to the source code for this example: </h1>
<a href="https://github.com/libMesh/libmesh/tree/master/examples/transient/transient_ex3" target="_blank">Open transient_ex3 in new tab.</a>
<a name="output"></a>
<br><br><br> <h1> The console output of the program: </h1>
<pre>
***************************************************************
* Running Example transient_ex3:
* ./example-opt -i advection_2D.in
***************************************************************

Adding q1 variable using (CONSTANT, MONOMIAL) approximation to the system.
EquationSystems
n_systems()=1
System #0, "Advection2D"
Type "ClawSystem"
Variables="q1"
Finite Element Types="MONOMIAL", "JACOBI_20_00"
Infinite Element Mapping="CARTESIAN"
Approximation Orders="CONSTANT", "THIRD"
n_dofs()=900
n_local_dofs()=900
max(n_local_dofs())=900
n_constrained_dofs()=0
n_local_constrained_dofs()=0
max(local unconstrained dofs)=900
n_vectors()=1
n_matrices()=1
DofMap Sparsity
Average On-Processor Bandwidth <= 4.86667
Average Off-Processor Bandwidth <= 0
Maximum On-Processor Bandwidth <= 5
Maximum Off-Processor Bandwidth <= 0
DofMap Constraints
Number of DoF Constraints = 0
Number of Node Constraints = 0

Mesh Information:
elem_dimensions()={2}
elem_default_orders()={2}
supported_nodal_order()=2
spatial_dimension()=2
n_nodes()=3721
n_local_nodes()=3721
n_elem()=900
n_local_elem()=900
n_active_elem()=900
n_subdomains()=1
n_elemsets()=0
n_partitions()=1
n_processors()=1
n_threads()=1
processor_id()=0
is_prepared()=true
is_replicated()=true


==== ClawSystem ====
system name: Advection2D
LxF constant: 1.414
delta_t: 0.001
n_time_steps: 500
temporal_discretization_type: RK4
write_interval: 50


==== AdvectionSystem ====
u1 = 1, u2 = 1


plotting time step 50, time = 0.05

plotting time step 100, time = 0.1

plotting time step 150, time = 0.15

plotting time step 200, time = 0.2

plotting time step 250, time = 0.25

plotting time step 300, time = 0.3

plotting time step 350, time = 0.35

plotting time step 400, time = 0.4

plotting time step 450, time = 0.45

plotting time step 500, time = 0.5


***************************************************************
* Done Running Example transient_ex3:
* ./example-opt -i advection_2D.in
***************************************************************
</pre>
</div>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(window).on('scroll',function() {
var scrolltop = $(this).scrollTop();

if(scrolltop >= 215) {
$('#fixedbar').fadeIn(250);
}

else if(scrolltop <= 210) {
$('#fixedbar').fadeOut(250);
}
});
});
</script>

<!-- Google Analytics stuff -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-24978333-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>

</body>
</html>
2 changes: 2 additions & 0 deletions doc/html/src/examples.html
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ <h1>A Series of Example Programs</h1>

<li><L1><a href="examples/transient_ex2.html">The Newmark System and the Wave Equation</a></L1></li>

<li><L1><a href="examples/transient_ex3.html">Explicit FV/DG Formulation of the 2D Advection Equation</a></L1></li>

</ol> </li>


Expand Down
1 change: 1 addition & 0 deletions examples/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ SUBDIRS = \
reduced_basis/reduced_basis_ex7 \
transient/transient_ex1 \
transient/transient_ex2 \
transient/transient_ex3 \
vector_fe/vector_fe_ex1 \
vector_fe/vector_fe_ex2 \
vector_fe/vector_fe_ex3 \
Expand Down
1 change: 1 addition & 0 deletions examples/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -654,6 +654,7 @@ SUBDIRS = \
reduced_basis/reduced_basis_ex7 \
transient/transient_ex1 \
transient/transient_ex2 \
transient/transient_ex3 \
vector_fe/vector_fe_ex1 \
vector_fe/vector_fe_ex2 \
vector_fe/vector_fe_ex3 \
Expand Down
20 changes: 20 additions & 0 deletions examples/transient/transient_ex3/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
example_name = transient_ex3
check_SCRIPTS = run.sh
install_dir = $(examples_install_path)/transient/ex3
data = advection_2D.in advection_system.C advection_system.h claw_system.C claw_system.h transient_ex3.C run.sh
sources = $(data) run.sh

CLEANFILES = claw_solution.*.e

if LIBMESH_VPATH_BUILD
BUILT_SOURCES = .linkstamp
.linkstamp:
-rm -f advection_2D.in && $(LN_S) -f $(srcdir)/advection_2D.in .
$(AM_V_GEN)touch .linkstamp

CLEANFILES += advection_2D.in .linkstamp
endif

##############################################
# include common example environment
include $(top_srcdir)/examples/Make.common
Loading