Skip to content
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

Move AssemblerLib parts to MathLib and ProcessLib #1166

Merged
merged 6 commits into from
May 2, 2016

Conversation

endJunction
Copy link
Member

  • Move SparsityPattern typedef to MathLib; Breaking one small bit of circular dependency.
  • Those parts dealing with creation of the local assemblers belong to the ProcessLib.
  • The GlobalSetup is used in ProcessLib/NumericsConfig.h; so it is moved to ProcessLib too.

The previously ProcessUtils.h is split into two files for createLocalAssemblers and initShapeMatrices both placed in ProcessLib/Utils/. I can imagine that ProcessLib/LocalAssemblerUtils would be a better directory name.

No code changes, just includes and moves.

@@ -20,6 +20,7 @@
#include "BaseLib/ConfigTree.h"
#include "FileIO/VtkIO/VtuInterface.h"
#include "MeshGeoToolsLib/MeshNodeSearcher.h"
#include "MathLib/LinAlg/SparsityPattern.h"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that needed? You already have the compute header.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed the include list using include-what-you-use tool.

@chleh
Copy link
Collaborator

chleh commented Apr 27, 2016

As far as I can remember, you also wanted to

  • change LocalToGlobalIndexMap (the dofSize...() methods, s.t. it is not necessary anymore to have a pointer to the DOF table in the MatrixSpecifications.
  • move SerialExecutor to BaseLib. Otherwise my extrapolation PR will work against your efforts.

Maybe those changes will entail many small adjustments, so it's OK when you do them in separate PRs. But I find it always hard to see from your individual piece-by-piece PRs, how far your progress is and what you have planned to do until you have finished. So could you please open an issue with a (rather) complete list of what is left to do until the circular dependencies are resolved?

@endJunction
Copy link
Member Author

As I have written in the description, there are no changes to the code in this PR.
Where to move the executors is still an open discussion, we didn't make a decision on Monday.

I shall create a list of problems regarding circular dependencies.

@chleh
Copy link
Collaborator

chleh commented Apr 27, 2016

I admit you cought me out not reading your introductory comment carefully enough 😄 (Although I can vaguely remember your "no code changes" phrase. Anyway, my critisism still holds. 😄

#include "NumericsConfig.h"
#include "Parameter.h"
#include "ProcessVariable.h"
#include "vtkXMLWriter.h"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did any compilation fail because we didn't have this long list? If not, I'd prefer to keep the list of includes short, because when changing some internals something in Priocess now we will always have to check, e.g., if #include <iterator> is still needed.
If you want to make something more consistent, I suggest adding the header issue to @norihiro-w's list (#1167) and make some cleanup-days, maybe end of may.

@endJunction
Copy link
Member Author

Second attempt for the includes: now absolute minimum strategy.

@@ -6,15 +6,16 @@
* http://www.opengeosys.org/project/license
*/

#ifndef PROCESSLIB_PROCESSUTIL_H
#define PROCESSLIB_PROCESSUTIL_H
#ifndef UTILS_CREATE_LOCAL_ASSEMBLERS_H_
Copy link
Collaborator

@norihiro-w norihiro-w Apr 28, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

prefix PROCESSLIB_ ✅

@ogsbot
Copy link
Member

ogsbot commented Apr 28, 2016

Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1725/

@ogsbot
Copy link
Member

ogsbot commented Apr 28, 2016

Jenkins: OGS-6/Mac-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Mac-PRs/1610/

@ogsbot
Copy link
Member

ogsbot commented Apr 28, 2016

Jenkins: OGS-6/Gui/Gui-Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Gui/job/Gui-Linux-PRs/1694/

@ogsbot
Copy link
Member

ogsbot commented Apr 28, 2016

Jenkins: OGS-6/Win-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Win-PRs/1602/

@ogsbot
Copy link
Member

ogsbot commented Apr 28, 2016

Jenkins: OGS-6/Gui/Win-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Gui/job/Win-PRs/1580/

@endJunction
Copy link
Member Author

I had to rebase it, because the extrapolation test was not present. The last three commits do fix the extrapolation test.

Updating includes and use some fwd.decls.
It is more related to the NumericsConfig than to the DOF table.

Signed-off-by: Dmitri Naumov <[email protected]>
Creation of local assemblers belongs to the processes.
This slightly reduces included amount of code.
This is only used in local assembler implementation.
Clarifies content of that file.
@norihiro-w
Copy link
Collaborator

👍

@TomFischer
Copy link
Member

👍

@endJunction endJunction merged commit bb6f86f into ufz:master May 2, 2016
@endJunction endJunction deleted the MoveAsmLibParts branch May 2, 2016 13:10
@ogsbot
Copy link
Member

ogsbot commented Jun 19, 2020

OpenGeoSys development has been moved to GitLab.

See this pull request on GitLab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants