-
Notifications
You must be signed in to change notification settings - Fork 15
Adding essential BC elimination documentation #341
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @mlstowell !
| Symbol | Description | | ||
|--------|-------------| | ||
| $D_0$ | The zero matrix | | ||
| $D_1$ | Matrix with ones on the diagonal entries associates with essential DoFs and zeros elsewhere | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
associates --> associated
|--------|-------------| | ||
| $D_0$ | The zero matrix | | ||
| $D_1$ | Matrix with ones on the diagonal entries associates with essential DoFs and zeros elsewhere | | ||
| $D_K$ | Matrix with $A_\{ii}$ on the diagonal entries associates with essential DoFs and zeros elsewhere | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
associates --> associated
| $D_K$ | Matrix with $A_\{ii}$ on the diagonal entries associates with essential DoFs and zeros elsewhere | | ||
| $C_1$ | Matrix $(I - D_1)$ where $I$ is the identity matrix | | ||
|
||
Note that MFEM does actually not form these matrices. They are merely |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does actually not --> does not actually
|
||
$$\begin{align\*} | ||
A &\rightarrow C_1 A C_1 + D_p \\\\ | ||
b &\rightarrow C_1 b - A D_1 x_\{bc} + D_p x_\{bc} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is missing a bracket
enumeration defined in | ||
[linalg/operator.hpp](https://github.com/mfem/mfem/blob/master/linalg/operator.hpp#L47) | ||
with values `DIAG_ZERO`, `DIAG_ONE`, or `DIAG_KEEP` which respectively | ||
replace the diagonal entries with 0, 1, or leaves them unchanged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding the diagonal policy, this applies only to the legacy and serial assembly. Since HypreParMatrix
doesn't support DIAG_KEEP
, pbilinearform
doesn't support it either. Maybe we should clarify it somewhere. MF/PA/FA operators also don't provide this option.
|
||
For a block system: | ||
|
||
$$\left(\begin{array}{3} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this equation (and the other 2 above) are not referred to in the text, their numbering can be omitted.
b_1 \rightarrow & C_1 b_1 - A_\{11} D_1 x_\{bc} - A_\{12} D_1 y_\{bc} + D_p x_\{bc}, \\\\ | ||
b_2 \rightarrow & C_1 b_2 - A_\{21}D_1 x_\{bc} - A_\{22} D_1 y_\{bc} + D_p y_\{bc}, \\\\ | ||
b_3 \rightarrow & b_3 - A_\{31}D_1 x_\{bc} - A_\{32}D_1 y_\{bc} | ||
\end{align\*}$$ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above,
a &\rightarrow C_1 a - A D_1 x_\{bc} + B D_1 y_\{bc} + D_p x_\{bc}\\\\ | ||
b &\rightarrow C_1 b - A D_1 y_\{bc} - B D_1 x_\{bc} + D_p y_\{bc} | ||
\end{align\*}$$ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is also missing a bracket. It should be
thanks for reviewing, @psocratis ! |
This is an expanded and improved description of the essential BC elimination scheme mentioned in issue #5017.