--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/4325ad55-f9e9-41aa-b4f6-a1590658de03%40googlegroups.com.
In element 123054 there are more than 2 cut fragment edges
Could you explain the level set in more details please?
I just realised that the vol_frac auxiliary variable is defined for each element. Is there an alternative defined at the quadrature points which gives the information if the quadrature point is on one side of the cut frac?
I tried to add two fractures in 2D which are intersecting. I get the following error:In element 123054 there are more than 2 cut fragment edges
Does that mean that intersecting fracs are not supported yet?
I have another question which may sound strange.Would it be possible instead of cutting the mesh to define the fractures to include directly the nodes inside the mesh. Then we could give in the input file a list of node ids which are on the frac and duplicate them and correct the connectivity. That would allow to have more complex geometries for the fractures.In case it could be done, could you direct me to the functions in the code which are modifying the connectivity and creating the ghost points so I can give it a try.
Currently we only support the "Y" shape branching but not "X" shape intersection. It is not hard to implement the "X" case though.
I plan to use the XFEM capability of MOOSE to model fluid flow (with Darcy's approximation), heat transfer (conduction and advection with fluid velocity) and tensor mechanics (elasticity first) in fractures. It seems that the mechanics are well supported since you developed the module in this scope. However, I encountered several issues for modeling fluid flow.
Basically I need the pore pressure variable to be the same on both sides of the fracture (as in the test single_var_constraint_2d/stationary_equal) and I want the permeability (material property) to be higher on the fracture planes (Kernel used to solve for pressure is basically a diffusion kernel with the permeability as a coefficient) than in the unfractured elements.
I noticed that if I use the constraint XFEMSingleVariableConstraint with no jump, it works fine if I solve with the Diffusion Kernel. But if I solve with the CoeffDiffusion Kernel, convergence is not insured depending on the value of the coefficient (in my case it will be the permeability).
I saw that this constraint takes a stabilization parameter as input. Do you know if changing the value of this stabilization parameter could help in the convergence in the case of the CoeffDiffusion Kernel?
Currently we only support the "Y" shape branching but not "X" shape intersection. It is not hard to implement the "X" case though.
Good. Do you have any tips where to start to implement the "X" shape intersection case?
I have not tried XFEM with Darcy's flow and it might have some issues. I am happy to help you figure it out :-)
XFEMSingleVariableConstraint is based on Nitsche's method and it involves a gradient term on the interface. The implementation assumes the diffusion coefficient to be "1" on both side of the interface. For the case with different coefficient, you need add coefficient parameters and change the residual and jacobian by multiplying the _grad_* term with the correct coefficient. For example, in the computeQpResidual, the r -= (0.5 * _grad_u[_qp] * _interface_normal + 0.5 * _grad_u_neighbor[_qp] * _interface_normal) * _test[_i][_qp] should change to r -= (0.5 * _grad_u[_qp] * _coef_u * _interface_normal + 0.5 * _grad_u_neighbor[_qp] * _coef_u_neighbor * _interface_normal) * _test[_i][_qp]If you have any difficulty and still have the convergence issue, you can send me your codes and input files. I can help you look at it.
One more thing to mention is the constraint system currently does not work with branching and intersection case since we have not implemented the code to find the pairs of cut elements at those trijunction points. We would like to implement it in the near future.
You can take a look at the XFEM.C file. It manages the mesh cutting algorithm. In particular, you can look at the function, markCutEdgesByGeometry. In this function, it first cut the element. If the element has already been cut, it tries to cut the fragment (partial element). Currently, we only cut one of the two fragments (partial elements) for the "Y" shape intersection and you need to cut both fragments for the "X" shape intersection, see the picture below. Basically we can recursively cut a element any times we want. It might not be easy for you to implement this and I will be happy to help you and implement some codes for you.
I manage to run a 2D case with a line fracture with my Darcy Kernel. However, I notice that it is not possible now to get Material properties from the Constrain class. Do you know if having an interface to material properties could be possible?
--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/3ba54fd7-3ade-4c79-8171-690c445d7b03%40googlegroups.com.
Phillipp,We have not yet attempted to apply XFEM to porous flow problems, but the way it is implemented, it should work generally with any physics models in MOOSE.The ability to model intersecting fractures is still in development. It works in 2D, and it can't handle two simultaneous fracture planes in an element -- you have to first insert one of the fractures, followed by the other one. The test:moose/modules/xfem/tests/solid_mechanics_basic/square_branch_quad_2d.iis a simple demonstration of this.
-Ben
On Mon, Feb 6, 2017 at 11:04 AM, Philipp Schädle <philipp....@gmail.com> wrote:
--Hi all,I came across this discussion and read it with great interest.I would like to ask if you did any further development regarding flow in fractured porous media, particularly two-phase flow.As I am only interested in flow, and no mechanics, it is sufficient to consider static fractures. What kind of fracture intersections does the Moose xfem module currently support?Best,Philipp
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.
Regarding the flow problem it seems that if I combine the porous flow module with the XFEM module, that I would still need to implement flow along a fracture as well as a kernel function for the transfer from fracture to the matrix, right?