12:16 AM
@hwlau Well not exactly. The AMR engine will call the solver you tell it to call (whether the problem is hyperbolic, parabolic, or elliptic). It's main job is to check to see if the grid/grids are needing refinement (or not) and calls functions as necessary. Your job as programmer requires setting up the problem effectively and accounting for changes in the CFL condition
2

12:50 AM
can AMR be used with FEM also?
when reading about FEM wikipedia, it seemed like it showed a AMR-like example:

@vzn I am not sure. It's possible, but I'm entirely out of the loop for FEM solvers since I don't use it

@vzn See, I think that is not an AMR grid but increased triangularization around an interesting point. It's all still one grid

increased triangularization seemed very much like an adaptive mesh to me.
is FEM more 2d maybe? hard to figure out
anyway it seems like it is showing FEM adjusting to a sharp discontinuity via increased triangularization.
in other words both FEM/FVM have evolved to deal with sharp discontinuities.
this all reminds me of a recent polymath attack...
"hot spots conjecture"...
its surprisingly applied for the polymath geeks... seems to relate highly to FEM...
they did not seem to study it "empirically" (simulations) too much...

1:42 AM
@vzn: seems you can do AMR on FEM:
hp-FEM is a general version of the finite element method (FEM), a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size (h) and polynomial degree (p). The origins of hp-FEM date back to the pioneering work of Ivo Babuska et al. who discovered that the finite element method converges exponentially fast when the mesh is refined using a suitable combination of h-refinements (dividing elements into smaller ones) and p-refinements (increasing their polynomial degree). The exponential convergence makes t...

2:11 AM
@KyleKanos Does the Chombo imply that I can write a simple FDM, and it help me to solve the problem with AMR.
Its description:
> Chombo provides a set of tools for implementing finite difference methods for the solution of partial differential equations on block-structured adaptively refined rectangular grids.

@hwlau Yes
I imagine there will be some compatibility issues to iron out
Like making sure your structs are understandable by Chombo

Sound interesting because it makes thing simple

It certainly does

Does it mean that you are also writing FDM for the fluid simulation ?

There are other free AMR engines as well: BoxLib, PARAMESH, & SAMRAI.
@hwlau I use FVM

2:17 AM
ic, because you said that you use Chombo. So, you only use it to handle AMR?
@KyleKanos Which one do you think it is simpliest so that I can learn?
I dont have a particular problem in mind, so I just want to try it out

I think that Chombo is easiest
BoxLib is just insane, IMO.

haha

It outsources every single little step to three or different subroutines

I also see there is a libmesh

In different files in different folders

2:48 AM
Have some problem building Chombo.
BTW, is there good way to lean it? The documentation there is ok, but it does not seems to be very user friendly.

1 hour later…
3:52 AM
@ChrisWhite Thanks :)

4 hours later…
7:24 AM
in case anyone's curious, SE does appear to be down at the moment

yeah... :/

1 hour later…
8:51 AM
I wonder how long it will take before dilaton and dim10 delete my fake PO account. Has anyone had any luck getting them to stop creating fake users?

Anonymous
9:33 AM
@Slikzw They are not "fake" users, they are owners of imported posts.

Anonymous
If you want your account deleted, please write an official mail to (short form for administrator) at (the url of physicsoverflow)

Anonymous
And we will delete your account, leaving your posts unassigned to any users.

Anonymous
We will no longer accept requests in random chat rooms as we have done before in the case of Kyle Kanos.

@DIMension10 you guys are actually breaking CC-BY-SA rules here
> Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
The last sentence. Creating dummy accounts for everyone counts as this, I guess. If that's the case, then Sklivvz and the rest (as a content creator, not as an SE employee) can actually sue since having an account in their name (and attributing it to that account, instead of the SE account) seems to be an endorsement

Anonymous
@ManishEarth It really does not, as we are actually attributing to their SE account if you see the posts. We will however add a notice to these accounts saying that they have never logged on to PO, i.e. are SE users.

9:43 AM
@DIMension10 That would work. Make it explicit that they may or may not endorse your use of the content.

5 hours later…
3:19 PM
@DIMension10 Please delete my account and don't let me go through hoops. You know I don't want to be associated with you, so please don't be nasty, yes? I don't want to give you my email address, and you shouldn't force me to.
@DIMension10 also, please learn how to spell my name, it's surely not that hard. I don't get notifications otherwise
2
@DIMension10 The contents of the account (e.g. my location, or my account description) still require attribution. My "user" has not been part of physicsoverflow for the past three years. According to CC-BY-SA you can use my content, but not in a way which makes it seems I am endorsing your site. I think you are doing it because you are effectively saying that someone with my name, and a SE employee, has been contributing to your site for three years. I understand they are merely imports
2
but you need to understand that good intentions are not enough to comply with a license.
For example, @DIMension10 pages like this explicitly say I did actions on your site which I never did.
I have no activity on the site, and the imported user doesn't either.

Anonymous
3:43 PM
@Slivvz If that is your concern, then if you re-look at your profile page, you will see that there already is a line saying you do not participate on PO.

Anonymous
I could maybe delete your account if you wish, but wait for a while.

3:54 PM
Thank you, that would be most kind.

4:22 PM
@hwlau I myself haven't really learned the specifics of how Chombo works because the code I use based their AMR engine on Chombo's engine so it isn't a complete replica.

Anonymous
@Sklivvz Your account is now deleted on PhysicsOverflow.
2

Personally, I find the best way to figure out a piece of code (or an entire code), is to follow the function paths. Start with amrGodunov.cpp in the releasedExamples folder and figure out where the code is going and what each function does.
The Chombo files seem to be fairly well commented to explain what is going on

1 hour later…
5:27 PM
@KyleKanos This is the easiest thing with small to medium sized codes, but above a certain scale it get too painful to contemplate unless there is no documentation whatsoever.

@dmckee Probably true. Running cloc in the Chombo directory returns me a total of 150k lines of C/C++ code.
I bet only like 30k of those are actually used in a "standard" hydro simulation

That you can probably manage by tracking the call tree. I've occasionally found myself dumped into the middle of codes that total circa half a million lines. (Lots of that code is obsolete cruft, but it is still getting called on some paths and there is no guidance to which paths people actually use, because particle physics codes almost never remove features even when they are completely superseded...)

hey guys

5:43 PM
I was handed my code for research by the people who made it. It's got 60k lines and I think I omit over half of them for my work
I've thought about just deleting them from my local copy so that the code isn't wasting time checking if statements that will never be true for me.

6:37 PM
@KyleKanos This only work for small size program. For any large program, you need to get some basic understanding before you can/should change the codes, and learn something new.
@KyleKanos If statement usually do not cost a lot of time, but the codes will be harder to read.

6:59 PM
@hwlau: I think it can work in larger codes if you are only interested in a small subset of it. 150k lines is quite a bit, but I don't think you'd use nearly that many lines for a hydrodynamic simulation.
Also, the code I use has a very nice write-up for the basics of the AMR engine: astrobear.pas.rochester.edu/trac/wiki/AstroBearAmr
(It might be necessary to look at the definitions page for some of the terminology used in that page: astrobear.pas.rochester.edu/trac/wiki/AmrExplained)
37

I can't, for the life of me, remember what exactly did our teacher said that day and I'm hoping you would probably know. The module is "Data Structures and Algorithms" and he told us something along the lines of: The if statement is the most expensive [something]. [something] registers [...

@KyleKanos Depends on a lot of stuff, including the CPU architecture, branch prediction.

@hwlau In high performance computing, every bit and every microsecond counts. Wasting it on if statements that are determined at run-time is bad practice.

@KyleKanos Thanks, I will need to try it out to understand how exactly I should write the differential equation into the solver.
But first thing I need to get one solver works.

7:42 PM
@hwlau Take a look at the files GodunovPhysics.cpp and PatchGodunov.cpp in the folder lib/src/AMRTimeDependent Those cover most of the methods in computing the FVM averages and updating the solutions.