MCPcopy Create free account
hub / github.com/AMReX-Astro/Castro / ca_deruplusc

Function ca_deruplusc

Source/driver/Derive.cpp:106–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104 }
105
106 void ca_deruplusc(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*ncomp*/,
107 const FArrayBox& datfab, const Geometry& /*geom*/,
108 Real /*time*/, const int* /*bcrec*/, int /*level*/)
109 {
110
111 auto const dat = datfab.array();
112 auto const der = derfab.array();
113
114 amrex::ParallelFor(bx,
115 [=] AMREX_GPU_DEVICE (int i, int j, int k) noexcept
116 {
117
118
119 Real rhoInv = 1.0_rt / dat(i,j,k,URHO);
120
121 eos_rep_t eos_state;
122 eos_state.rho = dat(i,j,k,URHO);
123 eos_state.T = dat(i,j,k,UTEMP);
124 eos_state.e = dat(i,j,k,UEINT) * rhoInv;
125 for (int n = 0; n < NumSpec; n++) {
126 eos_state.xn[n] = dat(i,j,k,UFS+n) * rhoInv;
127 }
128#if NAUX_NET > 0
129 for (int n = 0; n < NumAux; n++) {
130 eos_state.aux[n] = dat(i,j,k,UFX+n) * rhoInv;
131 }
132#endif
133
134 eos(eos_input_re, eos_state);
135
136 der(i,j,k,0) = dat(i,j,k,UMX) / dat(i,j,k,URHO) + eos_state.cs;
137
138 });
139 }
140
141 void ca_deruminusc(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*ncomp*/,
142 const FArrayBox& datfab, const Geometry& /*geom*/,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected