Re: [deal.II] Re: precomputation of mass matrix and stiffness matrix

2016-05-16 Thread Martin Kronbichler
Dear Marek, Let's first look at the two distribute_local_to_global calls: constraint_matrix_phase_constant.distribute_local_to_global(local_matrix, dof_indices, system_matrix_phase_constant); constraint_matrix_phase.distribute_local_to_global(local_matrix, local_v

Re: [deal.II] Re: Segmentation fault (core dumped) error

2016-05-20 Thread Martin Kronbichler
Hi Bruno, 2016-05-20 9:12 GMT-04:00 Ehsan : #2 0x75cb614b in dealii::SparsityPattern::reinit (this=this@entry=0x7fffb498, m=829992, n=829992, max_per_row=8032) at /deal_II/dealii-8.3.0/source/lac/sparsity_pattern.cc:251 It could be a memory problem. You try to create a matrix

[deal.II] Re: Hanging node constraints generate new nonzero locations in parallel.

2016-05-23 Thread Martin Kronbichler
Dear Ce, I faced a strange problem. With relatively few cells and non-conforming > triangulation, the assembling process generates new nonzero locations in > parallel with relatively large amount of processes . It works well in > serial or with a small number of processes or with conforming >

Re: [deal.II] Re: Hanging node constraints generate new nonzero locations in parallel.

2016-05-23 Thread Martin Kronbichler
wrote: Dear Martin, Yes, it works now. Could you please explain why it works in serial or with a small number of processes? Best regards, Ce Qin 2016-05-23 15:27 GMT+08:00 Martin Kronbichler mailto:kronbichler.mar...@gmail.com>>: Dear Ce, I faced a strange problem

Re: [deal.II] Segmentation fault in WorkStream::run() for colored iterators in parallel(MPI)

2016-05-25 Thread Martin Kronbichler
Hi Julius, Is the implementation of the (colored) WorkStream::run() compatible with a hybrid parallel code-architecture? Besides checking for the validity of the ranges (as Bruno points out), there is at least one potential problem as seen from the stack trace: You cannot write into Trilinos

Re: [deal.II] Exploding solution to advected pulse at the boundary

2016-06-29 Thread Martin Kronbichler
Dear Niek, This does indeed look strange. I cannot give an immediate answer unfortunately. It looks like the problem appears in a single element layer close to the boundary and does not seem to propagate into the domain. Can you confirm this? Since I would expect a wrong Neumann boundary cond

Re: [deal.II] Question concerning BlockSparsityPattern.copy_from() member function

2016-07-06 Thread Martin Kronbichler
Dear Dustin, With regard to a lot of tutorial programms I would say that this is the usual way to work with /DynamicSparsityPatterns/, isn't it? Yes, the description you give is exactly the way I would choose for the sparsity pattern. So back to the question. Running the program the copy oper

Re: [deal.II] Question concerning BlockSparsityPattern.copy_from() member function

2016-07-07 Thread Martin Kronbichler
Dear Dustin, How is your computational setup, i.e., how many nonzero entries do you have in your matrix? I'm not sure if I understand what you mean. Do you mean the number of nonzero entries in /SparseMatrix/ or in the /BlockSparsityPattern/ or in the dynamic one? How can I get this

Re: [deal.II] Re: Problem building dealii with PETSc

2016-07-13 Thread Martin Kronbichler
Dear Pete, Let me just focus on two of your questions. The first one is related to the OpenMPI installation on Ubuntu 16.04 (and maybe other packages). You should not need more packages than what you list. However, it appears that the software shipped by Ubuntu is buggy. I can reproduce your

Re: [deal.II] Re: Problem building dealii with PETSc

2016-07-13 Thread Martin Kronbichler
Hi Pete, I'm glad that it works. You may include my comments, the first line is the output of 'uname -srv' regarding my system information FYI. Thanks! Best, Martin On 13.07.2016 17:04, Pete Griffin wrote: Thanks All! Martin, after I commented out the line "ADD_FLAGS(DEAL_II_LINKER_FLAGS

Re: [deal.II] Re: Memory usage using MPI/PETSc on single processor

2016-07-31 Thread Martin Kronbichler
Hi Pete, The difference may be that the NEW version uses a DynamicSparsityPattern while the OLD only guesses on the size with, dof_handler.max_couplings_between_dofs(). Apparently with 3d problems the function overestimates. Presently DynamicSparsityPattern is used in step-8, but, not in ste

Re: [deal.II] Re: Step-35 Poiseuille flow in a 3D pipe

2016-08-02 Thread Martin Kronbichler
Dear Jiaqi, Besides the literature suggested by Daniel, you should also read the paper J.L. Guermond, P. Minev, J. Shen, An overview of projection methods for incompressible flows, Comput Methods Appl Mech Engrg 195, 2006. Section 3.5 explains this question. As a more general remark to your

Re: [deal.II] Question concerning BlockSparsityPattern.copy_from() member function

2016-08-15 Thread Martin Kronbichler
Dear Dustin, I had a look at your program on my machine with the most recent development version of deal.II. Here is the final timer output in release mode: +-+++ | Total wallclock time elapsed since start| 1.02s |

Re: [deal.II] Re: PETScWrappers::MPI::Vector Vs parallel::distributed::Vector

2016-08-28 Thread Martin Kronbichler
Dear David, Your example of accessing all elements in a vector individually by operator [] (or operator ()) is not very representative of the typical situation in most codes. All vector interfaces implement vector addition, scaling, and inner products such that you will not have to write the

Re: [deal.II] Question concerning BlockSparsityPattern.copy_from() member function

2016-08-31 Thread Martin Kronbichler
Hi Dustin, Thanks for your file. This is indeed a bug in deal.II. Our algorithms for copying the sparsity pattern contain a part that scales quadratically in the number of rows in case most of the rows are empty, as is the case with some of your sparsity patterns. This is very bad if there ar

Re: [deal.II] FE_TraceQ using GaussLobatto nodes

2016-09-06 Thread Martin Kronbichler
Dear Praveen, > The documentation says that GaussLobatto node-based FE_TraceQ will be > implemented in future. Is there any estimate on when this will be > available ? The documentation is outdated. Indeed, FE_TraceQ is based on the nodes of the Gauss-Lobatto quadrature formula. See the code in s

Re: [deal.II] FE_TraceQ using GaussLobatto nodes

2016-09-08 Thread Martin Kronbichler
Dear Praveen, > > When I use FE_TraceQ and am setting initial condition with > VectorTools::interpolate, I get this error > > > > An error occurred in line <127> of file > > in function > > void dealii::VectorTools::interpolate(const Ma

Re: [deal.II] CXX flags for SIMD and other optimization flags (GCC@6)

2016-09-15 Thread Martin Kronbichler
Hi Denis, > From the matrix-free tutorials 37 and 48, I see that the recommended > flags for VectorizedArrays with GCC are > > -DCMAKE_CXX_FLAGS="-march=native" > > How about using -O3, -ffast-math, -funroll-loops ? Any other > recommended flags for GCC? -march=native gives you AVX vectorization o

[deal.II] Re: Can we say that the higher order method, the more accurate?

2016-09-18 Thread Martin Kronbichler
Dear Jaekwank, In addition to what Daniel and Wolfgang said: One does definitely benefit from going to higher degrees and deal.II is able to handle this (the accurate boundary representation by a mapping is one thing that is easily forgotten). In a recent preprint, we considered the flow around

Re: [deal.II] Re: Can we say that the higher order method, the more accurate?

2016-09-20 Thread Martin Kronbichler
Dear Jaekwang, if you are using the most recent developer version, you should automatically get the Gauss-Lobatto version of the node distribution. We made those point distributions the default for FE_Q(degree) this spring. Regarding the limits of quadrature formulas: Depending on what exactly yo

Re: [deal.II] VectorTools::integrate_difference function

2016-09-20 Thread Martin Kronbichler
Jaekwang, can you post the full error message? To me the call looks reasonable (this is a copy from step-7) and the function definition looks good as well. Ah, and in case you want to use this in the context of your other question regarding high order methods: Put a "mapping" as first argument to

Re: [deal.II] VectorTools::integrate_difference function

2016-09-20 Thread Martin Kronbichler
es at least 7 > arguments, but > > 6 were provided > > void integrate_difference (const Mapping&mapping, > > * ^* > > */Users/jaekwangjk/Programs/dealii/include/deal.II/numerics/vector_tools.h:1953:8: > note: * > > candidate functi

Re: [deal.II] Gauss-Lobatto node distribution on FESYSTEM?

2016-09-27 Thread Martin Kronbichler
Dear Jaekwang, > *FESystemfe; * > > > and constructor mentions taylor hood space as follow > > > StokesProblem::StokesProblem (constunsignedintdegree) > > : > > degree (degree), > >*fe (FE_Q(degree+**1), dim,* > > *FE_Q(degree), 1),* > You would write fe (FE_Q(QGaus

Re: [deal.II] Finite Difference with deal.ii and Parallel Distributed Triangulation

2016-09-27 Thread Martin Kronbichler
Dear Rajat, You could do finite differences using the p4est wrapper in deal.II in principle, but it would probably not be very efficient. You want to know the indices which are not available in our wrapper at least, not sure about p4est. To get them, I would build a DoFHandler based on some elemen

Re: [deal.II] a few questions about matrix-free

2016-09-30 Thread Martin Kronbichler
Dear Denis, > (1) FEEvaluation has read_dof_values (const std::vector< VectorType > > &src, const unsigned int first_index=0), > but i don’t see a function to get to values of each DoF vector at > quadrature points. If you need to get the vector values at quadrature points, you would typically ca

Re: [deal.II] Re: a few questions about matrix-free

2016-09-30 Thread Martin Kronbichler
Dear Denis, > Say if I have mass matrix and Laplace matrix, i would then use > > update_values| update_gradients| update_JxW_values; > > in AdditionalData. But I wonder would that be any slower than two > separate MatrixFree data’s, one with No, that won't be any slower - at least not to any measu

Re: [deal.II] a few questions about matrix-free

2016-09-30 Thread Martin Kronbichler
Hi Denis, I will put the description in the header of the file. PR underway. The best documentation gets written when explaining things to others. :-) > actually it’s not about components, it is about values at quadrature > points for a vector of solution. > Say I have two vectors representing s

Re: [deal.II] a few questions about matrix-free

2016-09-30 Thread Martin Kronbichler
On 09/30/2016 05:08 PM, Denis Davydov wrote: > Hi Martin, > >> On 30 Sep 2016, at 16:49, Martin Kronbichler >> mailto:kronbichler.mar...@gmail.com>> >> wrote: >> >> There are two possibilities for doing things. One is like you say, >> you loop over

[deal.II] Re: C1 elements for 4th order derivatives

2016-10-06 Thread Martin Kronbichler
Dear Jinhyun, deal.II does not support C1-elements (at least not on general meshes and in 3D). However, the standard way of dealing with such problems is to rewrite the phase field equation as a system of two equations, each of which only has up to second derivatives. In terms of the phase fiel

Re: [deal.II] trouble running new step-55

2016-10-17 Thread Martin Kronbichler
Dear Franck, I justed checked on my machine and it works both on an installation that only provides Trilinos and on an installation that has both (and where PETSc is selected). It looks like your installation is 8.4.0 whereas I think that step-55 requires the current developer version 8.5.0-pr

Re: [deal.II] Alternative to local_range

2016-10-23 Thread Martin Kronbichler
Dear Praveen, you can call IndexSet::nth_index_in_range(0) (in case IndexSet::n_elements() > 0) to get the first entry in the index set. Best, Martin On 23.10.2016 07:38, Praveen C wrote: I have an IndexSet of locally_owned_dofs and I want to know the starting index. praveen On Sun, Oct

Re: [deal.II] reuse FEEvaluation within a cell for RHS-like calculation

2016-11-15 Thread Martin Kronbichler
Hi Denis, I wonder if it possible to re-use FEEvaluation within each cell to calculate integrals of multiple right-hand-side like vectors. Yes, you can re-use an FEEvaluation object. As soon as you call submit_value(), you will write into the data field that is used by integrate(), which in t

Re: [deal.II] LA::distributed::Vector initialized with MatrixFree and Kelly estimator

2016-11-22 Thread Martin Kronbichler
Hi Denis, I wonder what is the best workaround given the fact that i have quite a number of such vectors? You only see this for KellyErrorEstimator, right? Given that the error estimation is much more expensive than the operator evaluation anyway, I would suggest you do the copy exactly the wa

Re: [deal.II] Re: LA::distributed::Vector initialized with MatrixFree and Kelly estimator

2016-11-22 Thread Martin Kronbichler
Hi Denis, Wouldn't it be easier to just create a copy of the vector by ghosted_vector.reinit(locally_owned_set, locally_relevant_set, comm); ghosted_vector = solution; ghosted_vector.update_ghost_values(); The reason why there is a VectorView in the MatrixFreeOperators::Base class is that I wa

Re: [deal.II] Re: LA::distributed::Vector initialized with MatrixFree and Kelly estimator

2016-11-22 Thread Martin Kronbichler
Wouldn't it be easier to just create a copy of the vector by ghosted_vector.reinit(locally_owned_set, locally_relevant_set, comm); ghosted_vector = solution; ghosted_vector.update_ghost_values(); not in my case, because i have a lot of vectors and if I can avoid, i would prefer not to create

Re: [deal.II] Interpolating p::d::Vector

2016-11-23 Thread Martin Kronbichler
Dear Praveen, Called compress(VectorOperation::insert), but the element received from a remote processor, value 3.343515457745695e-15, does not match with the value -3.343515457745695e-15 on the owner processor 0 I dont understand why this error is triggered. The error says that two processo

Re: [deal.II] Re: Workstream, number threads

2016-12-29 Thread Martin Kronbichler
Hi Praveen, Do you happen to use a BLAS that uses threading? I recommend switching to non-threaded BLAS (or "export OMP_NUM_THREADS=1"). deal.II applies threading on a higher level and a threaded BLAS is counter-productive in 98% of cases. Best, Martin On 29.12.2016 11:30, Praveen C wrote:

Re: [deal.II] Re: p::d::SolutionTransfer::interpolate fails with LA::distributed::Vector's in the specific case

2017-01-03 Thread Martin Kronbichler
Hi Denis, Hi Daniel, On 3 Jan 2017, at 15:09, Daniel Arndt wrote: Do you have a minimal working example that shows this problem? I don’t have a MWE for this, not yet at least. The tricky part is that this happens for some usage cases, but the same code runs fine in other, more-or-less as

Re: [deal.II] Re: p::d::SolutionTransfer::interpolate fails with LA::distributed::Vector's in the specific case

2017-01-03 Thread Martin Kronbichler
Hi Denis, Can you please elaborate? My naïve understanding would be: 1. before doing interpolation, all ghost values are syncrhonized between the MPI processors 2. solution transfer would, roughly, take local values on each element, apply transformation matrices corresponding to each child a

Re: [deal.II] Find dofs supported on each face and quadrature point

2017-01-12 Thread Martin Kronbichler
Dear Praveen, No, we do not have information about these properties available in the library and it cannot be easily introduced either. The reason is that the particular "spectral" evaluation of polynomials with roots in the quadrature points depends on the interaction of the finite element an

Re: [deal.II] Segfault in EvaluatorTensorProduct::apply when AVX is enabled

2017-02-20 Thread Martin Kronbichler
Dear Stephen, The problem is data alignment: You create an std::vector that internally arranges its data under the assumption that the start address of FEEvaluation is divisible by 32 (the length of the vectorization). If you put an FEEvaluation object on the stack, the compiler will automati

Re: [deal.II] Segfault in EvaluatorTensorProduct::apply when AVX is enabled

2017-02-22 Thread Martin Kronbichler
ii::FEEvaluation<2, 1, > 2, 1, double>' cannot be assigned because its copy assignment operator > is implicitly deleted" error. > > How should I be making my AlignedVector? > > Thanks, > Steve > > > > On Monday, February 20, 2017 at 3:23:09 PM UTC-5, Mar

Re: [deal.II] Re: Internal instability of the GMRES Solver / Trilinos

2017-03-15 Thread Martin Kronbichler
Dear Pascal, This problem seems related to a problem we recently worked around in https://github.com/dealii/dealii/pull/4043 Can you check what happens if you call GrowingVectorMemory::release_unused_memory() between your optimization steps? If a communicator gets stack in those places it

Re: [deal.II] Re: Internal instability of the GMRES Solver / Trilinos

2017-03-16 Thread Martin Kronbichler
post > about an internal error in OpenMPI and one of the functions appearing > in the call stacks sometimes not blocking properly. > Thank you for your time and your fast responses - the whole library > and the people developing it and making it available are simply awesome ;) > Pascal &g

Re: [deal.II] Re: Internal instability of the GMRES Solver / Trilinos

2017-03-16 Thread Martin Kronbichler
elp you? > > Thank you a lot for your support! This had been driving me crazy :) > > Best, > Pascal > > Am Donnerstag, 16. März 2017 08:58:53 UTC+1 schrieb Martin Kronbichler: > > Dear Pascal, > > You are right, in your case one needs to call > >

Re: [deal.II] Refining a hyper_ball with a spherical_manifold produces nan values

2017-04-25 Thread Martin Kronbichler
Dear Alex, you cannot set a SphericalManifold for the innermost part of a hyper_ball because the transformation degenerates for radius=0. You need to restrict the manifold to only the boundary or only the outer part of the hyper_ball. Best, Martin P.S. for future reference, if I have an is

Re: [deal.II] AssertDimension (partition_blocks[partition], task_info.n_blocks) when calling MatrixFree::reinit() for finest level in GMG

2017-05-05 Thread Martin Kronbichler
Hi Denis, This is a bug somewhere in the initialization of the blocks. Could you please send me the code to reproduce this behavior? Best, Martin -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en ---

Re: [deal.II] Re: Compilation fail with dealii 8.5.0 from Docker

2017-05-11 Thread Martin Kronbichler
Dear Ashkan, the error message pops up from line 1043, which is the case when your deal.II configuration does not have P4EST. This is the same code as in 8.4.0. It seems that your deal.II configuration misses to find P4EST, i.e., DEAL_II_WITH_P4EST is off with the 8.5 version. Can you check in the

Re: [deal.II] Re: Compilation fail with dealii 8.5.0 from Docker

2017-05-11 Thread Martin Kronbichler
s/petsc-3.7.4 > > PETSC_DIR=/home/dealii/libs/petsc-3.7.4 > > OCE_DIR=/home/dealii/libs/oce-0.17.2 > > > On Thursday, May 11, 2017 at 2:09:01 PM UTC+2, Martin Kronbichler wrote: > > Dear Ashkan, > > the error message pops up from line 1043, which is the

Re: [deal.II] Effect of attaching SphericalManifold to all entities

2017-06-02 Thread Martin Kronbichler
Hi Praveen, no, MappingQ does not unless you set the second boolean flag in the constructor to enable the mapping on all cells and not just the boundary. Even worse, when you have attached a curved manifold on the cells and not just the boundary you will have gaps in your computational domain. I h

[deal.II] Re: MappingQ, and minimal test for reproducing Benchmark

2017-06-03 Thread Martin Kronbichler
Dear Juan Carlos, We have now finalized the TransfiniteInterpolationManifold implementation in deal.II, http://dealii.org/developer/doxygen/deal.II/classTransfiniteInterpolationManifold.html If you are interested, please try it out and let us know. As its implementation is completely new and I

Re: [deal.II] point_value, Real&Imaginary parts, step-29

2021-08-24 Thread Martin Kronbichler
Dear Hermes, Did you try VectorTools::point_values, https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde ? As an alternative, you can also check if the point is in the locally owned cell of the respective cell, and run the evaluation only

Re: [deal.II] Post Processor for a mutli-component system

2021-09-23 Thread Martin Kronbichler
I did not check all code in detail, but what I observe is that you write into the joint_solution vector without ghosts. Now this would likely result in a run time error (for countinuous elements and in debug mode), rather than wrong output. But either way, I would recommend you move the "locall

Re: [deal.II] Re: Interlacing update ghost and assemble

2021-10-01 Thread Martin Kronbichler
Dear Praveen, In addition to what Bruno said, I would just add that I would benchmark the respective costs carefully before putting it into the code. As you observed, this requires some additional steps to figure out what work can be reasonably overlapped. We have this in the matrix-free frame

Re: [deal.II] Are there known issue between Trilinos 13.0.1 and deal.II?

2021-10-29 Thread Martin Kronbichler
Dear Bruno, This is a regular error and not related to the actual problem I believe. This is simply the message that we use to detect what SIMD extensions we can enable, and in your case the compilation does not support AVX. But I think further down in the CMakeFiles/CMakeError.log file you sh

Re: [deal.II] shape function gradient at arbitrary points in the element

2022-07-05 Thread Martin Kronbichler
Dear Simon, We have the class FEPointEvalation, https://dealii.org/developer/doxygen/deal.II/classFEPointEvaluation.html , which implements the operation of evaluating a solution at arbitrary points (as handed in as an array to points in unit coordinates). To do this for positions in real coo

Re: [deal.II] Re: matrix-free FEM for electromagnetic problem

2022-09-18 Thread Martin Kronbichler
At this moment, there is no support yet for Nedelec-type elements in the matrix-free framework. However, I would expect these to get ready within the next 2-3 months: We have recently added support for Raviart-Thomas elements, which have similar demands in terms of algorithms, therefore we have

Re: [deal.II] Re: Run time analysis for step-75 with matrix-free or matrix-based method

2022-10-19 Thread Martin Kronbichler
Dear Wayne, I am a bit surprised by your numbers and find them rather high, at least with the chosen problem sizes. I would expect the matrix-free solver to run in less than a second for 111,000 unknowns on typical computers, not almost 10 seconds. I need to honestly say that I do not have a g

Re: [deal.II] Re: Run time analysis for step-75 with matrix-free or matrix-based method

2022-10-19 Thread Martin Kronbichler
Dear Wayne, For performance it certainly matters, because some components of our codes have more low-level checks in debug mode than others, and because the compiler optimizations do not have the same effect on all parts of our code. Make sure to test the release mode and see if it makes more

Re: [deal.II] Re: measuring cpu and wall time for assembly routine

2022-10-19 Thread Martin Kronbichler
Dear Simon, You seem to be looking for FEPointEvaluation. That class is shown in step-19 and provides, for simple FiniteElement types, a much faster way to evaluate solutions at arbitrary points within a cell. Do you want to give it a try? The issue you are facing is that FEValues that you are usi

Re: [deal.II] Re: measuring cpu and wall time for assembly routine

2022-10-20 Thread Martin Kronbichler
Dear Simon, When you use FEPointEvaluation, you should construct it only once and re-use the same object for different points. Furthermore, you should also avoid to create "p_dofs" and the "std::vector" near the  I was not clear with my original message. Anyway, the problem is the FEValues ob

[deal.II] Postdoc or Ph.D. positions in Augsburg, Bochum and Munich

2022-11-08 Thread Martin Kronbichler
Dear all, For our project "PDExa: Optimized software methods for solving partial differential equations on exascale supercomputers", we are currently looking for applications for PhD or PostDoc positions on the development of HPC aspects of the deal.II library. The project is a collaborative eff

Re: [deal.II] Re: deal.II's 25th birthday

2022-11-30 Thread Martin Kronbichler
Dear Guido, I regret that you are stepping back as a developer, but I have full understanding for your personal situation. I think I speak of many developers and active users of deal.II when I express my gratitude for all your work and ideas that went into the project, especially regarding th

Re: [deal.II] What's the best strategy to speed up assembly?

2022-12-11 Thread Martin Kronbichler
Dear Kev, To give an additional perspective on this topic: The assembly functions of deal.II (when using FEValues and the approach shown in step-1 to step-30 at least) are not optimized for performance also when compiled in release mode, but rather for readability. On an average case with lin

Re: [deal.II] Convergence failure in step 0.

2023-02-13 Thread Martin Kronbichler
To extend over what Wolfgang said, the most likely causes for failure with the Chebyshev preconditioner are: - the vector supplying the matrix diagonal (via the field AdditionalData::preconditioner) contains Inf or NaN entries, which in turn result from either a ill-formed differential operato

Re: [deal.II] Re: Specify vectorization length

2023-02-23 Thread Martin Kronbichler
Dear Wayne, To add a remark on the speedup you observed and your expectation, you should keep in mind that vectorization only helps in case there are no other bottlenecks in the code, like bandwidth from main memory or from a particular cache level, how large the proportion of time is when ac

Re: [deal.II] Re: anisotropic polynomial degree

2023-03-12 Thread Martin Kronbichler
Dear Greg, Just to extend on what Peter said: It should be possible to define anisotropic degrees in a completely discontinuous finite element, say FE_DGP or FE_DGQ. In that case, you would derive from `FE_Poly` and insert an anisotropic polynomial space, doing whatever you think is appropria

Re: [deal.II] Finding AVX instructions always fails at cmake configure step

2023-05-04 Thread Martin Kronbichler
Dear Bruno, You need to specify appropriate CXX flags. For example, I always use   -D CMAKE_CXX_FLAGS="-march=native" on my local machines (that run the code I'm compiling) or   -D CMAKE_CXX_FLAGS="-march=icelake-server" on clusters to be sure the right code gets generated. For example GCC lists

Re: [deal.II] Weak scaling running out of memory

2023-06-07 Thread Martin Kronbichler
Dear Lucas, Without seeing your code, it is difficult to nail down the issue. But by far the most common mistake that lead to this type of problem in my codes is that I forgot to initialize an AffineConstraints object with an index set for the locally relevant DoFs, i.e., I was missing this li

Re: [deal.II] Re: CMake extra libraries?

2017-07-07 Thread Martin Kronbichler
This code triggers a safety mechanism that I introduced recently (April 26). We also see this on one of the test machines: https://cdash.kyomu.43-1.org/viewBuildError.php?buildid=8758 but I previously thought this is only due to a leftover in the configuration and I did not see it in real life b

Re: [deal.II] segmentation fault when calling make_vectorized_array

2017-07-12 Thread Martin Kronbichler
Hi Denis, what is a? Is it an element of an array? If yes, is the array of type AlignedVector (or derived from that). You get this kind of error when there is a load or store to an address that is not aligned by the size of the vectorized array, 32 bytes in your case. The data types Vectoriz

Re: [deal.II] segmentation fault when calling make_vectorized_array

2017-07-13 Thread Martin Kronbichler
Hi Denis, no, it's just a member variable VectorizedArray: VectorizedArray a; But then the class/struct that holds this member variable is not properly aligned, you probably have it inside an std::vector or allocated it with 'new'. You will need to put it into an AlignedVector or similar

Re: [deal.II] segmentation fault when calling make_vectorized_array

2017-07-13 Thread Martin Kronbichler
Hi Denis, > While on the topic of alignment, do I need to be more careful about using > > template > structQPData > { >Table<2, VectorizedArray > values; > } > QPData qp_data; > > as a member variable in my class? Table is fine because it is based on AlignedVector, so it will use the correct

Re: [deal.II] Re: Can we say that the higher order method, the more accurate?

2017-08-09 Thread Martin Kronbichler
Dear Howe, How did you run your simulation? From your picture, it appears that a higher order method is worse at higher degrees than a lower order method, which does not match with my experience. If that were the case, nobody would use high orders. However, you need to bring many pieces in pl

Re: [deal.II] Re: Can we say that the higher order method, the more accurate?

2017-08-09 Thread Martin Kronbichler
ercontent.com/-Vs0s6So28js/WYrCbyok9mI/BSc/rfs-1D1TA8c71IQZpOEyOoU3C1idNr1DQCLcBGAs/s1600/Image.png> Best, Howe 在 2017年8月9日星期三 UTC+8下午3:25:20,Martin Kronbichler写道: Dear Howe, How did you run your simulation? From your picture, it appears that a higher order method is worse at hig

Re: [deal.II] Re: Speeding up characteristic interpolation

2017-09-05 Thread Martin Kronbichler
Dear Praveen, Regarding the performance of your code, there are several fundamental problems: - You run the constructor of Quadrature (allocates memory) and FEValues (allocates lots of memory, evaluates a number of things you don't need) that are both not made for use within the scenario of FEFiel

Re: [deal.II] Speeding up characteristic interpolation

2017-09-07 Thread Martin Kronbichler
Hi Praveen, - At this point, the performance depends on the transform_real_to_unit_cell (which might be slow due to Newton iterations) and the polynomial evaluation of fe.shape_value and to some extent the virtual function call of the latter. It depends on your polynomial space whether this

Re: [deal.II] Artifacts at the refinement level boundary for Step 48

2017-09-08 Thread Martin Kronbichler
Dear Stephen, At hanging nodes, there is definitely going to be a larger error due to the approximation of the diagonal mass matrix. I do not remember the exact details but to get a diagonal mass matrix you need to assume an interpolation in addition to the approximation leading to the mass l

Re: [deal.II] Matrix-Free framework for vector problems: no assertion for components

2017-10-08 Thread Martin Kronbichler
Dear Michal, Could you please be a bit more specific? What was the error that you obtained? What vector did you pass into FEEvaluation::read_dof_values/distribute_local_to_global? I guess that you handed in a simple vector, e.g. LinearAlgebra::distributed::Vector and got a segmentation fault.

Re: [deal.II] Bug in FEEvaluationAccess::get_symmetric_gradient with Number =float

2017-10-08 Thread Martin Kronbichler
Dear Michal, You are right, this is a bug and your fix is indeed correct. Would you like to create a pull request fixing it? Here are some basic instructions: http://dealii.org/participate.html including a video lecture. This way you get the proper credit for it. Best, Martin On 08.10.2017

Re: [deal.II] Matrix-free: Computing coefficient involving material ID

2017-10-08 Thread Martin Kronbichler
Dear Michal, > for(unsigned int element=0; > element::n_array_elements ; ++element) Please use this->data->n_components_filled(cell) instead. It returns how many of the SIMD lanes are actually filled with real data. Best, Martin -- The deal.II project is located at http://www.dealii.org/ For

Re: [deal.II] Matrix-Free framework for vector problems: no assertion for components

2017-10-09 Thread Martin Kronbichler
W dniu niedziela, 8 października 2017 12:55:02 UTC+2 użytkownik Martin > Kronbichler napisał: > > Dear Michal, > > Could you please be a bit more specific? What was the error that > you obtained? What vector did you pass into > FEEvaluation::read_dof_values/distribute

Re: [deal.II] Bug in FEEvaluationAccess::get_symmetric_gradient with Number =float

2017-10-10 Thread Martin Kronbichler
https://github.com/dealii/dealii.git/': The > requested URL returned error: 403 > > > W dniu niedziela, 8 października 2017 12:58:50 UTC+2 użytkownik Martin > Kronbichler napisał: > > Dear Michal, > > You are right, this is a bug and your fix is i

Re: [deal.II] Petrov-Galerkin stabilization approach to solve Navier-Stoke equations

2017-10-20 Thread Martin Kronbichler
Hi Jie, > Thank you for your hints on my previous question. Now I have > extended step-57 to be time-dependent. I added a u,t term which is > approximated using backward Euler, and all the remaining terms are > treated implicitly. Newton iteration is still used at every time step. > The system b

Re: [deal.II] Re: Calculating lift and drag

2017-10-20 Thread Martin Kronbichler
Hi Jie, One needs to move some of the vertices around. I have some code that does generate this geometry in one of my projects: https://github.com/kronbichler/adaflo/blob/master/tests/flow_past_cylinder.cc (check the create_triangulation function) The mesh that comes out from this code is accur

Re: [deal.II] Re: Calculating lift and drag

2017-10-20 Thread Martin Kronbichler
Hi Jie, One needs to move some of the vertices around. I have some code that does generate this geometry in one of my projects: https://github.com/kronbichler/adaflo/blob/master/tests/flow_past_cylinder.cc (check the create_triangulation function) The mesh that comes out from this code is accur

Re: [deal.II] Non-homogeneus boundary conditions with-matrix-free not working

2017-10-27 Thread Martin Kronbichler
version. * The full text of the license can be found in the file LICENSE at * the top level of the deal.II distribution. * * ----- * * Authors: Katharina Kormann, Martin Kronbichler, Uppsala University, * 2009-2012, updated to MPI version with parallel vectors in 2016 */ #include

Re: [deal.II] Non-homogeneus boundary conditions with-matrix-free not working

2017-10-27 Thread Martin Kronbichler
entioning it step-37 would be great. > > Best, > > Bruno > > On Friday, October 27, 2017 at 3:57:09 AM UTC-4, Martin Kronbichler > wrote: > > Dear Michal, > > This is expected: the matrix-free operator evaluation cannot apply > non-homogeneous bo

Re: [deal.II] Possible bug in the Jacobi preconditioner for MatrixFreeOperators::LaplaceOperator for vector fields

2017-10-27 Thread Martin Kronbichler
Dear Stephen, You are absolutely right, the value of dofs_per_cell is simply wrong in the vector-valued case. I have been hesitant to fix it because there are some downstream projects using it (mostly mine, though), but I guess it is better to switch to the correct notation now rather than cau

Re: [deal.II] Non-homogeneus boundary conditions with-matrix-free not working

2017-10-28 Thread Martin Kronbichler
Dear Michal, You mean because once you apply an inhomogeneous Dirichlet condition on the velocity you also get a contribution because the divergence is not zero? You could work around that by applying a function in the whole domain that satisfies the Dirichlet constraints and is divergence fre

Re: [deal.II] Wrong result in use of FEEvaluation with different ConstraintMatrix objects

2017-12-02 Thread Martin Kronbichler
Dear Sambit, If the result of the two cases is different and ConstraintMatrix::distribute() was called in both cases, I expect there to be some confusion regarding the indices of ghost entries. In debug mode, there should be a check that the parallel partitioner of the vector inside FEEvaluat

Re: [deal.II] New deal.II 8.5.1 is 20% slower than deal.II 8.0.0

2017-12-27 Thread Martin Kronbichler
In general, we strive to make deal.II faster with new releases, and for many cases that is also true as I can confirm from my applications. I have ran step-23 on release 8.0 as well as the current development sources and I can confirm that the new version is slower on my machine. If I disable o

Re: [deal.II] New deal.II 8.5.1 is 20% slower than deal.II 8.0.0

2017-12-27 Thread Martin Kronbichler
wall time (70%) 2. fe_values.reinit -- less often 3. CG solver -- even less often Kind regards, Dmitry On Wednesday, December 27, 2017 at 11:49:42 AM UTC+3, Martin Kronbichler wrote: In general, we strive to make deal.II faster with new releases, and for many cases that is also true as I

Re: [deal.II] Re: order of cells in two MatrixFree objects on the same Triangulation and Quadrature but different FE spaces

2018-01-29 Thread Martin Kronbichler
Dear Denis, > p.s. the mapping is the same for both cases. > > On Monday, January 29, 2018 at 4:16:48 PM UTC+1, Denis Davydov wrote: > > Dear all, > > I am playing around with something in the following setup: > 1. I have a single p::d::Tria > 2. two different DoFHandler's using s

[deal.II] Vertex duplication in DataOut for discontinuous fields - reference to that?

2018-02-08 Thread Martin Kronbichler
Dear users and developers, I have a question regarding our output strategy: When we output our solution fields, we always create separate vertices for each element because this allows us to output discontinuous fields over element edges, for example. We also have an FAQ entry about this: https

Re: [deal.II] Re: Adding an independent DoF to a Trilinos system

2018-03-27 Thread Martin Kronbichler
seems to be causing the problem for my case. I think Martin Kronbichler might have to tell you why this is. But if you're adventurous, take a look how the FillComplete function in Trilinos looks like and whether you could possibly find the same kinds of savings there that I found in deal.II. I

Re: [deal.II] Add image to step

2018-05-02 Thread Martin Kronbichler
Hi Giovanni, I do have access to the svn for the homepage, so you can send them to me if you want (and nobody else was quicker in replying). Best, Martin On 02.05.2018 16:22, giovannialze...@hotmail.it wrote: > Hi everyone! >    I am working with Luca on step 60, it would be nice to add a coupl

Re: [deal.II] Compute diagonal with Matrix-Free on adaptive meshes

2018-05-02 Thread Martin Kronbichler
Dear Daniel, the problem is, as far as I can tell, the fact that once you assemble into a matrix and once into a vector. The paper K. Kormann: A Time-Space Adaptive Method for the Schrödinger Equation, Commun. Comput. Phys. 2016, doi: 10.4208/cicp.101214.021015a describes this effect in sec

Re: [deal.II] Re: Transfinite Interpolation

2018-05-24 Thread Martin Kronbichler
Hi Narenda and David, Just to add on top of what David Wells said, Luca Heltai and I once had the idea of showing this manifold in a new tutorial program (where we combine it with MappingFEField to show the performance impact). Now step-60 does contain some MappingFEField, but on a different topic

Re: [deal.II] Re: Linking error while compiling examples: "undefined reference to `dealii::VectorizedArray::n_array_elements'"

2018-10-09 Thread Martin Kronbichler
Dear Maxi, This variable is populated by a series of checks on your particular system. It happens when the configuration stage prints the following lines, and I assume that this is what you see: -- Performing Test DEAL_II_HAVE_SSE2 -- Performing Test DEAL_II_HAVE_SSE2 - Failed -- Performing Test

  1   2   >