You can subscribe to this list here.
2003 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}
(2) 
_{Oct}
(2) 
_{Nov}
(27) 
_{Dec}
(31) 

2004 
_{Jan}
(6) 
_{Feb}
(15) 
_{Mar}
(33) 
_{Apr}
(10) 
_{May}
(46) 
_{Jun}
(11) 
_{Jul}
(21) 
_{Aug}
(15) 
_{Sep}
(13) 
_{Oct}
(23) 
_{Nov}
(1) 
_{Dec}
(8) 
2005 
_{Jan}
(27) 
_{Feb}
(57) 
_{Mar}
(86) 
_{Apr}
(23) 
_{May}
(37) 
_{Jun}
(34) 
_{Jul}
(24) 
_{Aug}
(17) 
_{Sep}
(50) 
_{Oct}
(24) 
_{Nov}
(10) 
_{Dec}
(60) 
2006 
_{Jan}
(47) 
_{Feb}
(46) 
_{Mar}
(127) 
_{Apr}
(19) 
_{May}
(26) 
_{Jun}
(62) 
_{Jul}
(47) 
_{Aug}
(51) 
_{Sep}
(61) 
_{Oct}
(42) 
_{Nov}
(50) 
_{Dec}
(33) 
2007 
_{Jan}
(60) 
_{Feb}
(55) 
_{Mar}
(77) 
_{Apr}
(102) 
_{May}
(82) 
_{Jun}
(102) 
_{Jul}
(169) 
_{Aug}
(117) 
_{Sep}
(80) 
_{Oct}
(37) 
_{Nov}
(51) 
_{Dec}
(43) 
2008 
_{Jan}
(71) 
_{Feb}
(94) 
_{Mar}
(98) 
_{Apr}
(125) 
_{May}
(54) 
_{Jun}
(119) 
_{Jul}
(60) 
_{Aug}
(111) 
_{Sep}
(118) 
_{Oct}
(125) 
_{Nov}
(119) 
_{Dec}
(94) 
2009 
_{Jan}
(109) 
_{Feb}
(38) 
_{Mar}
(93) 
_{Apr}
(88) 
_{May}
(29) 
_{Jun}
(57) 
_{Jul}
(53) 
_{Aug}
(48) 
_{Sep}
(68) 
_{Oct}
(151) 
_{Nov}
(23) 
_{Dec}
(35) 
2010 
_{Jan}
(84) 
_{Feb}
(60) 
_{Mar}
(184) 
_{Apr}
(112) 
_{May}
(60) 
_{Jun}
(90) 
_{Jul}
(23) 
_{Aug}
(70) 
_{Sep}
(119) 
_{Oct}
(27) 
_{Nov}
(47) 
_{Dec}
(54) 
2011 
_{Jan}
(22) 
_{Feb}
(19) 
_{Mar}
(92) 
_{Apr}
(93) 
_{May}
(35) 
_{Jun}
(91) 
_{Jul}
(32) 
_{Aug}
(61) 
_{Sep}
(7) 
_{Oct}
(69) 
_{Nov}
(81) 
_{Dec}
(23) 
2012 
_{Jan}
(64) 
_{Feb}
(95) 
_{Mar}
(35) 
_{Apr}
(36) 
_{May}
(63) 
_{Jun}
(98) 
_{Jul}
(70) 
_{Aug}
(171) 
_{Sep}
(149) 
_{Oct}
(64) 
_{Nov}
(67) 
_{Dec}
(126) 
2013 
_{Jan}
(108) 
_{Feb}
(104) 
_{Mar}
(171) 
_{Apr}
(133) 
_{May}
(108) 
_{Jun}
(100) 
_{Jul}
(93) 
_{Aug}
(126) 
_{Sep}
(74) 
_{Oct}
(59) 
_{Nov}
(145) 
_{Dec}
(93) 
2014 
_{Jan}
(38) 
_{Feb}
(45) 
_{Mar}
(26) 
_{Apr}
(41) 
_{May}
(125) 
_{Jun}
(70) 
_{Jul}
(61) 
_{Aug}
(66) 
_{Sep}
(56) 
_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 

1
(3) 
2
(2) 
3
(5) 
4

5

6
(2) 
7
(3) 
8
(2) 
9
(5) 
10

11

12

13
(4) 
14
(4) 
15
(2) 
16
(2) 
17
(5) 
18
(1) 
19
(2) 
20
(2) 
21

22

23
(3) 
24

25

26

27

28

29

30

31





From: KIRK, BENJAMIN (JSCEG) (NASA) <benjamin.kirk1@na...>  20060123 17:28:17

