MOOSE program and run problem and change kernel

83 views
Skip to first unread message

Yufeng Dong

unread,
Dec 4, 2016, 6:52:52 PM12/4/16
to moose-users
Dear all,

I am a new user of MOOSE. And when I try to go through a simple example, I met these problems:

1. the website of MOOSE said the run location is  
                                        
                                        cd ~/projects/moose/examples/ex01_inputfile
                                        make -j8
                                        ./ex01-opt -i ex01.i

  which is the location MOOSE is. But I copy them in my Dropbox in order to change conveniently. 
  And I change the new road in the terminal like this in the attached picture. I do not know what is the reason.


2. I find that many basic physical process kernels are already in the MOOSE. I find them in the folder framework>src>kernels. 
   But if I want to change the kernel for my own process, should I copy one kernel and paste in the same folder and change the name?
   Then I could change it as I can?

3. I go through some programs like main.C, ExampleApp.C, ExampleApp.h and I want to understand the content inside. Where should I go to learn?

Maybe my questions are too simple. I will appreciate you guys a lot if you help with that. Thank you very much.

Best Regards,
Yufeng Dong
152.PNG

Daniel Schwen

unread,
Dec 4, 2016, 7:04:48 PM12/4/16
to moose-users
Hello Yufeng,
welcome to MOOSE!

1. Please to not post screenshots of text, they are not searchable and really inconvenient when using mobile devices. 
Almost all commands in your terminal failed because they contain some error. Please familiarize yourself with the basic Linux commands first.

2. No. The suggested way is described here: http://mooseframework.org/create-an-app/ (this will give you a playground to implement your own kernels).

3. Check out the documentation on our website: http://mooseframework.org/documentation/ (we have some C++ materials you could check out, then I suggest going through our tutorial). 

What type of physics do you plan to simulate using MOOSE?
Daniel

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/b23fa243-c3ad-4fef-8dc2-9386584f4b5a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Andrew....@csiro.au

unread,
Dec 4, 2016, 7:05:17 PM12/4/16
to moose...@googlegroups.com

Hi Yufeng,

My suggestion is that you read the "application development" section of the wiki:

http://mooseframework.org/wiki/

MOOSE is not something that you can understand and drive in a few minutes. For instance, when i started i attended a moose training that lasted 3 full days and it went through the first set of slides in the aforementioned section (viz "MOOSE training (Old)").

It is a joy to work using MOOSE, and carefully reading those documents, even if it takes you a few days or a week, will really pay off. Soon you will be solving all sorts of amazing physics with ease!

a

Dear all,


Best Regards,
Yufeng Dong

Yufeng Dong

unread,
Dec 5, 2016, 7:48:23 PM12/5/16
to moose-users
Dear Daniel,

Thank you very much for your help. My main physics requiring MOOSE to conduct is the diffusion problem, actually the heat transfer, moisture diffusion and ion transportation on concrete materials.
I will go through the pages you suggest and if I have questions I will post again. Thanks again.

Best Regards,
Yufeng Dong

Daniel Schwen於 2016年12月4日星期日 UTC-8下午4時04分48秒寫道:

Yufeng Dong

unread,
Dec 5, 2016, 7:52:42 PM12/5/16
to moose-users
Dear Andrew,

Thank you for your reply. Actually I will attend that three-day MOOSE training in December 13-15. And I will go through the "application development" section of the wiki.
If I have new questions I will post. Thanks again.

Best Regards,
Yufeng Dong

andrew.wilkins於 2016年12月4日星期日 UTC-8下午4時05分17秒寫道:

Andrew....@csiro.au

unread,
Dec 5, 2016, 7:58:15 PM12/5/16
to moose...@googlegroups.com
Regarding your physics: i suggest to look at the new PorousFlow module. It does fluid advection, diffusion and dispersion, as well as heat conduction and advection via the fluid. You can track species of chemicals/ions.

a


Ph: +61 7 3327 4497.  Fax: +61 7 3327 4666
Queensland Centre for Advanced Technologies
PO Box 883, Kenmore, Qld, 4069 
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/6478ff46-d1c8-4aad-a308-2465cc79b5db%40googlegroups.com.

Andrew....@csiro.au

unread,
Dec 5, 2016, 7:58:52 PM12/5/16
to moose...@googlegroups.com
Oh you lucky thing! You're going to enjoy it so much.

a


Ph: +61 7 3327 4497.  Fax: +61 7 3327 4666
Queensland Centre for Advanced Technologies
PO Box 883, Kenmore, Qld, 4069 
 
From: moose...@googlegroups.com [mailto:moose...@googlegroups.com] On Behalf Of Yufeng Dong
Sent: Tuesday, 6 December 2016 10:53 AM
To: moose-users <moose...@googlegroups.com>
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/ea887b52-4093-41d7-9ef9-f8c249b06b2b%40googlegroups.com.
Message has been deleted
Message has been deleted

Anil Kunwar

unread,
Dec 5, 2016, 11:08:24 PM12/5/16
to moose-users

Hi Dong Yufeng,
Daniel and Andrew have helped u a lot. Let me write a few basic steps (layman way of understanding MOOSE) :
Step 1:
1. Fundamental MOOSE or Base MOOSE = MOOSE framework which we install from source (same for all MOOSE users). How to is given in http://mooseframework.org/
2. Total MOOSE = MOOSE framework + user application (the user application i.e. forked from stork , given a new nomenclature  and  linked to the Fundamental MOOSE) . How to is given in http://mooseframework.org/


Note: The code changes in Fundamental MOOSE is a part of framework development and is not discussed here.

Step 2:
Beauty of MOOSE framework
a. Fundamental MOOSE framework remains identical for all users if they are of same update status.
b. The Total MOOSE is different for different users because of difference in code commitments in personal application. Most of the user applications created by MOOSE users have named after birds or animals (a tradition).

What is the linkage between fundamental MOOSE and user application?
User application needs to be registered to the MOOSE framework.
a. The fundamental MOOSE provides a form to the user application with title "StorkApp.C.app".  In this form we need to register our added code commitments and compile the personal app each time we register our committed files..  https://github.com/idaholab/ (The word stork will be replaced by the name of our user app.)
b. After we register the user app to MOOSE framework, we can use all the features of the fundamental MOOSE framework through our user app without changing the codes in the base MOOSE and if we need to write newer codes, we can write them similarly in the user app as it has a similar structure (folders and directory structure) like the original MOOSE framework.

As a layman, we can say that MOOSE framework is a core with lot of codes and our user application is an initially empty shell (with the same structure of core). We can write codes in our user app and make the Total MOOSE solve the PDEs as per the Physics and Chemistry. Moreover, if we register all the modules of Base MOOSE framework in our user app, we can run all the examples of MOOSE by copying them in our application directory. So, the principle is " (In order to produce overall change in Total MOOSE , we change the shell and keep the core unchanged)".
As users, we like to solve new physical problems, the code commitments will produce overall change in Total MOOSE and the basic purpose of MOOSE system is to meet this requirement of overall code change by changing the composition of shells (user applications) and keeping the core intact or unchanged. In MOOSE system, principally, all the users have same core but different shells.
The principle of making core intact has a great merit. Also, the differentiation between different shells will prove scientific in adapting to other users' shell or apps. Several user applications can be used with clear understanding as they refer to the same intact core.





So,
Steps
1.  I installed MOOSE (compiled it) .
2. Then i forked the stork and named it as "danphe - named after a bird found in Nepal" (https://github.com/).
3. I registered danphe application to fundamental MOOSE framework (https://github.com/)  which has resulted in Total MOOSE framework.
4. I compiled danphe and run the MOOSE examples from it.
5. When i write newer kernels or other files, i register them to MOOSE framework via DanpheApp.C and recompile danphe. I make suitable input files and run it with ./danphe-opt.








Cheers

Yours  Sincerely,
Anil Kunwar

Reply all
Reply to author
Forward
0 new messages