A little over two months ago, Anders Logg posted Can scicomp.stackexchange be used for project-specific questions?, asking if it would be all right to use SciComp StackExchange as a replacement for the old FEniCS message board. At the time, the mods thought it would be a good experiment to send FEniCS users here. (Edit: Anders has been directing FEniCS users here for approximately two weeks.)

Now that some time has passed, prompted by some feedback from Bill Barth, I'd like to get some feedback from users about the change. In particular, I think it'd be useful to get feedback about the following things:

• Are there too many FEniCS questions?
• Do you think that the FEniCS questions (and answers) are a good fit for the culture of the site?
• Thanks for posting this instead of continuing the comment string I started in the original question's answer. :) May 23, 2013 at 15:11
• @JanBlechta: Could you move your comment to an answer? May 24, 2013 at 3:12
• @BillBarth: I think it was a good issue to raise, and it's a discussion we need to have. I was unaware that FEniCS has been directing users to this site for only two weeks. May 24, 2013 at 3:14

I didn't know about the experiment. I noticed quite a bit of FEniCS questions lately, but I just thought that suddenly there is a lot more interest in FEniCS. I think that the questions nicely fit the site, at least the ones I saw -- having short scripts in Python that do finite element calculations and various questions about it. In my opinion such questions directly fit this site.

I think it's too early to tell. It's only been 2 weeks and many of our users and developers have not yet found their way here (reminders are in order).

As stated in the answers above, we do have our mailing lists that we encourage people to use for questions that are too specific for this site. You can review the instructions we give to our users on this page: http://fenicsproject.org/support/

Comments and suggestions are welcome for how to rephrase this to work better with the intentions of this forum.

My suggestions going forward would be to (1) give it another couple of weeks, (2) vote down bad questions, (3) direct unsuitable questions to the fenics-support mailing list and (4) encourage our users and developers (on our mailing list) to take an active part in the wider scicomp.stackexchange community.

• Thanks for the link and the knowledge about the mailing list. I will be much more active in directing questions there now that I know it exists. I think this experiment is likely to turn out for the best with some tweaking. I'd like to suggest that of your three sample questions, #1 is probably not appropriate for this forum, and that #3 may or may not be depending on the details. I think that setting BCs in FEniCS specifically is beyond the scope. I agree that a question of element choice is appropriate. May 23, 2013 at 20:59
• Hmm... If questions like "How do I do X in FEniCS?" are not appropriate, then maybe this forum is not a good fit for FEniCS user questions. I understand questions about installation, packages etc are not appropriate, but if we also remove questions of the category "How do I do X in FEniCS?" then all that remains will be questions like "I'm solving this PDE and what is a stable finite element?". In that case, we would need to change our recommendation to all questions should go to fenics-support but occasionally direct questions of general nature to StackExchange. May 24, 2013 at 8:42
• For a generic software package, I would've thought all three questions would be appropriate, although with #3, it really depends on the body of question #3. I don't see why the example of settings BCs is out of scope. May 24, 2013 at 17:18

There are too many FEniCS questions, and I think the quality is generally low (though the answers seem to be good). I'm ambivalent about the fit, some of the questions are high enough level to contribute to the site, but many (syntax, usage, etc) would be better answered through a dedicated mechanism. The questions that I think are the poorest fits for this site seem to be asked by folks that are not contributing in other ways. They are simply seeking help with their FEniCS programs.

In my opinion, allowing the FEniCS group to shutdown their user support forum and drive all their support questions through this StackExchange was a mistake. The simple (for FEniCS people) coding and output questions should be reserved for a dedicated site. I doubt seriously that we would have accepted a request to move the petsc-dev or petsc-users mailing lists here.

I would not object to retaining the FEniCS tag and allowing appropriate FEniCS-related questions here, but I do not think that this StackExchange should have become the primary FEniCS support forum.