Glad the library has been of help! On a side note, if you would like = to contribute some results to our wiki (http://libmesh.sourceforge.net/wiki/index.php/Gallery) at some point = we would love to have them! If I understand correctly, you are developing an explicit RKDG solver, right? In that case you simply need the remote degrees of freedom = properly synchronized in the solution vector to build the "forcing" vector in = the RK solver? If that is the case, then you are correct, the current implementation constructs the send list based on geometric adjacency and will miss = these remote DOFs which are coupled through the periodic BC. There are at = least two solutions, one is immediate (but less efficient) and the other will require some changes in the library but is more appropriate longterm. (1) Rather than using system.solution, which synchronizes only the dofs specified in the send_list, you should be able to synchronize *all* the = dofs in the mesh. This is equivalent to an MPI_Allreduce, and goes like the following: ...code that updates system.current_local_solution.... system.current_local_solution>localize(*system.solution); This updates *all* the locations in the system.solution vector. It is = less efficient than the send_list version because unnecessary values are = also copied, but it is sure to solve your problem. I'd start here and get = your parallel code working. (2) Modify the DofMap so that it includes the requisite DOFs in the send_list. The most generic way to do this is probably to derive your = own class from the DofMap where you reimplement the send_list calculation = code. However, some more changes in the library would be necessary before = that approach would work. At any rate, try (1) and let me know how it goes. We can then address = the more general solution.=20 Ben Original Message From: libmeshusersadmin@... [mailto:libmeshusersadmin@...] On Behalf Of Jo=E3o Henriques Sent: Monday, January 23, 2006 9:51 AM To: libmeshusers@... Subject: [Libmeshusers] Nonconforming meshes Hi, I am developing a RungeKutta discontinuous Galerkin (RKDG) solver to = study compressible flow in turbomachines. By using this great library I was = able to code the serial version of the 2D and the 3D solvers in less than an month. To compute steadystate in a turbomachines (3D) with a single row of = blades we only need a domain with a single blade with appropriated periodic conditions. These periodic condition are imposed by applying a rotation of ( 360 = deg / num_blades ) to the conservative variables and conservative fluxes. = These periodic boundaries are geometrically equal but have different surface meshes. The periodic boundary conditions are handled quite easily in the serial version of the code because the RKDG only needs the numerical solution = from the periodic neighbors at the surface integration points. I coded this by finding which element of the other periodic surface = contains the desired surface integration point. The problem is when I try to perform the parallelization of the code. The parallel code that finds the periodic neighbors was almost equal to = the serial version because the entire mesh is passed to all the processors. My BIG PROBLEM is how to get the solution at elements that contains the integration points in the periodic surfaces that belong to other = processors but are not included the send_list of the processor? Best regards, Jo=E3o Henriques  This SF.net email is sponsored by: Splunk Inc. Do you grep through log = files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.asus.falkag.net/sel?cmd=3Dlnk&kid=3D103432&bid=3D230486&dat=3D= 121642 _______________________________________________ Libmeshusers mailing list Libmeshusers@... https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: John Peterson <peterson@cf...>  20060123 17:08:16

Jo=E3o Henriques writes: >=20 > My BIG PROBLEM is how to get the solution at elements that contains = the=20 > integration points in the periodic > surfaces that belong to other processors but are not included the=20= > send_list of the processor? One way might be to build a std::vector of the appropriate length, and on each processor, insert the part of the solution from the periodic su= rface. Then, use a direct MPI call to communicate this vector to all processor= s, I believe MPI_AllGatherv, or similar. Of course, the structure of this= vector (the ordering) is up to you. I suggest mapping the global eleme= nt numbers of the surface elements to sequential entries in the vector, e.= g. suppose elements 12, 45, and 51 are on the boundary, and there are 4 so= lution values (a,b,c,d) for each of the elements. Then the entries in the vec= tor would be [0]=3D12a [1]=3D12b [2]=3D12c [3]=3D12d [4]=3D45a [5]=3D45b [6]=3D45c [7]=3D45d [8]=3D51a [9]=3D51b [10]=3D51c [11]=3D51d Of course, you will also need to store the mapping: [12, 45, 51] so you know which offset into the vector to use. What do = you think? It should work in serial (but be a bit slower than your origina= l code) as well. J 
From: <jcch@ma...>  20060123 15:50:59

Hi, I am developing a RungeKutta discontinuous Galerkin (RKDG) solver to study compressible flow in turbomachines. By using this great library I was able to code the serial version of the 2D and the 3D solvers in less than an month. To compute steadystate in a turbomachines (3D) with a single row of blades we only need a domain with a single blade with appropriated periodic conditions. These periodic condition are imposed by applying a rotation of ( 360 deg / num_blades ) to the conservative variables and conservative fluxes. These periodic boundaries are geometrically equal but have different surface meshes. The periodic boundary conditions are handled quite easily in the serial version of the code because the RKDG only needs the numerical solution from the periodic neighbors at the surface integration points. I coded this by finding which element of the other periodic surface contains the desired surface integration point. The problem is when I try to perform the parallelization of the code. The parallel code that finds the periodic neighbors was almost equal to the serial version because the entire mesh is passed to all the processors. My BIG PROBLEM is how to get the solution at elements that contains the integration points in the periodic surfaces that belong to other processors but are not included the send_list of the processor? Best regards, João Henriques 
From: John Peterson <peterson@cf...>  20060120 21:26:48

It's true that the libmesh wiki requires a separate username/password from your sourceforge account. This is to cut down on wiki vandalism. Anyone who wants an account should email me with their desired user name, and I will endeavour to create said account. John Martin Truffer writes: > I just went through installing libmesh on an AMD 64 processor running > Ubuntu. Ondrej's notes on the Wiki have been VERY helpful. Here is a > useful addition for the "uninitiated" user: > It might be necessary to install some additional libraries in the > process. For example, it is not sufficient to have mpichbin > installed, you also need libmpich1.0dev. Without that PetSc did not > configure properly. Also, to link the examples, I had to install zlib1gdev. > > I tried to add this to the Wiki, but I cannot figure out how to > create an account. I have one at sourceforge, but that's apparently > not the same. On the Wiki page there is a link "Log in or create > account" which leads to a login page. For "create account" it says > "use form below", which does not exist. 
From: Martin Truffer <truffer@gi...>  20060120 19:06:13

I just went through installing libmesh on an AMD 64 processor running Ubuntu. Ondrej's notes on the Wiki have been VERY helpful. Here is a useful addition for the "uninitiated" user: It might be necessary to install some additional libraries in the process. For example, it is not sufficient to have mpichbin installed, you also need libmpich1.0dev. Without that PetSc did not configure properly. Also, to link the examples, I had to install zlib1gdev. I tried to add this to the Wiki, but I cannot figure out how to create an account. I have one at sourceforge, but that's apparently not the same. On the Wiki page there is a link "Log in or create account" which leads to a login page. For "create account" it says "use form below", which does not exist. cheers martin 
From: Roy Stogner <roystgnr@ic...>  20060119 15:12:30

On Thu, 19 Jan 2006, Shengli Xu wrote: > In example 11, the boundary condition is addressed in the loop of assembling > the stiffness and right hand force. Can the boundary condition be addressed > after the global stiffness matrix and the global right load vector have > assembled? Yes. > I think they are equal. But what does the following code mean? > > We have now built the element matrix and RHS vector in terms of the element > degrees of freedom. However, it is possible that some of the element DOFs > are constrained to enforce solution continuity, i.e. they are not really > "free". We need to constrain those DOFs in terms of nonconstrained DOFs to > ensure a continuous solution. The \p > DofMap::constrain_element_matrix_and_vector() method does just that. > > dof_map.constrain_element_matrix_and_vector (Ke, Fe, dof_indices); This function is to handle hanging degrees of freedom on adaptively refined meshes. With first order elements, for example, the degree of freedom at a "hanging node" can't take just any value  it has to be the average of the values of the DoFs at the two neighboring nodes. This shouldn't be a concern for different boundary condition specifications; hanging nodes are on sides between differently refined elements and so by definition aren't on the boundary. > I checked that the global stiffness matrix and right load vector are wright. I'm assuming thie means "right, before boundary conditions are added". If you get the right matrix and force vector but the wrong solution, then you've got a solver problem. > for(unsigned int n_cnt=0;n_cnt<n_nodes;n_cnt++){ > const Node &curr_node = mesh.node(n_cnt); > > // set boundary on y=0 > const Real y_bound = 0.; > if(fabs(curr_node(1)y_bound) < TOLERANCE){ > unsigned int dn = curr_node.dof_number(0,0,0); > const Real penalty = 1.e10; > const Real u_value = 0.0; > unsigned int dny = curr_node.dof_number(0,1,0); > const Real v_value = 0.0; > if(fabs(curr_node(0)0.5) < TOLERANCE){ > unsigned int dnp = curr_node.dof_number(0,2,0); > const Real p_value = 0.0; > rhs.add(dnp,p_value*penalty); > matrix.add(dnp,dnp,penalty); > } > > rhs.add(dn,u_value*penalty); > matrix.add(dn,dn,penalty); > > rhs.add(dny,v_value*penalty); > matrix.add(dny,dny,penalty); > } > > // set boundary on y=1. > const Real y_top = 1.; > if(fabs(curr_node(1)y_top) < TOLERANCE){ > unsigned int dn = curr_node.dof_number(0,0,0); > const Real u_value = 0.0; > unsigned int dny = curr_node.dof_number(0,1,0); > const Real penalty = 1.e10; > const Real v_value = 0.0; > > rhs.add(dn,u_value*penalty); > matrix.add(dn,dn,penalty); > > rhs.add(dny,v_value*penalty); > matrix.add(dny,dny,penalty); > } > // set boundary on x=0. > const Real x_left = 0.; > if(fabs(curr_node(0)x_left) < TOLERANCE && > (fabs(curr_node(1)y_bound)>TOLERANCE) && > (fabs(curr_node(1)y_top)>TOLERANCE) ){ > unsigned int dn = curr_node.dof_number(0,0,0); > const Real penalty = 1.e10; > const Real u_value = 0.0; > unsigned int dny =curr_node.dof_number(0,1,0); > const Real v_value = 0.0; > > rhs.add(dn,u_value*penalty); > matrix.add(dn,dn,penalty); > > rhs.add(dny,v_value*penalty); > matrix.add(dny,dny,penalty); > } > // set boundary on x=1. > const Real x_right = 1.; > if(fabs(curr_node(0)x_right) < TOLERANCE > &&(fabs(curr_node(1)y_bound)>TOLERANCE) && > (fabs(curr_node(1)y_top)>TOLERANCE)){ > unsigned int dn = curr_node.dof_number(0,0,0); > const Real penalty = 1.e10; > const Real u_value = 0.0; > unsigned int dny = curr_node.dof_number(0,1,0); > const Real v_value = 0.0; > > rhs.add(dn,u_value*penalty); > matrix.add(dn,dn,penalty); > > rhs.add(dny,v_value*penalty); > matrix.add(dny,dny,penalty); > } > //////////////////////////// > I want to know is it right to address boundary condition. This code will break horribly on nonLagrange nonfirst order elements, but should be fine for the elements you're using, assuming your geometric elements are also first order and once you find whatever the bug is. This looks basically like what we do in examples 6, 7, and 8. Have you printed out postboundarycondition matrices to examine? It should be easy to make sure the right number of DoFs are getting attached penalty terms, and then not too much harder to make sure the right DoFs are getting them.  Roy Stogner 
From: Shengli Xu <shengli.xu@gm...>  20060119 13:46:56

In example 11, the boundary condition is addressed in the loop of assemblin= g the stiffness and right hand force. Can the boundary condition be addressed after the global stiffness matrix and the global right load vector have assembled? I think they are equal. But what does the following code mean? We have now built the element matrix and RHS vector in terms of the elemen= t degrees of freedom. However, it is possible that some of the element DOFs are constrained to enforce solution continuity, i.e. they are not really "free". We need to constrain those DOFs in terms of nonconstrained DOFs to ensure a continuous solution. The \p DofMap::constrain_element_matrix_and_vector() method does just that. dof_map.constrain_element_matrix_and_vector (Ke, Fe, dof_indi= ces); In my program, the global stiffness matrix and the right load vector are assembled first. Then the boundar conditions of u,v,p are addresed through the loop of node. But I can not get the correct result. My problem is to solve 2D stokes equation using the least square finite element. Some information about my program is : // add variable "u","v","p","oz" system.add_variable("u",FIRST); system.add_variable("v",FIRST); system.add_variable("p",FIRST); system.add_variable("oz",FIRST); // oz is the vorticity I checked that the global stiffness matrix and right load vector are wright= . After assembled the stiffness matrix and right load vector, the boundary condition is addressed as: (the domain is 1X1, the boundary condition is u=3D0,v=3D0 at the four sides of domain, p=3D0 at node (0.5, 0). the code is: ///////////////////////////////// for(unsigned int n_cnt=3D0;n_cnt<n_nodes;n_cnt++){ const Node &curr_node =3D mesh.node(n_cnt); // set boundary on y=3D0 const Real y_bound =3D 0.; if(fabs(curr_node(1)y_bound) < TOLERANCE){ unsigned int dn =3D curr_node.dof_number(0,0,0); const Real penalty =3D 1.e10; const Real u_value =3D 0.0; unsigned int dny =3D curr_node.dof_number(0,1,0); const Real v_value =3D 0.0; if(fabs(curr_node(0)0.5) < TOLERANCE){ unsigned int dnp =3D curr_node.dof_number(0,2,0); const Real p_value =3D 0.0; rhs.add(dnp,p_value*penalty); matrix.add(dnp,dnp,penalty); } rhs.add(dn,u_value*penalty); matrix.add(dn,dn,penalty); rhs.add(dny,v_value*penalty); matrix.add(dny,dny,penalty); } // set boundary on y=3D1. const Real y_top =3D 1.; if(fabs(curr_node(1)y_top) < TOLERANCE){ unsigned int dn =3D curr_node.dof_number(0,0,0); const Real u_value =3D 0.0; unsigned int dny =3D curr_node.dof_number(0,1,0); const Real penalty =3D 1.e10; const Real v_value =3D 0.0; rhs.add(dn,u_value*penalty); matrix.add(dn,dn,penalty); rhs.add(dny,v_value*penalty); matrix.add(dny,dny,penalty); } // set boundary on x=3D0. const Real x_left =3D 0.; if(fabs(curr_node(0)x_left) < TOLERANCE && (fabs(curr_node(1)y_bound)>TOLERANCE) && (fabs(curr_node(1)y_top)>TOLERANCE) ){ unsigned int dn =3D curr_node.dof_number(0,0,0); const Real penalty =3D 1.e10; const Real u_value =3D 0.0; unsigned int dny =3Dcurr_node.dof_number(0,1,0); const Real v_value =3D 0.0; rhs.add(dn,u_value*penalty); matrix.add(dn,dn,penalty); rhs.add(dny,v_value*penalty); matrix.add(dny,dny,penalty); } // set boundary on x=3D1. const Real x_right =3D 1.; if(fabs(curr_node(0)x_right) < TOLERANCE &&(fabs(curr_node(1)y_bound)>TOLERANCE) && (fabs(curr_node(1)y_top)>TOLERANCE)){ unsigned int dn =3D curr_node.dof_number(0,0,0); const Real penalty =3D 1.e10; const Real u_value =3D 0.0; unsigned int dny =3D curr_node.dof_number(0,1,0); const Real v_value =3D 0.0; rhs.add(dn,u_value*penalty); matrix.add(dn,dn,penalty); rhs.add(dny,v_value*penalty); matrix.add(dny,dny,penalty); } //////////////////////////// I want to know is it right to address boundary condition. ShengliXu 
From: Shengli Xu <shengli.xu@gm...>  20060118 13:29:00

From: Steffen Petersen <steffen.petersen@tu...>  20060117 20:55:55

Shengli Xu schrieb: > In example 8 : > ...... > if (fabs(curr_node(2)z_coo) < TOLERANCE) > { > // The global number of the respective degree of freedom. > unsigned int dn = curr_node.dof_number(0,0,0); > > // The penalty parameter. > const Real penalty = 1.e10; > ...... > > the function dof_number(0,0,0) is unsigned int > DofObject::dof_number(const unsigned int s, const unsigned int var, > const unsigned int comp). What is comp? Is it for parallel? Comp is the number of components (for variable var in system s) associated with a specific DofObject. For the Lagrange elements used here, each node has exactly one degree of freedom (and ther is only one variable), which means that there is only one component (0) and we get the corresponding dof number from the call dof_number(0,0,0). Note that for other finite element types more than one degree of freedom can be associated with one node, and there can also be dofs that belong to elements. > For example in 2D , the first defined variable is u, the second defined > variable is v. If I want to set the boundary of v. Is it right that > dof_number(0,1,0)? Yes. > Can libMesh read boundary information from input file? What is the > format ? Is there some examples about it? > Can libMesh read all information from input file. Don't set the node > boundary condition like in Example 8 manually. You may have a look at example 7. In this example the rhs vector is read from a file. In a similar manner other boundary conditions can be defined in such an input file. Steffen 
From: Ondrej Certik <ondrej@ce...>  20060117 20:53:13

> The actual slepc version (2.3.0) also offers a Lanczos > solver (for Hermitian problems) that can be used to compute the > smallest values in the spectrum (since I have been using > an older slepc version so far I have not tested this solver yet). > I have just commited some changes to also include the > Lanczos algorithm that comes with the current version. I tried Lanczos, and unfortunately, it always says, the solver didn't converge. And my external solver (pysparse) works fine on the same matrix. > For computing the smallest eigenvalues I have used slepc > (2.2.1) together with the arpack package, but it seems that > I need to change some cunfiguration stuff to get everything > working with the 2.3.0 version. The arpack++ package looks good, thanks for the tip. Ondrej 
From: KIRK, BENJAMIN (JSCEG) (NASA) <benjamin.kirk1@na...>  20060117 16:19:16

Many apologies. It seems the make rule we have for rsync'ing the xda_format directory for the web page was in error. I have manually updated the file and will fix the rule shortly. Ben Original Message From: libmeshusersadmin@... [mailto:libmeshusersadmin@...] On Behalf Of David Knezevic Sent: Friday, January 13, 2006 3:48 AM To: Roy Stogner Cc: Shengli Xu; libmeshusers@... Subject: Re: [Libmeshusers] Where can I find the description of XDA and UNV file format used by LibMesh? I updated the xda_format.pdf file a while ago. I added the updated version to the CVS repository but I guess it never got uploaded to the website. Check in your libmesh/doc/latex/xda_format directory.  Dave On 13/01/2006, at 2:01 AM, Roy Stogner wrote: > On Fri, 13 Jan 2006, Shengli Xu wrote: > >> Title String >> 0 4 8 7 >> 8 5 2 6 >> 7 9 3 >> ....... >> Is this the node information of element? > > These are the node numbers in each element, one element per line. > >> But it does not fit with the Figure. 1. > > No, it doesn't. > >> The element nodes is >> "1,2,3,4" of element 1 in Figure.1. Is "0 >> 4 8 7" right ? I think it maybe "0 1 2 3" ? > > The nodes in Fig. 1 appear to be misnumbered. The node numbers in the > .xda file do fit with the node coordinates later in the file. > > Someone should fix that figure... but it probably won't get done until > we update the whole description document, which doesn't cover the new > libMesh .xda support for storing refined meshes. >  > Roy Stogner > > >  > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files for problems? Stop! Download the new AJAX search engine that > makes searching your log files as easy as surfing the web. DOWNLOAD > SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > Libmeshusers mailing list > Libmeshusers@... > https://lists.sourceforge.net/lists/listinfo/libmeshusers  This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ Libmeshusers mailing list Libmeshusers@... https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: KIRK, BENJAMIN (JSCEG) (NASA) <benjamin.kirk1@na...>  20060117 15:45:36

Sure... The CBS method ends up adding streamline diffusion in a clever way, much like the SUPG or TaylorGalerkin formulations. I've played with it for scalar convectiondiffusion problems, but it is easily applicable to systems. All you need to do is write out the stabilized weak form and implement all the terms using the test and trial functions (and their gradients) provided in the library. The only reason stabilized methods are not implemented in the examples is to avoid "endorsing" any single approach. I routinely use SUPG stabilization for the compressible NavierStokes equations. Ben _____ From: libmeshusersadmin@... [mailto:libmeshusersadmin@...] On Behalf Of Shengli Xu Sent: Thursday, January 12, 2006 7:07 PM To: libmeshusers@... Subject: [Libmeshusers] Can the characteristicbased split (CBS) algorithm for NS function be worked with libMesh? Does anybody have experience on it? Thanks! ShengliXu 
From: Steffen Petersen <steffen.petersen@tu...>  20060117 14:15:57

> Hi, I also use the generalized eigenvalue problem and it=20 > works fine. Many > thanks. I have a question: I have a real symmetric problem,=20 > so I get only real > eigenvalues, but I need to get the lowest ones. So I use: >=20 > eigen_system.eigen_solver>set_position_of_spectrum(SMALLEST_M AGNITUDE); >=20 > The problem is, that all the solvers from slepc package=20 > (ARNOLDI, SUBSPACE, > POWER) don't support the "SMALLEST_MAGNITUDE" option, see=20 > their sources, for > example slepc2.3.0/src/eps/impls/arnoldi/arnoldi.c, line 38: >=20 > if (eps>which!=3DEPS_LARGEST_MAGNITUDE) > SETERRQ(1,"Wrong value of eps>which"); >=20 > Except the "LAPACK" solver. Lapack works fine, but it=20 > retrieves all the > eigenvalues and is really slow, in fact for a bigger mesh=20 > it's completely > unusable (but works). Is there a way how to get the lowest=20 > eigenvalues with > slepc (maybe using some trick)? The actual slepc version (2.3.0) also offers a Lanczos solver (for Hermitian problems) that can be used to compute the smallest values in the spectrum (since I have been using an older slepc version so far I have not tested this solver yet). I have just commited some changes to also include the Lanczos algorithm that comes with the current version. For computing the smallest eigenvalues I have used slepc (2.2.1) together with the arpack package, but it seems that I need to change some cunfiguration stuff to get everything working with the 2.3.0 version. Steffen =20 > In the meantime, I export the element matrices to a file and=20 > use external > solver, pysparse >=20 > http://people.web.psi.ch/geus/pyfemax/pysparse.html >=20 > so I have a small (88 lines) python script, which assembles=20 > the global matrices > (they are called A and B in libmesh), and calls Jacobi=20 > Davidson method from > pysparse module. The solver is written in C (exported to=20 > python), it's fast and > it works.=20 >=20 > Ondrej >=20 > On Mon, Jan 16, 2006 at 12:25:50AM +0100, Steffen Petersen wrote: > > Hello Michael, > >=20 > > a few weeks ago you have asked for > > solving generalized eigenvalue problems with libMesh. > > Meanwhile, I have extended the slepc interface > > to also support generalized problems > > (with a few modifaications example 16 > > may be used for solving a generalized eigenvalue > > problem). > > Feel free to ask if you are interested in some > > more details. > >=20 > > Steffen > >=20 > >=20 > >=20 > > Michael Povolotskyi schrieb: > > >Dear Libmesh developers, > > >I have to solve an eigenvalue problem for a quantum=20 > physics calculations. > > >My questions are: > > >1) Is it possible to solve a general eigenvalue problem=20 > like Hx =3D Sx,=20 > > >where H and S are known matrixes. > > >2) Is it possible to have complex (selfconjugated) matrixes? > > > > > >Thank you, > > >Michael. > > >=20 > > >=20 > This SF.net=20 > > >email is sponsored by: Splunk Inc. Do you grep through log=20 > files for=20 > > >problems? Stop! Download the new AJAX search engine that=20 > makes searching=20 > > >your log files as easy as surfing the web. DOWNLOAD SPLUNK!=20 > > >http://ads.osdn.com/?ad_idv37&alloc_id=16865&op=3Dclick=20 > > >_______________________________________________=20 > Libmeshusers mailing=20 > > >list Libmeshusers@...=20 > > >https://lists.sourceforge.net/lists/listinfo/libmeshusers > >=20 > >=20 > >=20 > >  > > This SF.net email is sponsored by: Splunk Inc. Do you grep=20 > through log files > > for problems? Stop! Download the new AJAX search engine that makes > > searching your log files as easy as surfing the web. =20 > DOWNLOAD SPLUNK! > > http://ads.osdn.com/?ad_id=3D7637&alloc_id=3D16865&op=3Dclick > > _______________________________________________ > > Libmeshusers mailing list > > Libmeshusers@... > > https://lists.sourceforge.net/lists/listinfo/libmeshusers >=20 
From: Ondrej Certik <ondrej@ce...>  20060116 09:35:16

Hi, I also use the generalized eigenvalue problem and it works fine. Many thanks. I have a question: I have a real symmetric problem, so I get only r= eal eigenvalues, but I need to get the lowest ones. So I use: eigen_system.eigen_solver>set_position_of_spectrum(SMALLEST_MAGNITUDE); The problem is, that all the solvers from slepc package (ARNOLDI, SUBSPACE, POWER) don't support the "SMALLEST_MAGNITUDE" option, see their sources, for example slepc2.3.0/src/eps/impls/arnoldi/arnoldi.c, line 38: if (eps>which!=3DEPS_LARGEST_MAGNITUDE) SETERRQ(1,"Wrong value of eps>which"); Except the "LAPACK" solver. Lapack works fine, but it retrieves all the eigenvalues and is really slow, in fact for a bigger mesh it's completely unusable (but works). Is there a way how to get the lowest eigenvalues with slepc (maybe using some trick)? In the meantime, I export the element matrices to a file and use external solver, pysparse http://people.web.psi.ch/geus/pyfemax/pysparse.html so I have a small (88 lines) python script, which assembles the global matr= ices (they are called A and B in libmesh), and calls Jacobi Davidson method from pysparse module. The solver is written in C (exported to python), it's fast= and it works.=20 Ondrej On Mon, Jan 16, 2006 at 12:25:50AM +0100, Steffen Petersen wrote: > Hello Michael, >=20 > a few weeks ago you have asked for > solving generalized eigenvalue problems with libMesh. > Meanwhile, I have extended the slepc interface > to also support generalized problems > (with a few modifaications example 16 > may be used for solving a generalized eigenvalue > problem). > Feel free to ask if you are interested in some > more details. >=20 > Steffen >=20 >=20 >=20 > Michael Povolotskyi schrieb: > >Dear Libmesh developers, > >I have to solve an eigenvalue problem for a quantum physics calculations. > >My questions are: > >1) Is it possible to solve a general eigenvalue problem like Hx =3D Sx,= =20 > >where H and S are known matrixes. > >2) Is it possible to have complex (selfconjugated) matrixes? > > > >Thank you, > >Michael. > >=20 > > This SF.net=20 > >email is sponsored by: Splunk Inc. Do you grep through log files for=20 > >problems? Stop! Download the new AJAX search engine that makes searching= =20 > >your log files as easy as surfing the web. DOWNLOAD SPLUNK!=20 > >http://ads.osdn.com/?ad_idv37&alloc_id=16865&op=3Dclick=20 > >_______________________________________________ Libmeshusers mailing=20 > >list Libmeshusers@...=20 > >https://lists.sourceforge.net/lists/listinfo/libmeshusers >=20 >=20 >=20 >  > This SF.net email is sponsored by: Splunk Inc. Do you grep through log fi= les > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=3D7637&alloc_id=3D16865&op=3Dclick > _______________________________________________ > Libmeshusers mailing list > Libmeshusers@... > https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: Michael Povolotskyi <povolotskyi@in...>  20060116 09:22:36

<!DOCTYPE html PUBLIC "//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO88591" httpequiv="ContentType"> <title></title> </head> <body bgcolor="#cccccc" text="#000000"> Hello Steffen,<br> currently I'm involved into another problem,<br> but soon I'll get into it.<br> <br> Is the generalized eigenvalue problem, that is implemented in interface, real or complex?<br> Hermitian or not?<br> <br> Michael.<br> <br> Steffen Petersen wrote: <blockquote cite="mid43CAD9FE.2070502@..." type="cite">Hello Michael, <br> <br> a few weeks ago you have asked for <br> solving generalized eigenvalue problems with libMesh. <br> Meanwhile, I have extended the slepc interface <br> to also support generalized problems <br> (with a few modifaications example 16 <br> may be used for solving a generalized eigenvalue <br> problem). <br> Feel free to ask if you are interested in some <br> more details. <br> <br> Steffen <br> <br> <br> <br> Michael Povolotskyi schrieb: <br> <blockquote type="cite">Dear Libmesh developers, <br> I have to solve an eigenvalue problem for a quantum physics calculations. <br> My questions are: <br> 1) Is it possible to solve a general eigenvalue problem like Hx = Sx, where H and S are known matrixes. <br> 2) Is it possible to have complex (selfconjugated) matrixes? <br> <br> Thank you, <br> Michael. <br> <br>  This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! <a class="moztxtlinkfreetext" href="http://ads.osdn.com/?ad_idv37&alloc_id865&op=click">http://ads.osdn.com/?ad_idv37&alloc_id865&op=click</a>; _______________________________________________ Libmeshusers mailing list <a class="moztxtlinkabbreviated" href="mailto:Libmeshusers@...">Libmeshusers@...</a> <a class="moztxtlinkfreetext" href="https://lists.sourceforge.net/lists/listinfo/libmeshusers">https://lists.sourceforge.net/lists/listinfo/libmeshusers</a>; <br> </blockquote> <br> <br> </blockquote> <br> <br> <pre class="mozsignature" cols="250">  Michael Povolotskyi, Ph.D. University of Rome "Tor Vergata" Department of Electronic Engineering Viale Politecnico, 1  00133 Rome  Italy Phone + 39 06 72597781 Fax + 39 06 2020519 <a class="moztxtlinkfreetext" href="http://www.optolab.uniroma2.it/pages/moshe/moshe.html">http://www.optolab.uniroma2.it/pages/moshe/moshe.html</a>;  </pre> </body> </html> 
From: Steffen Petersen <steffen.petersen@tu...>  20060115 23:25:33

