86 logical,
optional,
intent(in) :: only_facets
87 logical :: only_facets_ = .false.
90 real(kind=
rp) :: sx, sy, sz
91 real(kind=
rp),
parameter :: tol = 1d-3
95 if (
present(only_facets))
then
96 only_facets_ = only_facets
98 only_facets_ = .false.
101 associate(c => this%coef, nx => this%coef%nx, ny => this%coef%ny, &
103 bfp => this%marked_facet%array()
104 do i = 1, this%marked_facet%size()
106 facet = bc_facet%x(1)
108 call this%get_normal_axis(sx, sy, sz, facet, el)
110 if (sx .lt. tol)
then
111 call this%bc_y%mark_facet(facet, el)
112 call this%bc_z%mark_facet(facet, el)
115 if (sy .lt. tol)
then
116 call this%bc_x%mark_facet(facet, el)
117 call this%bc_z%mark_facet(facet, el)
120 if (sz .lt. tol)
then
121 call this%bc_y%mark_facet(facet, el)
122 call this%bc_x%mark_facet(facet, el)
126 call this%bc_x%finalize(only_facets_)
127 call this%bc_y%finalize(only_facets_)
128 call this%bc_z%finalize(only_facets_)
130 call this%finalize_base(only_facets_)
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...