Skip to content

Commit 84e6616

Browse files
committed
fix html file strange layout
1 parent 6397cf1 commit 84e6616

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

src/poisson_dev_fe.jl

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,28 @@ low_level_manual_gradient_dv_array = lazy_map(Broadcasting(Operation(⋅)),inv_J
571571

572572
# ## A low-level implementation of the residual integration and assembly
573573

574-
# The discretized variational form of the Poisson problem reads as :<br>Find $u_h \in V_h^{\Gamma_D}=\{v_h \in V_h:v_h=g_0 \; on \; \Gamma_D\}$ such that$$a(u_h,v_h)=l(v_h)\quad \forall v_h \in V_h^0$$where $V_h^0=\{v_h \in V_h:v_h=0 \; on \; \Gamma_D\}$.<br> Take $u_h = \hat{u}_h-w_h$ where $w_h \in V_h^0$ and $\hat{u}_h \in V_h^{\Gamma_D}$, then $$a(w_h,v_h)=a(\hat{u}_h,v_h)-l(v_h)\quad \forall v_h,w_h \in V_h^0.$$ Find some $\hat{u}_h$, solve that eqation for $w_h$, then the solution is $$ u_h=\hat{u}_h-w_h. $$ In the integration and assembly process, we first use the `rand` function to assign random values to the free DoFs to form $\hat{u}_h$ (name the randomly fixed DoFs as $\vec{\hat{u}}$). In this particular problem, $l(v_h)$ is obviously zero, so just compute $a(\hat{u}_h,v_h)$ for each element, then assemble the results to obtain the global force vector $\vec{b}$. On the left hand side, compute every element-wise $a(w_h,v_h)$, and assemble them to form global stiffness matrix $\textbf{A}$. Solve the linear system $\textbf{A}\vec{x}=\vec{b}$ for $\vec{x}$, then the final solution for the free DoFs is $$\vec{u}=\vec{\hat{u}}-\vec{x}.$$
574+
# The discretized variational form of the Poisson problem reads as:
575+
# >Find $u_h \in V_h^{\Gamma_D}=\{v_h \in V_h:v_h=g_0 \; on \; \Gamma_D\}$ such that
576+
# >```math
577+
# >(u_h,v_h)=l(v_h)\quad \forall v_h \in V_h^0
578+
# >```
579+
# >where $V_h^0=\{v_h \in V_h:v_h=0 \; on \; \Gamma_D\}$.
580+
#
581+
# Take $u_h = \hat{u}_h-w_h$ where $w_h \in V_h^0$ and $\hat{u}_h \in V_h^{\Gamma_D}$, then
582+
# ```math
583+
# a(w_h,v_h)=a(\hat{u}_h,v_h)-l(v_h)\quad \forall v_h,w_h \in V_h^0.
584+
# ```
585+
#
586+
# Find some $\hat{u}_h$, solve that eqation for $w_h$, then the solution is
587+
# ```math
588+
# u_h=\hat{u}_h-w_h.
589+
# ```
590+
#
591+
# In the integration and assembly process, we first use the `rand` function to assign random values to the free DoFs to form $\hat{u}_h$ (name the randomly fixed DoFs as $\vec{\hat{u}}$). In this particular problem, $l(v_h)$ is obviously zero, so just compute $a(\hat{u}_h,v_h)$ for each element, then assemble the results to obtain the global force vector $\vec{b}$. On the left hand side, compute every element-wise $a(w_h,v_h)$, and assemble them to form global stiffness matrix $\textbf{A}$. Solve the linear system $\textbf{A}\vec{x}=\vec{b}$ for $\vec{x}$, then the final solution for the free DoFs is
592+
593+
# ```math
594+
# \vec{u}=\vec{\hat{u}}-\vec{x}.
595+
# ```
575596

576597
# Let us now create manually an array of `Field`s uₖ that returns the FE function uₕ at each cell, and another array with its gradients, ∇uₖ. We hope that the next set of instructions can be already understood with the material covered so far
577598

0 commit comments

Comments
 (0)