Skip to content

Move AssemblerLib parts to MathLib and ProcessLib#1166

Merged
endJunction merged 6 commits intoufz:masterfrom
endJunction:MoveAsmLibParts
May 2, 2016
Merged

Move AssemblerLib parts to MathLib and ProcessLib#1166
endJunction merged 6 commits intoufz:masterfrom
endJunction:MoveAsmLibParts

Conversation

@endJunction
Copy link
Copy Markdown
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.

Comment thread ProcessLib/Process.h Outdated
#include "BaseLib/ConfigTree.h"
#include "FileIO/VtkIO/VtuInterface.h"
#include "MeshGeoToolsLib/MeshNodeSearcher.h"
#include "MathLib/LinAlg/SparsityPattern.h"
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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. 😄

Comment thread ProcessLib/Process.h Outdated
#include "NumericsConfig.h"
#include "Parameter.h"
#include "ProcessVariable.h"
#include "vtkXMLWriter.h"
Copy link
Copy Markdown
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
Copy Markdown
Member Author

Second attempt for the includes: now absolute minimum strategy.


#ifndef PROCESSLIB_PROCESSUTIL_H
#define PROCESSLIB_PROCESSUTIL_H
#ifndef UTILS_CREATE_LOCAL_ASSEMBLERS_H_
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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 <github@naumov.de>
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
Copy Markdown
Collaborator

👍

@TomFischer
Copy link
Copy Markdown
Member

👍

@endJunction endJunction merged commit bb6f86f into ufz:master May 2, 2016
@endJunction endJunction deleted the MoveAsmLibParts branch May 2, 2016 13:10
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