Discrete Ordinates Method in Ferrite? #862
-
I would like to implement an iterative solver using the discrete ordinates method in 2D using Ferrite, does that seem reasonable/plausible? My current thought is to assemble then solve each direction separately (potentially in parallel) with the angular flux for that direction as a single scalar field to solve for. I was thinking of using Graphs.jl to check for cycles in the graph for each direction, then manually deal with the contributions from each direction at the end of each iteration. Is there a better approach to this? I am inexperienced with implementing FEM solvers so apologies if the answer to this is obvious. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Hi @warm-considering and welcome to the community! Could you provide more details or a reference with a simple description of the method? I have unfortunately never heard of it. From your description I take that it is it like an alternating-direction implicit (ADI) method? |
Beta Was this translation helpful? Give feedback.
Ah, I see. Yes, this is indeed different from ADI.
Generally speaking Ferrite.jl will provide you with low level utilities, like for example the evaluation of quadrature rules over elements and the determination of element neighborhoods. You can interpret a face as a sorted tuple of the attached vertices, which gives you a unique representation for conforming meshes. We also should have all utilities in place for discontinuous solution approximations on master. The last release (v0.3.14) does not include these features yet. We will merge an example to solve a diffusion problem with the symmetric interior penalty method soon (#787) which should give you at least a starting point.