• I have a suspicion that you mix terms quality and usufullness for non-FEniCSers. I thought that moderators knew that there will be a plenty of questions How to do foo in FEniCS?. Of course there are both well-posed and ill-posed questions of this type. May 23, 2013 at 20:37
• No, there were some very low quality questions, too. May 23, 2013 at 20:58
• +1 because I share Bill's objections against SciComp becoming the primary resource for FEniCS implementation issues. However, I don't think we need take other action than using the standard mechanisms like flags, comments, and downvotes to redirect beginner questions to the places that Nico has pointed out.
– Jan
May 23, 2013 at 21:07
• @BillBarth: I didn't say that they were not there poor questions. I just have an impression that you and other people object to questions of type 'How to do foo in FEniCS?', both good and poor. Am I right? May 23, 2013 at 21:21
• I think that's generally right, @JanBlechta. I'd go further and say that "How do I do foo in FEniCS?" will sometimes be an appropriate question and sometimes it will be inappropriate; sometimes it will be well-formed and sometimes it won't. Now that I know that FEniCS folks have somewhere else to go for help, I won't feel too bad helping them refine or migrate their questions so that they are acceptable here or answered over there. May 23, 2013 at 21:35

The general question is whether software-specific questions are a good fit for the site or not. We already have the MATLAB tag (96 questions), PetSC (68 questions), and now FEniCS (27 questions). It's true that many FEniCS-specific questions aren't really of much interest for non-FEniCS users, but the same is true for questions like How do I configure PETSc to run long double precision or some other precision that is greater than default?.

I personally think that everything that concerns the technicalities around software doesn't really fit here (maybe rather on stackoverflow). That question is similarly undecided for NumPy, see NumPy on scicomp vs. NumPy on stackoverflow. I guess it would be very hard to make clear to users what are technical questions and what concerns the underlying problem or method. Having it all in one place isn't too bad, and if there's a "how do I install MATLAB/FEniCS/PetSC" question once in a while, one could just downvote it and leave a comment (or move to stackoverflow?). We could also think about introducing a tag such as software-specific.

Note also that scicomp is not the only FEniCS support platform. There is a developers' and a users' mailing list, cf. http://fenicsproject.org/support/#mailing-lists, which is where the FEniCS folks intent to have technical FEniCS questions posted. Not all users seem to stick to the policy though (and it's not enforced either).

As for how attractive this site becomes for actual scientific questions by FEniCS users: I came to really use scicomp only because of FEniCS, and I've found solutions to a number of non-FEniCS problems so far. Given the typical FEniCS user and his/her obvious affiliation with scientific computing, I think this isn't too rare.

• I'm in general agreement and would not have started my objection until I discovered that we encouraged the FEniCS folks to close down their own user forums and direct their users here. It's the fact that we became the only resource for this community that really bothered me. The MATLAB and PETSc communities weren't put in this position. May 23, 2013 at 18:45
• There's still fenics-support@fenicsproject.org, cf. fenicsproject.org/support/#mailing-lists, which is where all the the technical questions are supposed to go. It's not that well adopted though since it was also created only recently (to replace the launchpad "ask question" functionality). May 23, 2013 at 19:34
• Interesting. That wasn't at all clear in the original meta thread that got us here. I don't follow the FEniCS community closely, so I had no idea. May 23, 2013 at 20:57
• @BillBarth: In the original meta thread, the mods' answer (under my name) included the passage: "We will likely ask people to revise or clarify questions that are too general or too specific. If there are any that are inappropriate, we will direct the poster to your mailing lists, and as questions come up, we can pick out examples of appropriate questions versus inappropriate questions." Aron is more familiar with the FEniCS community than I am, and all three mods discussed it quite a bit; we were concerned about petsc-users mailing list "help me debug my code"-type questions at the start. May 24, 2013 at 3:29
• @Nico: The question of whether software-specific questions are a good fit for the site or not was the whole impetus for the FEniCS experiment in the first place. (See the link to the meta question on that very topic in the first line of my question post.) A tag like "software-specific" doesn't really add anything if a tag like "fenics", "matlab", or "petsc" has already been applied. Tags like "software-specific" are called "meta tags", and are frowned upon in Stack Exchange. May 24, 2013 at 3:36
• I don't find persuasive the argument against the set of all software-specific questions. The site is about "computational science", and by its very nature, questions of implementation come up. Excluding all such questions (instead of only some of them) would probably cut our user base and definitely decrease the utility of the site, given the synergy between software and numerical methods. May 24, 2013 at 3:53
• @GeoffOxberry: I missed the connection to the mailing list in the original thread. Now that we have the link and know that this isn't the only place FEniCS users have to go for help, I feel better. I don't want to remove all implementation or software-specific questions here. May 24, 2013 at 21:11

