# How to apply a load on a single point or a node

**URL:** <https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799>\
**Category:** Uncategorized\
**Created:** [December 25, 2020, 1:09pm UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799 "2020-12-25T13:09:50Z")\
**Posts on this page:** 7\
**Page:** 3

<div class="post-metadata">

**Author:** ![RR\_rr](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/rr_rr/32/6571_2.png) [@RR\_rr](https://fenicsproject.discourse.group/u/RR_rr)\
**Post date:** [November 17, 2024, 8:59pm UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799/41 "2024-11-17T20:59:36Z")

</div>

Thank you, Dokken. It works.

---

<div class="post-metadata">

**Author:** ![RR\_rr](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/rr_rr/32/6571_2.png) [@RR\_rr](https://fenicsproject.discourse.group/u/RR_rr)\
**Post date:** [November 28, 2024, 5:04pm UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799/42 "2024-11-28T17:04:49Z")

</div>

> [@dokken](#):
>
> `delta = Delta(eps=1E-4, x0=np.array([1, 1]), degree=5)`

Hi, Dokken. Sorry to bother you again. The value at the source point will increase as the value of `eps` decreases. Theoretically, the value at the source point is infinite, so the `eps` should be very very small. So maybe it is better to use `eps=1E-9` or smaller? or `eps=1E-4` is enough?

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [November 28, 2024, 5:16pm UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799/43 "2024-11-28T17:16:40Z")

</div>

This depends on the quadrature degree and mesh resolution, and is best left for each individual problem.

---

<div class="post-metadata">

**Author:** ![RR\_rr](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/rr_rr/32/6571_2.png) [@RR\_rr](https://fenicsproject.discourse.group/u/RR_rr)\
**Post date:** [December 5, 2024, 8:50am UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799/44 "2024-12-05T08:50:22Z")

</div>

> [@dokken](#):
>
> ```auto
> class Delta(UserExpression):
> def __init__ (self, eps, x0, **kwargs):
> self.eps = eps
> self.x0 = x0
> UserExpression. __init__ (self, **kwargs)
> def eval(self, values, x):
> eps = self.eps
> values[0] = eps/pi/(np.linalg.norm(x-self.x0) **2 + eps** 2)
> values[1] = 0
> 
> def value_shape(self): return (2, )
> 
> delta = Delta(eps=1E-4, x0=np.array([1, 1]), degree=5)
> 
> ```

Hi, Dokken. When I use the Delta function, the computation cost is very large. Is there any way to decrease the computation cost? Thank you very much in advance.

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [December 5, 2024, 10:14am UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799/45 "2024-12-05T10:14:49Z")

</div>

Use the point source that is not a delta function (but a sharp eval), or reduce the domain your are integrating delta over to an area that is close to covering the point source, rather than the whole domain.

---

<div class="post-metadata">

**Author:** ![RR\_rr](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/rr_rr/32/6571_2.png) [@RR\_rr](https://fenicsproject.discourse.group/u/RR_rr)\
**Post date:** [December 5, 2024, 10:26am UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799/46 "2024-12-05T10:26:26Z")

</div>

Thank you. I am going to try it.

---

<div class="post-metadata">

**Author:** ![RR\_rr](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/rr_rr/32/6571_2.png) [@RR\_rr](https://fenicsproject.discourse.group/u/RR_rr)\
**Post date:** [December 12, 2024, 9:25am UTC](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799/47 "2024-12-12T09:25:19Z")

</div>

Hi, Dokken. I reduced the domain where I intergrate the delta function from the whole domain to a subdomain that includes the point source. The results are good and the computation cost drops a lot. Thank you very much for your advice.

[Previous page](https://fenicsproject.discourse.group/t/how-to-apply-a-load-on-a-single-point-or-a-node/4799.md?page=2)