Hello Michael, a few weeks ago you have asked for solving generalized eigenvalue problems with libMesh. Meanwhile, I have extended the slepc interface to also support generalized problems (with a few modifaications example 16 may be used for solving a generalized eigenvalue problem). Feel free to ask if you are interested in some more details. Steffen Michael Povolotskyi schrieb: > Dear Libmesh developers, > I have to solve an eigenvalue problem for a quantum physics calculations. > My questions are: > 1) Is it possible to solve a general eigenvalue problem like Hx = Sx, > where H and S are known matrixes. > 2) Is it possible to have complex (selfconjugated) matrixes? > > Thank you, > Michael. > >  This SF.net > email is sponsored by: Splunk Inc. Do you grep through log files for > problems? Stop! Download the new AJAX search engine that makes searching > your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_idv37&alloc_id865&op=click > _______________________________________________ Libmeshusers mailing > list Libmeshusers@... > https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: Shengli Xu <shengli.xu@gm...>  20060115 06:32:12

In example 8 : ...... if (fabs(curr_node(2)z_coo) < TOLERANCE) { // The global number of the respective degree of freedom. unsigned int dn =3D curr_node.dof_number(0,0,0); // The penalty parameter. const Real penalty =3D 1.e10; ...... the function dof_number(0,0,0) is unsigned int DofObject::dof_number(const unsigned int s, const unsigned int var, const unsigned int comp). What is comp? Is it for parallel? For example in 2D , the first defined variable is u, the second defined variable is v. If I want to set the boundary of v. Is it right that dof_number(0,1,0)? Can libMesh read boundary information from input file? What is the format ? Is there some examples about it? Can libMesh read all information from input file. Don't set the node boundary condition like in Example 8 manually. ShengliXu 
From: Roy Stogner <roystgnr@ic...>  20060114 16:09:48

On Sat, 14 Jan 2006, Shengli Xu wrote: > Is it correctly that dphi=[d(phi)/d(x), d(phi)/d(y)]? Assuming you're either talking about the private member FEBase::dphi or about a reference returned by FEBase::get_dphi(), then the answer is yes in 2D. In 3D d(phi)/d(z) is there also. > dphideta is shape function derivatives in the eta direction. Is eta ont of > the axis of local element coordination? If it is so, Which direction is eta? On the diagrams of 2D master elements in include/geom/face_*.h, eta is up. On the diagrams of 3D master elements in include/geom/cell_*.h, I think eta points into the page. > If the local element coordiantion is (psi, eta, gamma), Why do not define > dphidpsi, dphidgamma? The local element coordinates are < xi, eta, zeta >. There are dphidxi, dphideta, dphidzeta defined as protected variables in FEBase, but user code shouldn't need them, it should be using the x y z derivatives instead. What does a PDE care about the orientation of your master element?  Roy 
From: Roy Stogner <roystgnr@ic...>  20060114 16:03:08

On Sat, 14 Jan 2006, Shengli Xu wrote: > In Example 11: > // Reposition the submatrices... The idea is this: > //     > //  Kuu Kuv Kup   Fu  > // Ke =  Kvu Kvv Kvp ; Fe =  Fv  > //  Kpu Kpv Kpp   Fp  > //     > I don't understand these code. The typo can't have helped. I've fixed it in the quote above and in CVS; the third component of the force vector should be Fp, not Fv. > What are the structures of Total Dof Vector and Element Dof Vector? The structure of the global DoF vector shouldn't matter to the assembly function; those dof_indices calls should give you the right global indices for your element degrees of freedom, and the add_matrix and add_vector routines should fill in the right global indices whether they're contiguous or scattered or out of order. For the element DoF vector, the indices are listed variable by variable, so they can be accessed with submatrix blocks as we do in the example code. > For example in 2D, the freedom of node is u , v. > The total Dof Vector is like [u_1,u_2,...u_N, v_1, v_2,..., v_N], or like > [u_1, v_1, u_2, v_2, ..., u_N, v_N], ( N is the node number). I think variablebyvariable indexing (the first example you listed) is the libMesh default for the global DoF vector as well. If you want to try out solvers that depend on nodebynode indexing (your second example), I think the command line option "node_major_dofs" will do it. You could try printing out a small system matrix with and without this option to make sure it's working.  Roy Stogner 
From: Shengli Xu <shengli.xu@gm...>  20060114 08:59:41

Hello, Buddy Is it correctly that dphi=3D[d(phi)/d(x), d(phi)/d(y)]? dphideta is shape function derivatives in the eta direction. Is eta ont of the axis of local element coordination? If it is so, Which direction is eta= ? If the local element coordiantion is (psi, eta, gamma), Why do not define dphidpsi, dphidgamma? Shenglixu 
From: Shengli Xu <shengli.xu@gm...>  20060114 07:07:19

In Example 11: // Reposition the submatrices... The idea is this: // //     //  Kuu Kuv Kup   Fu  // Ke =3D  Kvu Kvv Kvp ; Fe =3D  Fv  //  Kpu Kpv Kpp   Fv  //     // // The \p DenseSubMatrix.repostition () member takes the // (row_offset, column_offset, row_size, column_size). // // Similarly, the \p DenseSubVector.reposition () member // takes the (row_offset, row_size) Kuu.reposition (u_var*n_u_dofs, u_var*n_u_dofs, n_u_dofs, n_u_dofs); Kuv.reposition (u_var*n_u_dofs, v_var*n_u_dofs, n_u_dofs, n_v_dofs); Kup.reposition (u_var*n_u_dofs, p_var*n_u_dofs, n_u_dofs, n_p_dofs); Kvu.reposition (v_var*n_v_dofs, u_var*n_v_dofs, n_v_dofs, n_u_dofs); Kvv.reposition (v_var*n_v_dofs, v_var*n_v_dofs, n_v_dofs, n_v_dofs); Kvp.reposition (v_var*n_v_dofs, p_var*n_v_dofs, n_v_dofs, n_p_dofs); Kpu.reposition (p_var*n_u_dofs, u_var*n_u_dofs, n_p_dofs, n_u_dofs); Kpv.reposition (p_var*n_u_dofs, v_var*n_u_dofs, n_p_dofs, n_v_dofs); Kpp.reposition (p_var*n_u_dofs, p_var*n_u_dofs, n_p_dofs, n_p_dofs); Fu.reposition (u_var*n_u_dofs, n_u_dofs); Fv.reposition (v_var*n_u_dofs, n_v_dofs); Fp.reposition (p_var*n_u_dofs, n_p_dofs); I don't understand these code. What are the structures of Total Dof Vector and Element Dof Vector? For example in 2D, the freedom of node is u , v. The total Dof Vector is like [u_1,u_2,...u_N, v_1, v_2,..., v_N], or like [u_1, v_1, u_2, v_2, ..., u_N, v_N], ( N is the node number). Suggestions: The examples are very usefully to help you understand libMesh. It was more better that the govering equation, the discrete finite element formulation are given. ShengliXu 
From: David Knezevic <david.knezevic@ba...>  20060113 09:47:45

I updated the xda_format.pdf file a while ago. I added the updated version to the CVS repository but I guess it never got uploaded to the website. Check in your libmesh/doc/latex/xda_format directory.  Dave On 13/01/2006, at 2:01 AM, Roy Stogner wrote: > On Fri, 13 Jan 2006, Shengli Xu wrote: > >> Title String >> 0 4 8 7 >> 8 5 2 6 >> 7 9 3 >> ....... >> Is this the node information of element? > > These are the node numbers in each element, one element per line. > >> But it does not fit with the Figure. 1. > > No, it doesn't. > >> The element nodes is >> "1,2,3,4" of element 1 in Figure.1. Is "0 >> 4 8 7" right ? I think it maybe "0 1 2 3" ? > > The nodes in Fig. 1 appear to be misnumbered. The node numbers in the > .xda file do fit with the node coordinates later in the file. > > Someone should fix that figure... but it probably won't get done until > we update the whole description document, which doesn't cover the new > libMesh .xda support for storing refined meshes. >  > Roy Stogner > > >  > This SF.net email is sponsored by: Splunk Inc. Do you grep through > log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD > SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > Libmeshusers mailing list > Libmeshusers@... > https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: Roy Stogner <roystgnr@ic...>  20060113 02:01:26

On Fri, 13 Jan 2006, Shengli Xu wrote: > Title String > 0 4 8 7 > 8 5 2 6 > 7 9 3 > ....... > Is this the node information of element? These are the node numbers in each element, one element per line. > But it does not fit with the Figure. 1. No, it doesn't. > The element nodes is > "1,2,3,4" of element 1 in Figure.1. Is "0 > 4 8 7" right ? I think it maybe "0 1 2 3" ? The nodes in Fig. 1 appear to be misnumbered. The node numbers in the .xda file do fit with the node coordinates later in the file. Someone should fix that figure... but it probably won't get done until we update the whole description document, which doesn't cover the new libMesh .xda support for storing refined meshes.  Roy Stogner 
From: Shengli Xu <shengli.xu@gm...>  20060113 01:45:05

Except the description of XDA file format on http://libmesh.sourceforge.net/publications.php. Some questions about the example in the paper of "A description of XDA file format used by LibMesh". the string .... Title String 0 4 8 7 8 5 2 6 7 9 3 ....... Is this the node information of element? But it does not fit with the Figure. 1. The element nodes is "1,2,3,4" of element 1 in Figure.1. Is "0 4 8 7" right ? I think it maybe "0 1 2 3" ? ShengliXu 
From: Shengli Xu <shengli.xu@gm...>  20060113 01:07:32

Does anybody have experience on it? Thanks! ShengliXu 