cpraveen / dflo Goto Github PK
View Code? Open in Web Editor NEWDiscontinuous Galerkin solver for compressible flows
Discontinuous Galerkin solver for compressible flows
The include path in source files are not correct. So the CMake generated make file will not work.
For example, inside src/assemble_explicit.cc, the include statement reads
#include <base/quadrature_lib.h>
which should be
#include <deal.II/base/quadrature_lib.h>
Hello,
when running dflo (built against deal.ii >=8.3) from src_mpi, and after fixing external_force function parser initialization, I get a runtime error:
An error occurred in line <4373> of file </home/pkestene/local/dealii_4_dflo/include/deal.II/fe/fe_values.h> in function
const std::vectordealii::Point& dealii::FEValuesBase<dim, spacedim>::get_quadrature_points() const [with int dim = 2; int spacedim = 2]
The violated condition was:
this->update_flags & update_quadrature_points
The name and call sequence of the exception was:
ExcAccessToUninitializedField("update_quadrature_points")
Additional Information:
You are requesting information from an FEValues/FEFaceValues/FESubfaceValues object for which this kind of information has not been computed. What information these objects compute is determined by the update_* flags you pass to the constructor. Here, the operation you are attempting requires the <update_quadrature_points> flag to be set, but it was apparently not specified upon construction.
Following what is done in src, if I add the requested flag, everything seems OK.
I'll place a pull request for that. Please ignore if you can fix this otherwise.
best regards,
Pierre Kestener.
With gravity, potential can be computed and stored as an FE vector rather than recompute every time. update_q_points can then be removed from cell assembly.
If cell is adjacent to slip boundary, then ghost cell state must be used to compute backward/forward difference in the limiter.
Some parts of code like limiter, numerical flux (some of them), etc. are written only for 2-d case.
We dont need shape values for cell assembly.
With Gauss nodes for basis functions, mass matrix is diagonal but we use full matrix which is computationally inefficient. Exploit the diagonal structure of the mass matrix to speed-up computations.
For TVD limiter, we need cell average of neighbouring cells. If they are at different levels, then we have to compute cell average carefully. If neighbour cell is coarser, then compute cell average by integrating on subcell.
I tested with the naca0012 mesh but found the solution not satisfactory. Is it because this code can not apply to non-cartesian mesh yet ? If I want to add this feature, which part of the code should I modify?
Currently we assume square/cubic cells.
Since we use QGauss nodal basis, we can optimize this function. No need to call get_function_values.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.