There are also bad questions - especially from one user. But most FEniCS questions are well-formulated but question is wheter they should go here.

• Do you think that the FEniCS questions (and answers) are a good fit for the culture of the site?

There are some question that could be useful to scicomp users who don't use FEniCS:

Yes.

Everybody could be more stringent to poor questions and downvote them. As was with https://scicomp.stackexchange.com/q/7349/4254 which was downvoted so that author removed it. Today again with https://scicomp.stackexchange.com/q/7361/4254.

But I think the main problem is that in original discussion Can scicomp.stackexchange be used for project-specific questions? everybody could check what are FEniCS questions on launchpad about but nobody objected to host question of type "How to do foo in FEniCS?" so Anders dispatched them here. So I would say that basic output of this discussion should be which FEniCS-related questions belong to scicomp.

Altough I'm rookie here, I would say that it may not necessarilly be such an evil as presented by others. By the time there will be sufficient database of basic questions of this type and any derivatives be downvoted as duplicates. But that's my guess. On the other hand I understand that anybody doesn't want to scicomp become flooded by questions "What is this switch on this pasta-making machine for?" and now is the right time to prevent it.

• I agree that soon there will be a stock of basic question that are answered already. This will help to clean up the time line...
– Jan
May 24, 2013 at 11:53

I'm not sure there are too many FEniCS questions, particularly given the fairly low question ask rate here, but the quality and relevance of the questions seems particularly troublesome.

In particular, we're seeing a lot of questions that are highly specific to the interface and functionality of FEniCS, without wider appeal to a computational science audience. This is at least somewhat in contrast to typical PETSc questions, which often include aspects of a problem with broader relevance. In fairness, the answers have been quite good for the most part -- although there seem to be only one or two FEniCS experts in residence -- but even excellent answers can't make up for poor questions.

Scanning through the questions asked with the fenics tag, it seems hard to argue that more than a handful of the FEniCS users are contributing in other ways to the site. Most have asked questions about FEniCS and neither answered nor asked questions on any other topic.

Overall, I agree with Bill that the scope of FEniCS questions should be limited. Ideally, we'd only permit discussion of complex use cases or problems involving other aspects of computational science.

• I consider myself a FEniCS-induced scicomp user, and I feel I've contributed in many other ways to the site; just the same as scicomp.stackexchange.com/users/4244/jan, for example. May 23, 2013 at 17:19
• @Nico You're right that what I wrote was too general, as we've had a few members -- yourself included! -- who have contributed greatly. I've edited the question in turn. But I do want to point out that, out of the 14 users that have asked a question with the FEniCS tag, only 3 have contributed to non-FEniCS content here.
– Ben
May 23, 2013 at 20:20
• +1 for noting the "fairly low question ask rate here" as a factor in the impact. That said, I don't have a negative impression of the FEniCS impact myself and support giving the experiment a runtime of months rather than weeks before drawing a firm conclusion. May 28, 2013 at 12:26

Sorry for posting so late to the game, but I think the FEniCS questions are adding value to the site and would encourage other communities to post their questions here. Personally the only thing that is amiss about the FEniCS community questions is that there are not other packages doing similar things.

Sure there are bad questions, but SX wants to see more community rather than less. There are also lots of good questions from this community. In the end the SX site can provide a very good resource to the whole community rather than pigeon-holed approach of random forum support at various levels from other communities.

I am a FEniCS developer but I am not a previous user of scicomp.stackexchange. The format and culture take some time to get into.

The questions have in general been of lower quality than what we previously got back at launchpad, and I have been hesitating how to respond to that. I now realize that we should be more aggressive in voting, but then I have not earned the reputation to do that, which goes for many power users and developers of FEniCS.

