New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pressure boundary conditions #1896

Merged
merged 7 commits into from Aug 21, 2017

Conversation

Projects
None yet
6 participants
@fparisio
Contributor

fparisio commented Aug 3, 2017

Normal mechanical stress at external boundaries. Tests include thick walled cylinder and sphere in bi-dimensional, tri-dimensional conditions and with elastic and plastic material models.

@fparisio fparisio force-pushed the fparisio:pressure_bc branch from a8fb05b to 4083c7c Aug 3, 2017

@fparisio

This comment has been minimized.

Contributor

fparisio commented Aug 3, 2017

@endJunction please add prj docu

@fparisio fparisio force-pushed the fparisio:pressure_bc branch 2 times, most recently from aa17405 to 0905fbd Aug 4, 2017

//
// Special boundary conditions
//
if (type == "Pressure")

This comment has been minimized.

@wenqing

wenqing Aug 7, 2017

Member

Pressure is a general name, and this sort of BC is only for normal stress or normal traction BC. Therefore, I think it would be good to use NormalTraction or NormalStress for this specific BC type.

This comment has been minimized.

@wenqing

wenqing Aug 21, 2017

Member

Still, I think Pressure may not be a good BC type name. There might be fluid pressure on boundaries in coupled THM processes, which is Dirichlet type. It could be MechanicalPressure.

This comment has been minimized.

@nagelt
GlobalDimVectorType element_normal(GlobalDim);
// TODO Extend to rotated 2d meshes and line elements.

This comment has been minimized.

@wenqing

wenqing Aug 7, 2017

Member

Extend to axisymmetry? That case could be included in shape_matrices_u[ip].integralMeasure.

This comment has been minimized.

@endJunction

endJunction Aug 7, 2017

Member

The rotation does not refer to the axisymmetry but to 2D-meshes in non-xy-plane.

}
}
void assemble(std::size_t const id,

This comment has been minimized.

@wenqing

wenqing Aug 7, 2017

Member

What is this member for? I can only see the calculation of \sum {w * Nu * p} without detJ.

This comment has been minimized.

@endJunction

This comment has been minimized.

@wenqing

wenqing Aug 7, 2017

Member

I see that PressureBoundaryConditionLocalAssembler calculates Nu*n and w, and assemble() computes the traction BC along with time.

@xingyuanmiao

This comment has been minimized.

Contributor

xingyuanmiao commented Aug 7, 2017

@endJunction @fparisio Deviation between the numerical and analytical results is found in plane strain elastic cylinder, axisymmetric elastic sphere (where notable difference is found in comparison of displacement u_r), 3d elastic sphere, ..., any idea about the difference?

Also, typos are found in document.

@fparisio

This comment has been minimized.

Contributor

fparisio commented Aug 7, 2017

@xingyuanmiao We discussed today with @chleh, @nagelt and @endJunction and probably the cause is related to the fact that pressure is normal to the linearized boundary, not to the "real" curved one. Partly the difference is due to interpolation (a small deviation, as confirmed by axisymmetric pipe test with a linear boundary) and partly to the non-linear geometry. Next fix of pressure_bc with quadratic elements should fix the issue.

I will check for typos.

@xingyuanmiao

This comment has been minimized.

Contributor

xingyuanmiao commented Aug 8, 2017

Thank you! Waiting for the update. :)

@fparisio fparisio force-pushed the fparisio:pressure_bc branch from c9611d7 to f02d0bc Aug 15, 2017

@endJunction endJunction force-pushed the fparisio:pressure_bc branch from f02d0bc to 6dd4649 Aug 16, 2017

@renchao-lu

This comment has been minimized.

Contributor

renchao-lu commented Aug 16, 2017

@fparisio I have read your documentation and have had the following major comments so far

  1. There shows great discrepancy at r=1.0 mm in the elastic cylinder case under plane strain conditions (see Figure 1) while under axisymmetric conditions the numerical simulation reproduces the analytical solution (see Figure 2). If the discrepancy arises from the issue of nodal interpolation, why isn't the discrepancy shown in the latter?
  2. Could you please use another legend in Figure 6? Using a solid line with empty circles as a legend may make readers confused that the discrepancy shown in the elastic and plastic cases has been resolved, as the solid line and the empty circle, representing the numerical and analytical results respectively, are used in the preceding result comparison.
@endJunction

This comment has been minimized.

Member

endJunction commented Aug 16, 2017

Set this to WIP because there is an update needed after merging of the non-uniform BCs.

@fparisio

This comment has been minimized.

Contributor

fparisio commented Aug 16, 2017

@renchao-lu Thank you for the comments. Question 1 was already answered and is related to curved boundary. In the documentation, a final note was also added. I understand question 2 but I do not agree, the legend is clear and symbols are just helpful to identify at which nodes quantities are computed. Also, the caption and the reference text clearly explain the figure, so that the attentive reader could not misunderstand it.

endJunction and others added some commits Dec 2, 2016

[PL] BCs: Relax requirement of <component> tag.
Some boundary conditions might not be applicable to a specific component
but to all components. In this case the optional component id is not
initialized and it is no longer an error.

@endJunction endJunction force-pushed the fparisio:pressure_bc branch from 6dd4649 to d62d689 Aug 21, 2017

@endJunction endJunction removed the WIP 🏗 label Aug 21, 2017

@endJunction endJunction merged commit 5f69185 into ufz:master Aug 21, 2017

3 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/jenkins/pr-merge This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@endJunction endJunction deleted the fparisio:pressure_bc branch Aug 21, 2017

@nagelt

This comment has been minimized.

Member

nagelt commented Aug 21, 2017

coarse_mesh
fine_mesh

@fparisio @xingyuanmiao @renchao-lu @endJunction @chleh As the issue was raised repeatedly please find attached some results from another FE simulator which reproduces the behaviour Francesco observed (sigma_zz increasing on the inside despite the constant analytical solution for a plane-strain pipe). I used other material parameters, so don't pay attention to the absolute numbers. As correctly stated in the above discussion, this is due to the linear approximation of the curved boundary. Also note that these are linear elements and stresses are proportional to the gradient of the primary variable. If we refine the mesh (second image) the effect decreases as we approximate gradients better as well as the curved boundary.

@renchao-lu

This comment has been minimized.

Contributor

renchao-lu commented Aug 21, 2017

@fparisio @xingyuanmiao @nagelt @endJunction @chleh @wenqing It can be seen from the tests with both coarse and fine mesh grids that a limited error is distributed along the radial direction. The relative error is less than 1%. Using fine mesh grids for sure improves the simulation result. However, in the present plane strain case (implemented by ogs6), there shows a relative error which is clearly visible to the naked eye (grossly estimated greater than 10%) and merely appears at the inner boundary node rather than at all the nodes along the radial direction. Actually this is the point which I cannot understand. I have doubts if such a behaviour can be also attributed to the linear approximation of the curved boundary? Maybe I am too stupid.

@nagelt

This comment has been minimized.

Member

nagelt commented Aug 22, 2017

@renchao-lu nobody here is stupid. It's a valid point. See the reply regarding the extrapolation residual (in conjunction with nodal averaging). We have another test coming up that will hopefully clarify this! @chleh I have another question regarding the extrapolation residual. Let's discuss once you're here.

@endJunction endJunction referenced this pull request Aug 22, 2017

Merged

Mechanics; Pressure BC #74

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment