ukaea / PROCESS

PROCESS is a systems code at UKAEA that calculates in a self-consistent manner the parameters of a fusion power plant with a specified performance, ensuring that its operating limits are not violated, and with the option to optimise to a given function of these parameters.
https://ukaea.github.io/PROCESS/
MIT License
36 stars 11 forks source link

Issue 999 New coil module for stellarator.f90 - [merged] #2124

Closed jonmaddock closed 1 year ago

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 3, 2020, 08:59

_Merges issue-999-stcoilsupdate -> develop

Merge request to: issue #999

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 3, 2020, 09:09

@stuartmuldrew

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 9, 2020, 16:20

@jlion I'm a little confused by beta. beta is an iteration variable in PROCESS, but I see you've added a constraint equation 84 on the lower value and in line 761 of stellarator.f90 it is calculated. Is beta no longer going to be an iteration variable? I guess the constraint is on beta-betaft, so this is not the same as the lower bound on beta.

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 9, 2020, 16:39

Commented on source/fortran/iteration_variables.f90 line 774

Is this reviving an old iteration variable? Otherwise it should have a new number.

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 9, 2020, 16:41

Right now my defining parameters are $n_e$, $t_e$ and $B$ (those are the ones I iterate). $\beta$ is a result of them, fixed by the equality:

$(n_e t_{en}+ n_i t_{in})/B^2$

I have removed $\beta$ as an iteration parameter and instead constrain it by certain boundaries (upper and lower inequality constraints) since it gives a more robust convergence this way. I have not adapted the testfile IN.DAT file to this change ($\beta$ is still iteration paramater there which makes no sense, since it gets overwritten). I can change the IN.DAT if you say the change can stay that way.

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 9, 2020, 16:48

Commented on source/fortran/iteration_variables.f90 line 774

I will remove this instead of moving it and include later (in a new commit) if then still needed.

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 9, 2020, 16:56

added 1 commit

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 10, 2020, 08:42

@jlion I would add to the comment in global variables saying beta is not an iteration variable for stellarators. Also maybe call a level 3 error if it selected.

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 10, 2020, 08:52

Commented on source/fortran/numerics.f90 line 289

This inequality should be the other way round.

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 10, 2020, 09:12

Commented on source/fortran/stellarator.f90 line 373

?

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 10, 2020, 09:26

Commented on source/fortran/stellarator.f90 line 777

betap is in the output file as zero as it isn't calculated. Are you happy with this?

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 10, 2020, 09:27

Commented on source/fortran/stellarator.f90 line 1947

See comment

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 10, 2020, 09:33

Commented on source/fortran/stellarator.f90 line 2173

See comment

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 10, 2020, 10:01

added 1 commit

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 10, 2020, 10:13

Commented on source/fortran/stellarator.f90 line 373

These lines seem to switch off tokamak specifics (solenoid, pf coils, pulses etc.). Since this is hardcoded I am not really sure if something new was introduced in the shared modules which might be needed to be switched off here as well.

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 10, 2020, 10:14

Commented on source/fortran/numerics.f90 line 289

right. can you change it?

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 10, 2020, 10:18

Commented on source/fortran/stellarator.f90 line 1947

This was 0 before if I am not mistaken. I set clgsmass = 0.2D0*aintmass ! Very simple approximation for the gravity support. as measured from the Helias5-b reactor study (https://www.sciencedirect.com/science/article/pii/S0920379613000446)

I am not sure what gsmass is and if I need to set it?

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 10, 2020, 10:19

Commented on source/fortran/stellarator.f90 line 2173

I would like to keep this comment in because the casing thickness is a problem which need to be addressed in further commits.

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 10, 2020, 12:40

Commented on source/fortran/stellarator.f90 line 777

Yes it is not used anywhere else anyway. It might need to be included later when we start looking at stellarators with large bootstrap current but for now setting betap does not make much sense (if I am not mistaken).

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 08:32

Commented on source/fortran/numerics.f90 line 289

changed this line in version 4 of the diff

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 08:32

added 1 commit

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 08:32

Commented on source/fortran/numerics.f90 line 289

Done

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 08:33

Commented on source/fortran/stellarator.f90 line 373

Ok, I'll add this to the comment.

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 08:45

Commented on source/fortran/stellarator.f90 line 373

changed this line in version 5 of the diff

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 08:45

added 1 commit

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 13:55

@jlion Ok. If you sort iteration variable 43 and add a level 3 error if beta is used as iteration variable, then I am happy to merge this in.

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 11, 2020, 13:58

Yes alright, could you point me maybe to a another case where a level 3 error is raised in PROCESS so I can adapt this?

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 11, 2020, 14:15

If you look in utilities/errorlist.json, you will see the list of PROCESS errors. You need to increase n_errortypes by 1 and then add a new one onto the end of the list (remembering to add a comma to the end of the previous line). The level is recorded in there. Level 3 is the most severe and instantly stops the code.

To call the error add:

call report_error(245)

to the fortran where you want the error to be triggered. Here, 245 means call error 245 in the errorlist.json.

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 12, 2020, 13:42

Commented on source/fortran/iteration_variables.f90 line 774

changed this line in version 6 of the diff

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 12, 2020, 13:42

added 1 commit

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 13, 2020, 08:54

I added your comments in the last commit if you could have a look

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 13, 2020, 13:24

There are currently merge conflicts with develop, so I cannot merge it. Please can you merge develop into your branch.

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 16, 2020, 09:49

added 115 commits

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 16, 2020, 09:58

added 1 commit

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 16, 2020, 11:10

resolved all discussions

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 16, 2020, 11:10

Are you happy for me to merge this now?

jonmaddock commented 4 years ago

In GitLab by @jlion on Mar 16, 2020, 11:12

From my side it can be merged yes.

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 16, 2020, 11:17

added 1 commit

Compare with previous version

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 16, 2020, 11:32

merged

jonmaddock commented 4 years ago

In GitLab by @stuartmuldrew on Mar 16, 2020, 11:32

mentioned in commit f45368838cfd0f1fad479ef94d6b48ab5b9116c6