Someone else need to decide if it was a good idea to introduce a FEniCS tag. From my perspective there has been some inertia to get going with scicomp.stackexchange.

I believe questions like "How do I do X in language/program Y?" can be on topic when well posed. I think the issue is that there is a large difference between that question and questions of the form: "I tried to do X, here is my code, please tell me what's wrong". Many of the low quality FeniCS questions I have seen are of this form, with only a sentence or two other than their code.

I feel that asking how something works, how it can be done, or the advantages and disadvantages of something are all good questions, but asking us to debug your code is not.

Here are my thoughts, based on what I've seen so far:

• The quality of FEniCS questions are all over the place.

Some are good. Keep in mind that I know next to nothing about FEM and FEniCS. I liked questions like

FeniCS: Visualizing high order elements

Poisson equation: Impose full gradient as boundary condition via Lagrange multipliers

because the problems these users encountered had to do with FEM formulations. I think these sorts of questions are good.

I also liked "How do I do ________ in FEniCS?" questions like:

FEniCS: extracting points from a cell

FEniCS: how to access coordinates when writing an equation for a trial function

Mixed FEM vector indices of pressure and velocity in FEniCS

What I thought was good about these questions was that they clearly articulated what feature they were looking for. If code was used, it was a small snippet used to demonstrate clearly what they were trying to do, not code they were looking to debug. I think this distinction is important. I also think it's important that users show they've made some effort in trying to track down what it is they're looking for. I was a little conflicted about

FEniCS: boundary conditions for electrostatic problems with dielectrics

because noxmetus did read the tutorial (Chapter 1 of the user manual, it seems?), but not the part of the user manual that covers this problem. I think it's a good question to ask, if only to point out to users that, hey, there's more good stuff in the manual. The answers to this were good; the conflict about "Hey, did you read Chapter 9?" wasn't so great, but that's why this whole thing is an experiment.

Some of the "How do I do ________ in FEniCS?" questions were bad:

https://scicomp.stackexchange.com/questions/7430/extracting-subspace

Fenics : boundary condition

Mainly, what I think makes these questions bad is that they ask people to debug their code. And that's just not what this forum is about. Support forums are geared towards this sort of thing; I really prefer not to think of these questions as "How do I do __________ in FEniCS?", but "Can you debug my FEniCS code?" And the answer to that question should virtually always be "no". The best debugging-type question I've seen was

Simple FEniCS problem shape mismatch

which I think ended up really well. Although I think it's still better posed on the FEniCS support list, I really like how it was resolved. I think we should focus on directing the debugging-type questions to the FEniCS support forum. This issue isn't strictly specific to FEniCS -- we've had trouble with people wanting us to debug their code before the FEniCS posts -- but I think it is a problem specific to software package-type questions we want to watch out for.

Questions like

xml Mesh format -Fenics

https://scicomp.stackexchange.com/questions/7443/fenics-apply-boundary-conditions-in-a-vector-function-space

https://scicomp.stackexchange.com/questions/7425/fenics-solving-an-equation

are just bad, and low-quality questions like these aren't specific to FEniCS. They occur fairly frequently.

Bad posts should not be answered. They should be closed. If you have the reputation, comment on them, flag them, and vote to close. If a closed post is unanswered, and hasn't been reopened, I tend to delete it. However, bad posts that are answered shouldn't be deleted (by anyone other than the original poster); just vote the post down, and ask mods to close it.

The best way to stop the bad questions is to help the original posters edit them, or politely provide them advice on how to ask better questions. Politely directing them to existing resources is a good thing; telling them "RTFM" is not.

• The FEniCS answers are a good fit for the site.

Generally, I like the way questions have been answered, and I think people from the FEniCS community have been doing a good job of answering FEniCS questions (and some of them have been really good about answering other types of questions, too).

• The verdict is still out on the experiment.

Given that it's been three weeks, I think the experiment is going well. However, I think we need to give it another few months to see how it pans out.

• +1 for "help the original posters edit them"; I think the idea that asker and answerer collaborate on creating a helpful FAQ entry (and that this might take multiple iterations) is one of the things that sets the SE sites apart and makes them so useful. Jun 1, 2013 at 8:25

I have joined this site 3 months ago, and I love it. I have recently started to play around with FEniCS, because I like the concept.

I did not know that scicomp.se has become the forum for FEniCS support, but I was wondering about all the FEniCS questions.

Those questions encouraged me to post some rather low quality questions myself, because I thought:

what the heck, if those guys just ask like that and get help, why should I put so much more thought into this one?

I think the same is true for other people, which will probably not increase the quality of questions asked here.

On the other hand, FEniCS is not that easy to learn. There are lots of differences between different versions. They claim that all you need to know is some math and some Python and that going through the tutorial gets you ready to do the real ting, but that is simply not true. You really need to dive deep into the manuals, once you digress from the examples even slightly.

When you do dive into the manuals and go through the documentation, you will end up asking yourself questions that are exactly of the type:

How can you do X in FEniCS?

If those questions are not welcome here, then this is simply not the place to be a FEniCS support forum, since those questions are vital in the process of learning any language or software package.

• I think there's a difference between "I'm trying to solve problem X with FEniCS", where X is a computational science problem, and the same question where X is a specific FEniCS/Python problem. The former is definitely on-topic, the latter less so (and belongs to one of the other FEniCS support forums). However, I believe you can make the latter more acceptable by formulating it as part of the former, i.e., "I want to solve problem X_CS, here's my approach using FEniCS, where I need to solve problem X_FE." Context makes all the difference. (No guarantees, though.) May 29, 2013 at 6:49
• Though I totally agree with you about this differentiation, I believe this differentiation is hard to make for any newcomers to SE, respetively scicomp.SE. I have been a member for roughly 3 months now and I feel that it takes a while to grasp the concept of SE (speaking for myself). If people get send here thinking that this is a support forum, then they will be disappointed if their questions get down-voted for what may seem to them to them unreasonable reasons. Which may not be beneficial for neither scicomp.SE nor FEniCS.
– seb
May 29, 2013 at 6:56
• I think there's a learning curve for both sides; down-voting and closing without a (polite) comment on why the question is not acceptable and where to pose it instead is not really educational, and hence doesn't discourage repeat offenses. The TeX.Se meta has a great list of building blocks for such comments to copy and paste (on the theory to make it as simple to be polite as possible); maybe we could come up with a similar list here. May 29, 2013 at 7:02
• I think this post speaks to the heart of the issue with, for lack of a better phrase, "software package questions". Fundamentally, they are about how you do something, and I think they should be on-topic here. That said, I believe what makes those questions better are things like having a specific computational problem in mind, showing you've done due diligence by talking about references you've cited, and providing the right amount of detail about what you've done. All of these things are tough to do at first, both with asking and answering questions. May 29, 2013 at 7:16
• I think the best way to get better questions and answers is to work with people and explain to them (politely) what is good and bad about their post. In particular, I like Christian's suggestion. May 29, 2013 at 7:17
• @GeoffOxberry I agree. I would like to add that it is not always feasible to give a description of the greater context of what you are trying to achieve without writing a very lengthy post. For instance, I tried to optimize a piece of a larger code and posted this question on stackoverflow. It would have taken ages to write and to read the entire physics context. I'm sure, there is a healthy balance somewhere though.
– seb
May 29, 2013 at 8:26

As I mentioned over in the original thread, I think the main issue is that when you have just one pilot in the experiment, it's hard to tell which lessons will apply to all codes, and which one will be project-specific. I think that you'd really want to have several codes with a user base the size of FeniCS "set up shop" for a while. This would help you to see what's going on with much better information than the current setup.

• I think we disagree about sequencing. The pilot program started with developers from two different software packages (FEniCS and CVX) coming to us. We don't have many CVX questions; the CVX mailing list does not get much traffic. As a moderator, I don't want to learn lessons about being a preferred forum for discussing software packages by being deluged if I can make the process incremental to start. Plus, it is easier to consider expansion going forward if we have a track record than try to argue from the data we had pre-FEniCS experiment. May 24, 2013 at 3:26